Cómo utilizar matlab para el análisis FFT
. Además, FFT puede extraer el espectro de una señal
, lo que a menudo se utiliza para el análisis de espectro.
Si bien muchas personas saben qué es una FFT, para qué se puede usar y cómo realizarla, no saben qué significan los resultados de una FFT ni cómo decidir cuál usar.
Cuantos puntos realizar FFT.
Ahora hablaré sobre el significado físico de los resultados de FFT según la experiencia práctica.
Después de que el ADC muestree la señal analógica, se convertirá en una señal digital. El teorema de muestreo nos dice que la frecuencia de muestreo debe ser mayor que el doble de la frecuencia de la señal.
La señal digital muestreada se puede transformar mediante FFT. N puntos de muestreo,
Después de FFT, se pueden obtener los resultados de FFT de N puntos.
Supongamos que la frecuencia de muestreo es Fs, la frecuencia de la señal es F y el número de puntos de muestreo es N, entonces el resultado de FFT
es un número complejo compuesto por N puntos . Cada punto corresponde a un punto
de frecuencia. La moda de este punto es la característica de amplitud de este valor de frecuencia. ¿Cómo se relaciona esto específicamente con la amplitud de la señal original? Suponiendo que el valor máximo de la señal original es A, entonces el módulo de cada punto en el resultado de FFT (excepto el primer punto, que es el componente de CC) es A
multiplicado por N/2. El primer punto es el componente DC, cuyo módulo es N veces el componente DC
. La fase de cada punto es la fase de la señal en esa frecuencia.
El primer punto representa el componente de CC (es decir, 0 Hz) y el siguiente
punto que comienza desde el último punto N (en realidad no existe, este es el supuesto N-ésimo +1 punto,
se puede considerar como dividir el primer punto por la mitad y mover la otra mitad hasta el final) representa
la frecuencia de muestreo Fs, que dividida en partes iguales es N partes iguales , cada punto se divide uniformemente en N partes iguales, cada punto se divide uniformemente en N partes iguales y cada parte igual es la fase de la señal a esta frecuencia. Fs se divide uniformemente en N partes iguales y la frecuencia de cada punto aumenta en secuencia
. Por ejemplo, la frecuencia del punto n es Fn=(n-1)*Fs/N.
Como se puede ver en la fórmula anterior, Fn se puede resolver a la frecuencia de Fs/N. Si la frecuencia de muestreo Fs es 1024 Hz y el número de puntos de muestreo es 1024, se puede resolver a 1 Hz. .
La frecuencia de muestreo de 1024 puntos es 1024 Hz, que es exactamente 1 segundo. Siempre que se utilice 1 segundo, es decir, si se muestrea la señal de 1 segundo
y se realiza FFT, el resultado se puede analizar a 1 Hz si se utiliza la señal de 2 segundos
<; Se muestrea p> y se realiza FFT, el resultado puede interpretarse como 0,5 Hz.Si quieres mejorar la resolución de frecuencia, debes aumentar el número de puntos de muestreo, es decir, el tiempo de muestreo. La resolución de frecuencia es inversamente proporcional al
tiempo de muestreo.
Supongamos que el punto n después de la FFT está representado por un número complejo a+bi, entonces el módulo del número complejo es
An=raíz a*a+b*b, y la fase es Pn=atan2( b,a). Con base en los resultados anteriores,
se puede calcular que la expresión de la señal correspondiente a n puntos (n≠1, n<=N/2) es:
An/ (N/2)* cos(2*pi*Fn*t+Pn), es decir, 2*An/N*cos(2*pi*Fn*t+Pn).
Para la señal en n=1 punto, es decir, la componente CC, la amplitud es A1/N.
Debido a la simetría de los resultados de FFT, normalmente solo utilizamos la primera mitad de los resultados,
es decir, los resultados son inferiores a la mitad de la frecuencia de muestreo.
Bien, después de hablar durante mucho tiempo, todavía estoy confundido al mirar la fórmula. Aquí hay una señal real
para explicar.
Supongamos que tenemos una señal que contiene un componente DC de 2V, una señal AC con una frecuencia de 50Hz,
una fase de -30 grados y una amplitud de 3V, y una señal AC con una frecuencia de 50Hz 75Hz,
señal AC con una fase de 90 grados y una amplitud de 1,5V. La expresión matemática es la siguiente:
S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi *90 /180)
El parámetro cos en la fórmula es radianes, por lo que -30 grados y 90 grados deben convertirse a radianes respectivamente.
Muestreamos esta señal a una frecuencia de muestreo de 256 Hz, para un total de 256 puntos.
Según el análisis anterior, Fn=(n-1)*Fs/N, podemos saber que el intervalo entre cada dos
puntos es de 1 Hz, y la frecuencia del El enésimo punto es n-1. Nuestra señal
tiene 3 frecuencias: 0Hz, 50Hz y 75Hz, con picos en los puntos 1, 51 y
respectivamente.
Punto 76, mientras que el resto de puntos deberían estar cercanos a 0.
Veamos el módulo de los resultados de FFT como se muestra.
Resultados de FFT de la Figura 1
En la figura podemos ver que los valores cercanos a los puntos 1, 51 y 76 son grandes. Recuperamos los datos cerca de estos tres puntos y echemos un vistazo más de cerca:
Punto 1: 512+0i
Punto 2: -2.6195E-14 - 1.4162E-13i
Punto 3: -2.8586E-14 - 1.1898E-13i
Punto 50: -6.2076E-13 - 2.1713E-12i
51 puntos: 332.55 - 192i
52 puntos: -1.6707E-12 - 1.5241E-12i
75 puntos: -2.2199E-13 - 1.0076E-12i
76 puntos: 3.4315E-12 + 192ititle('Señal sin procesar');
figura;
Y = fft(S,N); %Realizar transformación FFT
< p); >Ayy = (abs(Y)); %Encontrar el móduloplot(Ayy(1:N)); %Mostrar el resultado del valor del módulo FFT original
title('FFT) valor del módulo');
figura;
Ayy=Ayy/(N/2 % convertido a amplitud real
Ayy(1)=Ayy( 1 )/2;
F=([1:N]-1)*Fs/N;% convertido al valor de frecuencia real
plot(F(1:N/2 ) ,Ayy (1:N/2));% muestra los resultados del módulo FFT convertido
title('diagrama de amplitud-frecuencia');
figura;
Pyy=[1:N/2];
para i="1:N/2"
Pyy(i)=fase(Y(i)); Calcular fase
Pyy(i)=Pyy(i)*180/pi; %convertir a ángulo
fin;
plot(F(1:
plot(F(1: N/2),Pyy(1:N/2)); %Mostrar diagrama de fases
title('Diagrama de fase-frecuencia'); p>
Después de leer esto, entenderás el análisis armónico