数字信号处理课程设计语音信号的数字滤波——FIR数字滤波器的汉宁窗函数设计.doc

上传人:sccc 文档编号:4874477 上传时间:2023-05-20 格式:DOC 页数:13 大小:476.51KB
返回 下载 相关 举报
数字信号处理课程设计语音信号的数字滤波——FIR数字滤波器的汉宁窗函数设计.doc_第1页
第1页 / 共13页
数字信号处理课程设计语音信号的数字滤波——FIR数字滤波器的汉宁窗函数设计.doc_第2页
第2页 / 共13页
数字信号处理课程设计语音信号的数字滤波——FIR数字滤波器的汉宁窗函数设计.doc_第3页
第3页 / 共13页
数字信号处理课程设计语音信号的数字滤波——FIR数字滤波器的汉宁窗函数设计.doc_第4页
第4页 / 共13页
数字信号处理课程设计语音信号的数字滤波——FIR数字滤波器的汉宁窗函数设计.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数字信号处理课程设计语音信号的数字滤波——FIR数字滤波器的汉宁窗函数设计.doc》由会员分享,可在线阅读,更多相关《数字信号处理课程设计语音信号的数字滤波——FIR数字滤波器的汉宁窗函数设计.doc(13页珍藏版)》请在三一办公上搜索。

1、课程设计说明书NO.13语音信号的数字滤波FIR数字滤波器的(汉宁)窗函数设计设计题目:语音信号的数字滤波FIR数字滤波器的(汉宁)窗函数设计一、课程设计的目的通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。并能够对设计结果加以分析。二、设计步骤1.语音信号的采集按“开始程序附件娱乐录音机”的顺序操作打开Windows系统中的录音机软件用麦克风录入自己的声音信号并保存成文件(语音信号的长度不得少于1秒)记录以下内容:语音信号文件保存的文件名为“liang.wav”、格式PCM,8位,单声道,如图1和图2所示。语音信号的采样速率为8

2、000Hz/s。语音信号的时间长度为2.14s。图1语音信号的采集图2 原始语音信号2.语音信号的频谱分析将上一步骤中保存下来的语音信号文件“*.wav”复制到计算机装有Matlab软件的磁盘中相应Matlab目录中的“work”文件夹中双击桌面上Matlab软件的快捷图标,打开Matlab软件在菜单栏中选择“FilenewM-File”或是点击快捷按钮,打开m文件编辑器在m文件编辑器中输入相应的指令将自己的语音信号导入Matlab工作台。程序部分首先用语音文件将自己的录音导入,指令为wavread(),本设计中为waveread(liang.wav),然后将处理后的语音信号导出,指令为:wa

3、vwrite(liang.wav);本设计中录入的是单声道语音。一般情况下录入的双声道语音信号中(主要指.wav文件)右导入交保存为变量后,其变量应当是一个二列的二维数组,其中每一列对应一个声道,数组的行数等于采样速率与时间的乘积(即单声道的采样点数);本课程设计过程中的语音原始信号存为“liang.wav”;截短后的输出语音为:“jieduan.wav”;叠加噪声后的语音为“jiazao.wav”。具体程序段见小标题,频谱分析如下图3。图3截短后语音信号的时域和频域波形如上图3所示,上面的图是原始声音截去大部分空白后的截短语音,这样有利于频谱分析;中间的图是截短后的声音在频域的分析,首先对语

4、音进行采样,采样频率大于信号最高频率的2倍即可。不过有突变的信号的最高频率趋于无穷;按足够大的采样速率,本设计中采样频率为8000HZ/s; 采样后,进行离散傅立叶变换,就可以得到一组数据,(通常是复数),就生成频谱分析图,具体用到的编程函数为fft()。 横坐标为离散的频谱,纵坐标为其对应的幅值,便可以画出其离散的频谱图通过对图的分析,确定滤波频率范围的参考,其横坐标的具体值应当是遵循DFT定义式和频率分辨率求得的: (当k等于0时)从数字角频率上看,幅值最大处对应的正好是0HZ,即直流分量,也就是说,在取滤波频段时,应当取能量最集中的频段的语音信号,其余频段部分的信号滤除。因此主要能量保留

5、的频段为:频率分辨率3.滤波器设计确定滤波器的参数: 通带截止频率fp=800Hz阻带截止频率fst=1400Hz;1=2dB,2=30dB;采样频率fs=8000HZ/s;滤波器类型:FIR(汉宁窗函数);根据图3得到=1100Hz,(把1500Hz2000Hz那部分的峰值当做噪声与气流处理)。3dB截止频率过渡带。因为滤波器加的是汉宁窗,所以从教材上查表可得,即滤波器阶数 所以在设计滤波器时阶数N=42FIR加窗滤波器中参数根据语音信号的特点滤波器设计为低通滤波器。设计滤波器:给定要求的频率响应选择汉宁窗,表达式为 滤波器的时域系统函数为叠加噪声如下如4所示,是语音信号加20dB的高斯白噪

6、声后的时域和频域波形。图4叠加噪声后的语音信号的时域和频域波形如上图所示,上面的图是加噪声后的时域波形,可见明显出现了很多毛刺,产生一个长度为N的噪声信号;中间图是对时域信号的频谱分析,下图是单边带的频谱分析。然后将噪声信号迭加到语音信号上,导出,保存成“liang.wav”文件,具体导出的函数是wavewrite(liang.wav)。求系统的单位采样响应h(n)所设计的滤波器是用单位采样响应h(n)表示的,可以利用带噪声语音与h(n)做时域卷积即:。下图5所示为hanning窗及系统的hd和hn函数特性图。 图5汉宁窗的函数特性图滤波器进行滤波如下图6所示,为滤波器滤波后的效果图。第一个是

7、滤波后的原始语音信号,第二个和第三个是滤波后的频谱图。由于参数中已经设定3dB截止频率为1100Hz,所以频率在1100Hz的信号均被滤除,达到滤波效果。图6 滤波后的波形图设计过程中完整的代码clearclose all%设参数!*fc=1100N=42s,fs=wavread(liang.wav);%*jieduan=s(1000:1000+fs-1);wavwrite(jieduan,fs,jieduan.wav)jiazao=awgn(jieduan,20);叠加噪声wavwrite(jiazao,fs,jiazao.wav)JIEDUAN=fft(jieduan)JIAZAO=fft

