Red de conocimiento informático - Aprendizaje de programación - ¿Qué significa fftshift en matlab?

¿Qué significa fftshift en matlab?

La función de ftshift es hacer que las imágenes de las partes del semieje positivo y negativo sean simétricas alrededor de sus respectivos centros. Dado que los datos derivados directamente de fft no corresponden a la frecuencia, fftshift puede corregir esto

La siguiente es una descripción de fftshift del archivo de ayuda de Matlab:

Y = fftshift(X) Reorganizar las salidas de fft, fft2 y fftn moviendo el componente de frecuencia cero al centro de la matriz. Ayuda a visualizar la transformada de Fourier donde el componente de frecuencia cero está en el medio del espectro. Para vectores, ftshift mueve el componente de frecuencia cero al centro de la matriz de vectores.

Ejemplo:

claro;

clc;

t=0:0.001:2

n; =0:0.002; y fftn, mueve el componente de frecuencia cero al centro de la matriz.

n=2001;

Fs=1000;

Fc=200;

x=cos(2*pi*Fc*; t);

y1=fft(x);

y2=fftshift(y1);

f=(0:2000)*Fs/n- Fs/2;

Mantener;

plot(f, abs(y1),'r')

plot(f, abs(y2),' b')