⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demofer.m

📁 This matlab program compares the results of different window design methods for finite impulse respo
💻 M
字号:
function demofer()
clear all
close all
N=20;
n=0:N-1;
fs=0.5;
f=-fs:2*fs/512:fs-fs/512;

wd=boxcar(N);
whm=hamm(N);
whn=hann(N);
wba=bart(N);
wbl=black(N);

figure(1)
subplot(321),stem(n,wd),grid,title('dreptunghiulara')
subplot(322),stem(n,whm),grid,title('Hamming')
subplot(323),stem(n,whn),grid,title('Hanning')
subplot(324),stem(n,wba),grid,title('Bartlett')
subplot(325),stem(n,wbl),grid,title('Blackman')

wd = wd/sum(wd);
whm=whm/sum(whm);
whn=whn/sum(whn);
wba=wba/sum(wba);
wbl=wbl/sum(wbl);

Wd=fftshift(abs(fft(wd,512)));
Whm=fftshift(abs(fft(whm,512)));
Whn=fftshift(abs(fft(whn,512)));
Wba=fftshift(abs(fft(wba,512)));
Wbl=fftshift(abs(fft(wbl,512)));

figure(2)
plot(f,Wd,'b',f,Whm,'r',f,Whn,'c',f,Wba,'g',f,Wbl,'m'),grid
xlabel('frecventa normata'),ylabel('amplitudine')
legend('dreptunghiulara','Hamming','Hanning','Bartlett','Blackman')

figure(3)
plot(f,20*log10(Wd),'b',f,20*log10(Whm),'r',f,20*log10(Whn),'c',...
    f,20*log10(Wba),'g',f,20*log10(Wbl),'m'),grid
xlabel('frecventa normata'),ylabel('amplitudine (dB)'), axis([-0.5 0.5 -200 0])
legend('dreptunghiulara','Hamming','Hanning','Bartlett','Blackman')

function w=hamm(N)
n=0:N-1;
w=0.54-0.46*cos(2*pi/N*(n'+0.5));

function w=hann(N)
n=0:N-1;
w=0.5-0.5*cos(2*pi/N*(n'+0.5));

function w=bart(N)
n=0:N-1;
w=1-2/(N+1)*abs(n'-(N-1)/2);

function w=black(N)
n=0:N-1;
w=0.42-0.5*cos(2*pi/N*(n'+0.5))+0.08*cos(4*pi/N*(n'+0.5));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -