数字信号系统课程设计-语音信号的数字滤波--IIR数字滤波器的冲激响应不变法设计.doc_第1页
数字信号系统课程设计-语音信号的数字滤波--IIR数字滤波器的冲激响应不变法设计.doc_第2页
数字信号系统课程设计-语音信号的数字滤波--IIR数字滤波器的冲激响应不变法设计.doc_第3页
数字信号系统课程设计-语音信号的数字滤波--IIR数字滤波器的冲激响应不变法设计.doc_第4页
数字信号系统课程设计-语音信号的数字滤波--IIR数字滤波器的冲激响应不变法设计.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计 任 务 书专 业通信工程班 级1班姓 名傅辰星设 计 起 止 日 期2010-6-272010-7-1设计题目:语音信号的数字滤波iir数字滤波器的冲激响应不变 法设计 设计任务(主要技术参数):1. 语音信号的采样录音(、n);2. 语音信号的频谱分析();3. 语音信号的加噪();4. 数字滤波器的设计(,滤波器的阶数);5. 滤波结果输出及效果分析();指导教师评语:成绩: 签字:年 月 日1课程设计说明书 no.17 语音信号的数字滤波iir数字滤波器的双线性变换法设计一、课程设计的目的通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。并能够对设计结果加以分析。二、设计步骤 1.语音信号的采集 利用windows系统采集 (1)按“开始程序附件娱乐录音机”的顺序操作打开windows系统中的录音机软件(2)用麦克风录入自己的声音信号并保存成文件文件名为f0858109.wav采样速率fs=22.05khz时间长度t=3.90s 2.语音信号的频谱分析 (1)将上一步骤中保存下来的语音信号文件“f0858109.wav”复制到计算机装有matlab软件的磁盘中相应matlab目录中的“work”文件夹中 (2)双击桌面上matlab软件的快捷图标,打开matlab软件 (3)在菜单栏中选择“filenewm-file”或是点击快捷按钮,打开m文件编辑器 (4)在m文件编辑器中输入相应的指令将自己的语音信号导入matlab工作台图像输出如图1: 图1 原始语音信号 (5)使用matlab编辑m文件实现语音信号的截短编写matlab编码实现对shaoyan.wav语音的截取处理,截取范围为5000到23000。代码如下:close allclear allclcs, fs,nbaits=wavread(f0858109.wav); l=18000;s1=s(5000:22049);%sound(s1,fs,nbaits);s1=fft(s1); %对s1 傅里叶变换figure(1) %弹出第一个框,显示处理信号和频谱subplot(311)plot(s1)title(截短语音信号);wavwrite(s1,fs,s1.wav); %把截短信号读错为s1.wavsubplot(312)plot(abs(s1) %对s1截短信号做频谱,并输出图像title(截短语音信号频谱);subplot(313);k=0:22049;detf=fs/22050; %计算频率分辨率,并赋值给变量detfplot(k(1:11025)*detf,abs(s1(1:11025) %绘制信号s1的实际幅频特性(正频率段)title(单边带信号频谱); 频谱分析在上图中,第一个图为对语音信号的截取处理;第二个图是信号的fft结果,其横坐标的具体值是x(k)中的序号k;第三个图是确定滤波频率范围的参考图,其横坐标的具体值应当是遵循dft定义式和频率分辨率求得的: 当k等于0时, ,从数字角频率上看,对应的正好是即直流的位置,也就是说,在取滤波频段时,当将主要能量保留,其余频段部分的信号滤除。相当于是信号的实际频谱采样,而又是连续时间语音信号的采样。的每两个相邻取值之间的频率间隔大小对应到语音信号的频谱中去,其频率间隔大小正好是称频率分辨率,其中fs=22050khz,l=18000 由于是遵循dft定义式和频率分辨率求得,表示的是滤波频率的范围,下图是单边带频谱,目的是来确定声音主要能量带以及通带频率 fp和阻带频率fst。 其中 kl=4200,kh=7000 3.滤波器的设计:根据以上iir数字滤波器设计方法及要求,下面运用双线性变换法基于matlab设计一个iir带通滤波器,通带截止频率fp=4200*1.225=5145hz ,阻带截止频率fst=7000*1.225=8575;通带最大衰减p=2db;阻带最小衰减s=20db。 双线性变换法的基本原理:双线性变换法实际上是将整个频率轴上的频率范围压缩到-/t/t之间,再用转换到z平面上。也就是说,第一步先将整个s平面压缩映射到s1平面的-/t/t一条横带里;第二步再通过标准变换关系z=将此横带变换到整个z平面上去。这样就使s平面与z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象。模拟滤波器的系统函数一般具有无限带宽,为使映射后不发生频谱混叠,就必须将的频谱从无限频率范围分布压缩至有限范围。若设新的频率变量为,根据频谱不混叠的条件,以为变量的频谱必须分布在的频率范围内。实现频谱压缩的数学关系式为 (1)式中c为一正常数。当从经0至变化时,则从经0至变化,式(1)为非线性单值映射,其逆关系则为 (2)为了求出满足上式的复频域映射关系,设与和对应的复频率变量分别为s和,给式(2)两边同乘以j,用s置换,用置换,有或 (3)式(3)显示,映射至平面后,以为变量的系统函数是的有理函数,因而正好能使用标准映射关系映射到z平面,从而有 上式称之为双线性变换公式,它建立了s平面与z平面之间的变换关系,且能够将有双线性变换的复频率平面映射若用表示数字角频率,与式(7.6-4)对应的频率关系式为(5)式(5)对每一有惟一的与之对应,因而数字滤波器的响应在形状上与模拟滤波器的一致,二者极值点的数目一定相同。理转换为有理。 设计巴特沃斯模拟滤波器即滤波器的阶数为63db截止频率为12个极点均匀分布在以零为圆心,以为半径的圆上。为保证滤波器稳定,只取左半平面的十个极点。即为:,。 模拟滤波器的系统函数为用双线性变换法将模拟滤波器数字化为数字滤波器 数字滤波器的系统函数为: 4.叠加噪声 (1)在matlab 中添加如下代码:实现信号的加噪以及加噪后的频谱图s2=awgn(s1,20);wavwrite(s2,fs,s2.wav);figure(3)subplot(311);plot(s1);title(截短语音信号);subplot(312);plot(s2);title(加噪后语音信号);subplot(313);s2=fft(s2);plot(abs(s2);title(加噪后信号频谱); 计算机随即产生的噪声指令为:awgn()所加的噪声为10。图7是加噪声音和截断信号的对比,和加噪的声音频谱。 (2)对信号进行低通滤波 iir数字滤波器的主要程序:y, fs,nbits=wavread(s1.wav ); wp=0.47* pi;ws=0.78 *pi; fp=5145;fs=22050;n11,wn11=buttord(wp,ws,2,30,s); b11,a11=butter(n11,wn11,s); %求s域的频率响应的参数 num11,den11=bilinear(b11,a11,0.5); %双线性变换实现s域到z域的变换 h,w=freqz(num11,den11); %根据参数求出频率响应figure(3)plot(w*22050*2/pi,abs(h);legend(用butter设计);n = length (y) ; %求出语音信号的长度noise=awgn(s1,10); %随机函数产生噪声 s=fft(s1); %傅里叶变换 (3)对信号进行低通滤波iir数字滤波器的主要程序: z11=filter(num11,den11,s1);sound(z11);m11=fft(z11); %求滤波后的信号figure(5) subplot(411);plot(abs(s2),g);title(滤波前信号的频谱);grid;subplot(412);plot(abs(m11),r);title(滤波后信号的频谱); grid;subplot(413);plot(s2);title(滤波前信号的波形); grid;subplot(414);plot(z11);title(滤波后的信号波形);wavwrite(z11,fs,z11.wav);soundview(z11.wav) 3、 设计结果与分析 1.比较滤波前(含噪声信号的文件)和滤波后的语音信号效果 figure(7) subplot(311) plot(s1); title(加噪之前信号图); subplot(312) plot(s2); title(加噪后语音信号); subplot(313); plot(z11);title(滤波器处理之后信号图); 2.计算滤波前后的信噪比(可以用能量比来进行计算)信噪比,即snr(signal to noise ratio)又称为讯噪比,狭义来讲是指放大器的输出信号的电压与同时输出的噪声电压的比,常常用分贝数表示。设备的信噪比越高表明它产生的杂音越少。一般来说,信噪比越大,说明混在信号里的噪声越小,声音回放的音质量越高,否则相反。广义讲信噪比即音源产生最大不失真声音信号强度与同时发出的噪音强度之间的比率,是衡量音箱、耳机等发音设备的一个重要参数。“信噪比”一般用分贝(db)为单位,信噪比越高表示滤波器的滤波的效果越好。计算公式snr=s/n=s2=wavread(s2.wav);s2=fft(s2);detf=fs/length(s1);omp=2*pi*2100;omst=2*pi*3400;n,omc=buttord(omp,omst,2,20,s);b,a=butter(n,omc,s)bz,az=bilinear(b,a,fs)k=0:length(s2)-1;z=exp(-j*2.*k*pi/length(s2);m=(n:-1:0)-n-1;z1=zeros(length(z),n);for i=1:n+1 z1(:,i)=z.m(i);endnum=z1*bz;dem=z1*az;hk=num./dem;y=s2.*hk;y=real(ifft(y);wavwrite(y,fs,y.wav)y0=s1.*hk;y0=real(ifft(y0);plot(y);en1=sum(s2-s1).2);%加噪后的噪声功率es=sum(s1.2);%信号的功率snr1=10*log10(es/en1); %加噪后信噪比es1=sum(y0.2);%滤波后的信号功率en2=sum(y-y0).2);%滤波后的噪声功率snr2=10*log10(es1/en2); %滤波后的信噪计算可得信噪比:snr1=6.1729snr2=12.716 3. 滤波效果分析 (1)主观评价 通过在matlab中运行soundview(s2.wav);和soundview(z11.wav);听取加噪后的语音信号和滤噪后的语音信号进行比较,发现噪声被滤除大部分,但仍有部分,有些不足。(2)客观评价 通过计算snr1=6.1729db,snr2=12.716dbsnr1snr2由此本次课程设计的滤波后的语音信号的信噪比为6.3437db,说明此课程设计所设计的语音信号的数字滤波iir数字滤波器的双线性法设计的巴特沃思滤波器成功的将20db的加噪声的滤音频掉。四、设计体会通过数字带通滤波器的设计,熟悉了matlab的运行环境,掌握了很多matlab语言在数字信号处理中一些基本库函数的调用和编写基本程序等应用;熟悉了滤波器设计的一般原理,对滤波器有了更深层次的认识;学会了数字高通滤波器设计的一般步骤;加深了对滤波器设计中产生误差的原因以及双线性变换法优缺点的理解。 实验使我更加扎实的掌握了有关数字信号处理的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论