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

上传人:M****1 文档编号:561106282 上传时间:2022-12-06 格式:DOC 页数:13 大小:472KB
返回 下载 相关 举报
数字信号处理课程设计语音信号的数字滤波FIR数字滤波器的汉宁窗函数设计_第1页
第1页 / 共13页
数字信号处理课程设计语音信号的数字滤波FIR数字滤波器的汉宁窗函数设计_第2页
第2页 / 共13页
数字信号处理课程设计语音信号的数字滤波FIR数字滤波器的汉宁窗函数设计_第3页
第3页 / 共13页
数字信号处理课程设计语音信号的数字滤波FIR数字滤波器的汉宁窗函数设计_第4页
第4页 / 共13页
数字信号处理课程设计语音信号的数字滤波FIR数字滤波器的汉宁窗函数设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

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

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

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

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

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

5、滤波器设计确定滤波器的参数: 通带截止频率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(jiazao)soun

8、d(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); %把一个图形窗口中分三行一列,在第一个分区中画图plot(jiazao); %

9、绘制被处理的语音信号的时间域波形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(汉宁窗函数特性);wc=2*fc*p

10、i/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(滤波后信号波形);subplot(312); %在图

11、形窗口第二个分区中画图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-y2wavwrite(noise2,fs,

12、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软件的计算得:没加噪声的语音信号的信噪比为:SN

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

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号