- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用脉冲响应不变法设计的切比雪夫I型IIR滤波器优秀培训书
——使用脉冲响应不变法设计并联型切比雪夫I型滤波器 讲解要点 要点1:语音信号的录制及频谱分析 要点2 :加噪声音信号的频谱分析 要点3 :设计滤波器绘制并联型结构 要点4 :绘制滤波器并联型结构图 要点5 :噪声信号的过滤及频谱分析 使用脉冲响应不变法设计的并联型切比雪夫I型滤波器设计流程图: 要点1 内容:使用录音软件录制一段8K的语音信号,使用MATLAB的wavread(x,fs,bits)函数读入,并且绘制出语音信号的波形,然后分析其频谱特点 返回 录制的语音信号: 要点1 使用MATLAB的源程序见下图,语音信号的波形图如右图: [x,fs,bits]=wavread(ldd.wav);? % 输入参数为文件的全路径和文件名,输出的第一个参数是每个样本的值,fs是生成该波形文件时的采样率,bits是波形文件每样本的编码位数。 sound(x,fs,bits); ? % 按指定的采样率和每样本编码位数回放 N=length(x); ? % 计算信号x的长度 t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率 x=x;? X=abs(fft(x)); ? ?% 对原始信号和加噪信号进行fft变换,取幅度谱 X=X(1:N/2); ? ? ?% 截取前半部分 deltaf=fs/N; ? ? ? ? % 计算频谱的谱线间隔 f=0:deltaf:fs/2-deltaf; ? ? ? ?% 计算频谱频率范围 要点2 内容:在原始语音信号上加入单频3000Hz的噪声信号,绘制其频谱图,观察加噪前后的频谱变化,并使用sound(y,fs,bits)函数播放加噪后的语音对比前后变化 返回 加噪后语音: 要点2 在原始语音信号上加入单频干扰信号,fn=3000Hz,其频谱如右图: 从频谱图可以明显看出在3000Hz处有尖锐的单峰,与干扰频率一直;通过sound(y,fs,bits)回放该录音,可以明显的听到尖锐的单频噪鸣声 要点3 内容:数字滤波器的设计指标设为通带截止频率fn=3000,fp=fn-200=2800Hz,阻带频率fc=fn-50=2950HZ,通带波纹Rp=1,阻带波纹As=16dB 返回 滤波器设计源程序如下: fs=8000;fn=3000;fp=fn-200;fc=fn-50; %定义通带和阻带截止频率 Rp=1;As=16; % 定义通带波纹和阻带衰减 wp=(fp/fs)*2*pi; ws=(fc/fs)*2*pi; %计算对应的数字频率 T=1; %定义采样间隔 OmegaP=wp/T;OmegaS=ws/T; %截止频率线性变换 Ripple=10^(-Rp/20);Attn=10^(-As/20); %转化为绝对形式 [cs,ds]=afd_chb1(OmegaP,OmegaS,Rp,As); %计算滤波器阶数和截止频率 [b,a]=imp_invr(cs,ds,T); % 脉冲响应不变法得到滤波器系统函数分子分母系数 [db,mag,pha,grd,w]=freqz_m(b,a); %验证滤波器是否达到指定性能 delta=[1,zeros(1,99)]; ha=filter(b,a,delta); %计算脉冲响应 要点3 运行程序得到的滤波器响应图如右图: 在命令行分别输入wp/pi,ws/pi验证滤波器是否满足设计标准,得到: wp/pi= 0.7000 ?ws/pi=0.7375 要点4 内容:完成滤波器后在窗体命令行输入[C,B,A]=dir2par(b,a)可以得出并联型结构的系数C B A; 返回 得到的并联型结构系数如图: 要点4 根据并联型结构系数以及滤波器阶数可以画出滤波器的结构图如右图: 要点5 内容:使用设计好的滤波器对噪声信号进行过滤,滤波器的调用方法如下: 返回 y_fil=filter(b,a,y); % IIR滤波器对信号y进行滤波处理,其中b,a为上面设计好的滤波器参数。 Y_fil=abs(fft(y_fil)); % 对fft变换,取幅度谱 Y_fil=Y_fil(1:N/2); % 截取前半部分 使用sound(y_fil,fs,bits) 语句回放过滤后的语音: 要点5 右图为运行程序得到的3中语音信号的频谱图,从图中可以看出语音频谱的前后变化: 要点6 课设过程中语音的变化: 1.原始语音信号: 2.加入噪声的语音: 3.过滤后的语音: * *
文档评论(0)