网站大量收购独家精品文档,联系QQ:2885784924

matlab在数字信号处理中的应用数学自然科学专业资料.ppt

matlab在数字信号处理中的应用数学自然科学专业资料.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab在数字信号处理中的应用数学自然科学专业资料

1.窗函数 在MATLAB中产生窗函数十分简单: 1)矩形窗(Rectangle Window) 调用格式:w=boxcar(n),根据长度n产生一个矩形窗w。 2)三角窗(Triangular Window) 调用格式:w=triang(n),根据长度n产生一个三角窗w。 3)汉宁窗(Hanning Window) 调用格式:w=hanning(n),根据长度n产生一个汉宁窗w。 4)海明窗(Hamming Window) 调用格式:w=hamming(n),根据长度n产生一个海明窗w。 5)巴特里特窗(Bartlett window) 调用格式:w=bartlett(N),根据长度n产生一个巴特里特窗w。 6)布拉克曼窗(Blackman Window) 调用格式:w=blackman(n),根据长度n产生一个布拉克曼窗w。 7)恺撒窗(Kaiser Window) 调用格式:w=kaiser(n,beta),根据长度n和影响窗函数旁瓣的β参数产生一个恺撒窗w。 8)切比雪夫窗:w=chebwin(n,r) 调用格式:w=chebwin(n,r),根据长度n和旁瓣幅值在主瓣以下的分贝数r产生一个切比雪夫窗w。 * 2.基于窗函数的FIR滤波器设计 【例12-9】用窗函数设计一个线性相位FIR低通滤波器,并满足性能指标:通带边界的归一化频率wp=0.6,阻带边界的归一化频率ws=0.7,阻带衰减不小于30dB,通带波纹不大于2dB。假设一个信号,其中f1=20Hz,f2=45Hz。信号的采样频率为100Hz。试将原信号与通过滤波器的信号进行比较。 由题意,阻带衰减不小于30dB,选取汉宁窗,因为汉宁窗的第一旁瓣相对主瓣衰减为31dB,满足滤波要求。在窗函数设计法中,要求设计的频率归一化到0~π区间内,Nyquist频率对应于π,因此通带和阻带边界频率为0.6π和0.7π。 * 程序如下: wp=0.6*pi;ws=0.7*pi; %滤波器边界频率 wdelta=ws-wp; %过渡带宽 N=ceil(8*pi/wdelta) %根据过渡带宽等于汉宁窗函数主瓣宽求得滤波器所用窗函数的最小长度 Nw=N; wc=(wp+ws)/2; %截止频率在通带和阻带边界频率的中点 n=0:N-1; alpha=(N-1)/2; %求滤波器的相位延迟 m=n-alpha+eps; %eps为MATLAB系统的精度 hd=sin(wc*m)./(pi*m); %求理想滤波器脉冲响应 win=hanning(Nw); %采用汉宁窗 h=hd.*win; %在时间域乘积对应于频率域的卷积 b=h; figure(1) [H,f]=freqz(b,1,512,100); %采用100Hz的采样频率绘出该滤波器的幅频和相频响应 subplot(2,1,1),plot(f,20*log10(abs(H))) xlabel(频率/Hz);ylabel(振幅/dB);grid on; subplot(2,1,2),plot(f,180/pi*unwrap(angle(H))) xlabel(频率/Hz);ylabel(相位/^o);grid on; * %impz(b,1); %可采用此函数给出滤波器的脉冲响应 %zplane(b,1); %可采用此语句给出滤波器的零极点图 %grpdelay(b,1); %可采用此函数给出滤波器的群延迟 f1=20;f2=45; %检测输入信号含有两种频率成分 dt=0.02;t=0:dt:3; %采样间隔和检测信号的时间序列 x=sin(2*pi*f1* t)+cos(2* pi*f2* t); %检测信号 %y=filter(b,1,x); %可采用此函数给出滤波器的输出 y=fftfilt(b,x); %给出滤波器的输出 figure(2) subplot(2,1,1), plot(t,x),title(输入信号) %绘输入信号 subplot(2,1,2),plot(t,y) % 绘输出信号 hold on; plot([1 1]*(N-1)/2*dt,ylim, r) %绘出延迟到的时刻

文档评论(0)

seunk + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档