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. :(
Die Signale sind noch hier zu sehen, hab vorher das Uploaden übersehen.
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 :-)
@Christian: In den von dir geposteten zwei Signalen sehe ich keine 4 Signalkomponenten. Im ersten sind 3 und im zweiten 2. Wie willst du hier deine 4 Harmonischen finden?
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).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.