MATLAB中的窗函数程序

MATLAB中的窗函数程序,第1张

程序:

wlp = 0.35*pi

whp = 0.65*pi

wc = [wlp/pi,whp/pi]

N = ceil(8/0.15)

n=0:N-1 

window= hanning(N)

[h1,w]=freqz(window,1)

subplot(411) 

stem(window)%画窗函数

axis([0 60 0 1.2])

grid

xlabel('n') 

title('Hanning窗函数')

subplot(412)   

plot(w/pi,20*log(abs(h1)/abs(h1(1))))  %画Hanning窗频谱

axis([0 1 -350 0])

grid

xlabel('w/pi')

ylabel('幅度(dB)') 

title('Hanning窗函数的频谱')

hn = fir1(N-1,wc, hanning (N))%基于窗函数的 FIR 滤波器

[h2,w]=freqz(hn,1,512)   %freqz是用离散傅里叶变换的标准公示计算的 fft使用快速傅里

subplot(413)  

stem(n,hn) 

axis([0 60 -0.25 0.25])

grid

xlabel('n')

ylabel('h(n)') 

title('Hanning窗函数的单位脉冲响应')

subplot(414) 

plot(w/pi,20*log(abs(h2)/abs(h2(1))))

grid

xlabel('w/pi')

ylabel('幅度(dB)')

title('滤波器相对幅度响应')

结果:

wp=0.2*piws=0.3*pi

wd=ws-wp %计算过渡带宽度

N=ceil(8*pi/wd)%根据汉宁窗计算所需h(n)长度去大于等于x的最小整数

wn=(0.2+0.3)*pi/2 %计算理想理想低通滤波器通带截止频率

b=fir1(N,wn/pi,hanning(N+1)) %调用fir1计算低通FIR数字滤波器

freqz(b,0.25,512)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7715045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存