Frequenzen aus Signal ermitteln

Gast #3462546
Lesenswert?

Hi!

Ich muss in Matlab aus 2 vorgegebenen Signalen die Frequenzen ermitteln 
(jedes enthält 4 harmonische Komponenten). Dafür muss ich die DFT 
verwenden und Fensterungen vornehmen.

Die ungefensterten Signale seht ihr im Anhang.

Meine Fragen:
a) Muss ich einfach das Signal mit
filter(Num_Window,1,Signal);
falten und dann die DFT bilden?

b) Wie wähle ich diese Fenster, ich verstehe das mit der Fensterlänge 
nicht richtig. Muss ich mir die Impulsantwort des Fensters anschauen? 
Ist ein breites Fenster eines, bei dem die Nebenkeulen der Impulsantwort 
höhere Amplituden haben, oder ist mit breitem Fenster gemeint, dass die 
Bandbreite (fcut) sehr hoch ist?
Hab von Kollegen gehört, dass in diesem Fall das sogenannte 
"Kaiser-Fenster" sehr nützlich sein soll.
Wie würdet ihr hier das erste Fenster designen in fdatool.

Bin da ziemlich ratlos beim Thema Signalanalyse, das ist wirklich mein 
Sargnagel im bisherigen Studium. :(
Angehängte Dateien:
#3462560
Lesenswert?

Haengt von der Lage der 2 signale ab, was die ideale herangehensweise 
ist.

Wenn du z.b. sicher sein kannst, dass auf den 1. Peak immer die 1. 
Harmonische von dem 2. Signal liegt reicht es die ersten 2 peaks zu 
finden. Natuerlich nur, wenn keine anderen fremden signale im Spektrum 
liegen.

Sonst kannst du 2* eine fft hintereinander ausfuehren, also etwa so: 
fft(abs(fft)) nennt sich cepstrum, um die grundschwingungen zu finden.

Fenstern schadet nicht, sonst kannst du spectral leakage effekte und 
evtl. bei dc einen peak haben.

Wenn das Signal evtl. durch einen vorgeschalteten Mischer verschoben 
ist, solltes du es vorher noch nach DC runtermischen, sonst klappts 
nicht mit dem cepstrum, da die harmonischen keine harmonischen sind :-)
Gast #3467471
Lesenswert?

Hier habe ich die genaue Angabe meines Problems:
Das Beispiel behandelt die Analyse von Signale mit Hilfe der DFT. Es 
sind 2 Signale (Signal- und Zeitvektor) gegeben im File signals.mat. 
Jedes Signal beinhaltet 4 harmonische Komponenten (4 Frequenzen).
Es sollen diese Frequenzen in Hz bestimmt werden.
Anschließend soll folgendes gemacht werden:
1. Untersuchung des Signals im Zeitbereich (Gibt es eine passende 
Fensterlänge)
2. Frequenzbereich: Untersuchung mit unterschiedlichen Fenstern). 
Diskussion dreier unterschiedlicher Fenster.

Ich weiß nun nicht, ob ich da die STFT verwenden muss?
zB. beim 1. Signal mit

y1 = Signal1.y;
fs = 1000;
N = 2^13;
spectrogram(,hamming(N),N-1,N,fs,'yaxis');

Oder funktioniert das mit der DFT auch, also mit

yf = 1/length(y1)*abs(fft(y1));
% Verschieben zur korrekten f-Darstellung
yf_shift = fftshift(yf);
% x-Achse definieren
k = -(length(yf)-1)/2:1:(length(yf)-1)/2;

Ich kriege in beiden Fällen komplett andere Frequenzen raus, weiß nicht, 
was da richtig sein soll.
Bei der STFT Frequenzen im Bereich 5,6,10 Hz, bei der DFT im Bereich um 
50 Hz (siehe oberhalb).
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren