%% Ventanas espectrales %% Rectangular (Boxcar) clear all;close all; N=[32 64]; M=500; %% Numero de punto a calcular figure; for i=1:length(N) w=ones(1,N(i)); [H,F]=freqz(w,1,M,1); H = H/N(i); %% Normalizar por N subplot(2,1,i);plot(F,20*log10(abs(H)));grid; xlabel(['Frecuencia discreta normalizada (f/fm)']); ylabel(['Módulo normalizado |W(F)|/N']); title(['Ventana rectangular N=' num2str(N(i))]); axis([0 0.5 -50 1]); end pause; print -depsc2 rect_window_rf; close; %% Bartlett (Triangular) clear w wind; wind = 'bartlett'; figure; for i=1:length(N) eval(['w=' wind '(N(i));']); [H,F]=freqz(w,1,M,1); H = H/N(i); %% Normalizar por N subplot(2,1,i);plot(F,20*log10(abs(H)));grid; xlabel(['Frecuencia discreta normalizada (f/fm)']); ylabel(['Módulo normalizado |W(F)|/N']); title(['Ventana ' wind ' N=' num2str(N(i))]); axis([0 0.5 -90 1]); end pause; eval(['print -depsc2 ' wind '_window_rf;']); close; %% Hanning clear w wind; wind = 'hanning'; figure; for i=1:length(N) eval(['w=' wind '(N(i));']); [H,F]=freqz(w,1,M,1); H = H/N(i); %% Normalizar por N subplot(2,1,i);plot(F,20*log10(abs(H)));grid; xlabel(['Frecuencia discreta normalizada (f/fm)']); ylabel(['Módulo normalizado |W(F)|/N']); title(['Ventana ' wind ' N=' num2str(N(i))]); axis([0 0.5 -110 1]); end pause; eval(['print -depsc2 ' wind '_window_rf;']); close; %% Hamming clear w wind; wind = 'hamming'; figure; for i=1:length(N) eval(['w=' wind '(N(i));']); [H,F]=freqz(w,1,M,1); H = H/N(i); %% Normalizar por N subplot(2,1,i);plot(F,20*log10(abs(H)));grid; xlabel(['Frecuencia discreta normalizada (f/fm)']); ylabel(['Módulo normalizado |W(F)|/N']); title(['Ventana ' wind ' N=' num2str(N(i))]); axis([0 0.5 -110 1]); end pause; eval(['print -depsc2 ' wind '_window_rf;']); close; %% Blackman clear w wind; wind = 'blackman'; figure; for i=1:length(N) eval(['w=' wind '(N(i));']); [H,F]=freqz(w,1,M,1); H = H/N(i); %% Normalizar por N subplot(2,1,i);plot(F,20*log10(abs(H)));grid; xlabel(['Frecuencia discreta normalizada (f/fm)']); ylabel(['Módulo normalizado |W(F)|/N']); title(['Ventana ' wind ' N=' num2str(N(i))]); axis([0 0.5 -110 1]); end pause; eval(['print -depsc2 ' wind '_window_rf;']); close; N=32;n=0:N-1; linestyle=[' -r';' -b';' -k';' -m';'--r';'--b';'--k';'--m']; k=1; plot(n,ones(1,N),linestyle(1,:),n,bartlett(N),linestyle(2,:),n,hanning(N),linestyle(3,:),n,hamming(N),linestyle(4,:),n,blackman(N),linestyle(5,:)); grid; axis([-inf inf 0 1.2]); legend('Rectangular', 'Bartlett','Hanning','Hamming','Blackman'); pause;print -depsc2 spec_window; close;