8、(jiazao)sound(jieduan)sound(jiazao)figure(1)plot(s)figure(2)subplot(311)plot(jieduan)title(截短后时域波形)subplot(312)plot(abs(JIEDUAN)title(截短波形FFT幅频特性);subplot(313); %在图形窗口第三个分区中画图plot(abs(JIEDUAN); %绘制被处理的语音信号的实际幅频特性(正频率段)axis(0,4000,0,700)title(实际幅频特性);figure(3)subplot(311); %把一个图形窗口中分三行一列,在第一个分区中画图plo

9、t(jiazao); %绘制被处理的语音信号的时间域波形title(滤波前信号波形);subplot(312); %在图形窗口第二个分区中画图plot(abs(JIAZAO); %绘制被处理的语音信号的FFT幅频特性grid;title(FFT幅频特性);subplot(313); %在图形窗口第三个分区中画图plot(abs(JIAZAO); %绘制被处理的语音信号的实际幅频特性(正频率段)grid;axis(0,4000,0,700)title(实际幅频特性);figure(4)N=42;wn=hanning(N);subplot(311)plot(wn)grid;title(汉宁窗函数特

10、性);wc=2*fc*pi/8000;alpha=(N-1)/2;n=0:N-1;hd=wc*sin(wc*(n-alpha)./(wc*pi*(n-alpha);subplot(312)stem (hd)grid;title(系统的hd函数特性);hn=hd.*wn;subplot(313)plot(hn)grid;title(系统的hn函数特性);y=conv(jiazao,hn);figure(5)Y=fft(y)subplot(311); %把一个图形窗口中分三行一列,在第一个分区中画图plot(y); %绘制被处理的语音信号的时间域波形gridtitle(滤波后信号波形);subpl

11、ot(312); %在图形窗口第二个分区中画图plot(abs(Y); %绘制被处理的语音信号的FFT幅频特性axis(0,8000,0,700)grid;title(滤波后信号的FFT幅频特性);subplot(313); %在图形窗口第三个分区中画图plot(abs(Y); %绘制被处理的语音信号的实际幅频特性(正频率段)grid;axis(0,4000,0,700)title(滤波后信号的实际幅频特性);sound(y)noise=jiazao-jieduanwavwrite(noise,fs,noise.wav)y2=conv(jieduan,hn)noise2=y-y2wavwrit

12、e(noise2,fs,noise2.wav)%SNR1*%滤波前信噪比计算*sjieduan=sum(jieduan.2)nn1=sum(noise.2)SNR1=10*log10(sjieduan/nn1)disp(SNR1)%滤波后信噪比计算*sjiazao=sum(y.2)nn2=sum(noise2.2)SNR2=10*log10(sjiazao/nn2)disp(SNR2)三、设计结果与分析滤波的效果可以通过信噪比来反映。信噪比(SNR)是信号的功率与噪声功率的比值,信噪比越高说明滤波效果越好。本实验中的信噪比由小标题设计过程中后边的代码实现。由Matlab软件的计算得:没加噪声的

13、语音信号的信噪比为:SNR1=14.4354 dB滤波后的语音信号的信噪比为:SNR2=20.5825 dB通过比较两个信噪比的大小知道,此滤波器基本达到性能要求。因为符合要求的滤波器滤波后的语音信号的信噪比要高于未加噪声的语音信号的信噪比。通过比较由程序代码输出的语音文件“liang.wav”和“lvbohou.wav”,虽然达到滤波的要求,但滤波效果不是很好。原因可能是参数选取的不好,跟实际的语音还有一定的差距;另一方面是原语音信号不好,在录制时本身就由于外界干扰而自带噪声。若想达到好的滤波效果,最好保证语音信号的效果,尽量减少外界干扰,把噪声降到最低限度。再就是可以先多进行几次频谱分析,

14、选取能量集中的波形最好的一次来准确确定各参数。图8滤波前后语音信号时域波形 通过两图的前后对比,加噪声的时域信号波形的包络周围长满了小刺刺,滤波后的语音信号的包络与其相比明显变得圆滑了许多。 图9为滤波前后语音信号频域波形对比图: 通过图9中滤波前后语音信号频域波形的对比可知滤波器的设计基本上满足了要求。图9滤波前后语音信号频域波形图四、设计体会通过本次程序设计,掌握了各种滤波器的设计思想以及基本方法,对常用数字滤波器的设计和实现有了更全面的了解,特别是FIR滤波器的设计与实现。掌握数字信号处理的工作原理及设计方法;了解了MATLAB软件的基本使用方法,并能熟练操作MATLAB软件,会用常用的

15、函数并会编写、调试程序,会利用软件对滤波器仿真;掌握利用数字滤波器对信号进行滤波的方法,并能够对设计结果加以分析,会分析滤波器的滤波效果,基本到达了本次课程设计的目的。同时,增加了对仿真软件的认识,学会对各种软件的使用方法并能熟练操作,加深理解滤波器的概念,初步掌握系统的设计方法,培养独立完成工作的能力。真真切切地把理论联系于实际,有了亲自动手的机会,当中也不免遇到各种问题,但通过与老师、同学沟通,共同讨论研究,问题得到了很好的解决,如何调试、改进方案等。不仅让我体会到集体力量的伟大,团队合作的重要性。总之,课程设计训练是重要的教学环节,通过对FIR滤波的设计和实现,达到进一步完善对数字信号处理课程学习的效果。五、参考文献1程佩青.数字信号处理教程M.北京:清华大学出版社,2009.2黄顺吉.数字信号处理及应用M.北京:国防工业出版社,1998.3 陈永彬.数字信号处理M.南京:南京工学院出版社,1987.4 王世一.数字信号处理M.北京:北京理工大学出版社,1997.5Oppenheim A V,Schafer R W.Digital Signal Processing.Prentice Hall,IncM,1975.6Brigham E O.The Fast Fourier TransformM.Prentice Hall Inc,1974.沈 阳 大 学

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号