Das finden der phase von auf MATLAB FFT
Ich kenne die Grundfrequenz mein signal und daher kenne ich auch die anderen Frequenzen der Obertöne, die ich verwendet habe, die FFT-Befehl zur Berechnung der ersten 5 Obertöne (für die ich kennen Ihre Frequenzen). Ist es möglich für mich zu finden, die die phase mit diesem verfügbar Informationen?
Bitte beachten Sie, ich kann sicher sein, dass mein signal ist nur eine Periode und müssen daher zur Berechnung der phase über die bekannte Frequenz-Werte.
Code scheint zu funktionieren:
L = length(te(1,:)); % Length of signal
x = te(1,:);
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(x,NFFT)/L;
f = linspace(1,5,5);
Y(1) = []; % First Value is a sum of all harmonics
figure(1);
bar(f,2*abs(Y(1:5)), 'red')
title('Transmission Error Harmonics')
xlabel('Harmonic')
ylabel('|Y(f)|')
figure(2);
bar(f,(angle(Y(1:5))))
title('Transmission Error Phase')
xlabel('Harminic')
ylabel('Angle (radians)')
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Allgemeinen Ihre Fourier-transformierte ist Komplex. Also, wenn Sie wollen, um zu wissen, die phase von einer bestimmten Frequenz berechnet man mit tan(ImaginaryPart(Probe)/RealPart(Muster -)). Dies kann erfolgen, indem Winkel().
In Ihrem Fall, dass Sie
1 - fft berechnen()
2 - berechnen Winkel() für alle Proben der FFT oder für die Proben, die Sie interessiert (d.h. die Probe auf Ihre grundlegenden frequency/harmonic)
EDIT: ein Beispiel wäre
EDIT2: Man sollte nicht mischen, bis eine echte geschätzten Spektrum [das ist im Grunde abs(fft())] mit einer komplexen fourier-transformierte [das ist nur fft()]. Aber als Sie schrieb, dass Sie berechnet die fft dich ich denke, Sie haben das "original" FFT mit komplexen zahlen.
Beachten Sie, dass wenn Ihre fundamentalen Frequenz ist nicht exakt periodisch in der fft-Länge, dann wird die resultierende phase (atan2(xi,xr)) werden flipping-Zeichen zwischen benachbarten bins aufgrund der Diskontinuität zwischen den fft-enden (oder aufgrund der rechteckigen Fenster-Faltung), wodurch die phase interpolation interessant. So möchten Sie vielleicht, um re-Referenz der phase Schätzung um die Mitte der fft, indem Sie eine fftshift (pre, indem Sie shift/drehbare Elemente, oder per post, durch änderung der Beschilderung in der fft-Ergebnis), so dass phase interpolation Aussehen vernünftig.