Programa FFT del método de extracción de frecuencia

clc;

borrar todo

Ingrese f, N, T, si agregar ceros (cuántos ceros agregar)

f =input('Frecuencia de entrada de la señal: f\n');

N=input('Número de puntos de entrada: N\n'); input( 'Tiempo de muestreo de entrada: T\n');

flag=input('¿Agregar cero a la señal de muestreo o no? yes=1 no=0\n'); >if (bandera)

ZeroNum=input('Ingrese el número de ceros\n');

else

ZeroNum=0; p> end

Generar una señal, la señal es la señal original. La señal es la señal de muestreo.

fs=1/T;

t=0: 0.00001: T*(N ZeroNum-1);

señal=sin(2*pi*); f*t);

t2=0: T: T*(N CeroNum-1

señal2=sin(2*pi*f*t2); >

if (flag)

signal2=[signal2 zeros(1, ZeroNum)];

end

Dibuja la señal original y la señal muestreada.

figura;

subplot(2, 1, 1);

plot(t, señal

xlabel('Tiempo); (s)');

ylabel('Amplitud(voltios)');

título('Singnal');

espera; >

subplot(2, 1, 1);

stem(t2, señal2, 'r');

eje([0 T*(N ZeroNum) -1 1]);

Realice la transformación FFT, calcule su amplitud, normalícela y dibuje el espectro.

Y = fft(señal2,N);

Pyy = Y.* conj(Y

Pyy=(Pyy/suma(Pyy)) *2;

f=0: fs/(N-1): fs/2

subtrama(2, 1, 2); bar(f, Pyy(1:N/2));

xlabel('Frecuencia(Hz)');

ylabel('Amplitud'); p>title('Componentes de frecuencia de la señal');

axis([0 fs/2 0 ceil(max(Pyy))])

grid on;