¿Qué amable persona puede proporcionar el programa fuente del algoritmo FFT de 256 puntos? Urgente por favor
%cftbyfft.m
%Transformada de Fourier de funciones continuas
%Este programa completa la Transformada Rápida de Fourier, como se explica en Matlab 6.5, p174, el programa cftbyfft.m en el Ejemplo 4.13.3.2-1
% Agrega el algoritmo de base dos basado en el programa original agrega Algoritmo; para forzar números complejos "pequeños" a 0 (consulte la página 172 de "Dominar Matlab6.5")
% El programa fzzyfft.m en el ejemplo 4.13.2.3-3
% El Programa fzzyfft.m en el ejemplo 4.13.2.3-3
% Este programa necesita ingresar los parámetros de los datos de forma de onda de tiempo (wt, t), es decir, el vector de resultado de la prueba wt y el vector de coordenadas de tiempo correspondiente t; seleccione la bandera de entrada para determinar el programa para mostrar gráficos
% Nota: El espectro de amplitud calculado por este programa es muy preciso, pero el espectro de fase es muy inexacto, por lo que es Se recomienda que los datos de salida sean AW y f, y que la fase Ph sea Completa
if nargin==2;flag=0;end %La frecuencia de muestreo es fs=N/T;flag=0, dibuje el diagrama de rango de potencia media [0, fs/2], que es la frecuencia efectiva Rango de análisis (teorema de muestreo) espectro de un solo lado, amplitud AW multiplicada por 2
%flag=1, dibuja una frecuencia simétrica diagrama de rango [-fs/2, +fs/2], la amplitud AW es el valor original
%flag=2,; dibuja todo el rango de frecuencia [0, fs] y la amplitud AW es el valor original
N=longitud(t);
T=t(longitud(t))-t(1); T/(N-1); %
NFFT=2^nextpow2(N); %Algoritmo básico dos
if N W0=fft(wt, N); el %W0 obtenido con este comando se transformará inversamente, es decir, ift(W0) puede obtenerse de la forma de onda de tiempo original W=dt*W0; z_W=find(abs(W)<1.0e-10); producido por operaciones de longitud de palabra limitada W(z_W)=zeros(length(z_W),1 % Fuerza que estos pequeños números complejos devuelvan 0 W(z_W)=zeros); (length(z_W),1); forzar que estos pequeños números complejos devuelvan 0 W(z_W)=zeros(length( z_W),1 %Forzar que estos pequeños números complejos devuelvan 0 p> df=1/T; % n=0:1:(N-1); % Calcule el espectro de amplitud y fase a continuación si bandera==0 n=0:(N/2-1); W=2*W(1:N/2); elseif flag= =1 n=-N/2: (N/2-1); W=fftshift(W); else n=0:(N-1); end f=n*df % frecuencia AW=abs(W); % amplitud del módulo PW=W.*conj(W); % espectro de potencia Ph=ángulo(W) ; %Fase (no recomendado porque la fase es muy inexacta) if nargout==0 %Llamar a la función cftbyfft sin solicitar datos de salida figura(2) plot(f,AW).grid,xlabel('frecuencia f');ylabel('espectro de amplitud |w(f)|') figura(3) plot(f,Ph); grid,xlabel('frecuencia f');ylabel('espectro de fase Ph') figura(4) plot(f,PW); grid,xlabel('frecuencia f');ylabel('función de densidad espectral de potencia PDF') end Matlab ha sido compilado