- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语音信号的数字滤波
——FIR数字滤波器的(汉宁)窗函数设计
设计题目:语音信号的数字滤波——FIR数字滤波器的(汉宁)窗函数设计
一、课程设计的目的
通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。。
1.语音信号的采集
⑴按“开始->程序->附件->娱乐->录音机”的顺序操作打开Windows系统中的录音机软件
⑵用麦克风录入自己的声音信号并保存成文件(语音信号的长度不得少于1秒)
⑶记录以下内容:
语音信号文件保存的文件名为“liang.wav”、格式PCM,8位,单声道,如图1和图2所示。
语音信号的采样速率为8000Hz/s。
语音信号的时间长度为2.14s。
图1语音信号的采集
图2 原始语音信号
2.语音信号的频谱分析
⑴将上一步骤中保存下来的语音信号文件“*.wav”复制到计算机装有Matlab软件的磁盘中相应Matlab目录中的“work”文件夹中
⑵双击桌面上Matlab软件的快捷图标,打开Matlab软件
⑶在菜单栏中选择“File->new->M-File”或是点击快捷按钮,打开m文件编辑器
⑷在m文件编辑器中输入相应的指令将自己的语音信号导入Matlab工作台。
程序部分首先用语音文件将自己的录音导入,指令为wavread(),本设计中为waveread(’liang.wav’)‘liang.wav’);本设计中录入的是单声道语音。一般情况下录入的双声道语音信号中(主要指.wav文件)右导入交保存为变量后,其变量应当是一个二列的二维数组,其中每一列对应一个声道,数组的行数等于采样速率与时间的乘积(即单声道的采样点数);
本课程设计过程中的语音原始信号存为“liang.wav”;
截短后的输出语音为:“jieduan.wav”;
叠加噪声后的语音为“jiazao.wav”。
具体程序段见小标题⑹,频谱分析如下图3。
图3截短后语音信号的时域和频域波形
如上图3所示,上面的图是原始声音截去大部分空白后的截短语音,这样有利于频谱分析;中间的图是截短后的声音在频域的分析,首先进行采样,采样频率大于信号最高频率的2倍即可。不过有突变的信号的最高频率趋于无穷;按足够大的采样速率,; 采样后,进行离散傅立叶变换,就可以得到一组数据,(通常是复数),就频谱。 横坐标为离散的频谱,纵坐标为其对应的幅值,便可以画出其离散的频谱图
(当k等于0时)
从数字角频率上看,幅值最大处对应的正好是0HZ,即直流分量,也就是说,在取滤波频段时,应当取能量最集中的频段的语音信号,其余频段部分的信号滤除。
因此主要能量保留的频段为:
频率分辨率
3.滤波器设计
⑴确定滤波器的参数:
通带截止频率fp=800Hz
阻带截止频率fst=1400Hz;
②δ1=2dB,δ2=30dB;
③采样频率fs=8000HZ/s;=1100Hz,(把1500Hz—2000Hz那部分的峰值当做噪声与气流处理)。
3dB截止频率
⑥过渡带
。
⑦因为滤波器加的是汉宁窗,所以从教材上查表可得,即滤波器阶数
所以在设计滤波器时阶数
N=42
⑧FIR加窗滤波器中参数
⑨根据语音信号的特点滤波器设计为低通滤波器。
⑵设计滤波器:
①给定要求的频率响应
②选择汉宁窗,表达式为
滤波器的时域系统函数为
⑶叠加噪声
如下如4所示,是语音信号加20dB的高斯白噪声后的时域和频域波形。
图4叠加噪声后的语音信号的时域和频域波形
如上图所示,上面的图是加噪声后的时域波形,可见明显出现了很多毛刺,产生一个长度为N的噪声信号;中间图是对时域信号的频谱分析,下图是单边带的频谱分析。然后将噪声信号迭加到语音信号上,导出,保存成“liang.wav”文件,具体导出的函数是wavewrite(liang.wav)与h(n)做时域卷积
即:。
下图5所示为hanning窗及系统的hd和hn函数特性图。
图5汉宁窗的函数特性图
⑸滤波器进行滤波
如下图6所示,为滤波器滤波后的效果图。第一个是滤波后的原始语音信号,第二个和第三个是滤波后的频谱图。由于参数中已经设定3dB截止频率为1100Hz,所以频率在1100Hz的信号均被滤除,达到滤波效果。
图6 滤波后的波形图
⑹设计过程中完整的代码
clear
close all
%设参数!!!*****************************
fc=1100
N=42
[s,fs]=wavread('liang.wav');
%***************************************
jieduan=s(1000:1000+fs-1);
wavwrite(jieduan,fs,'jieduan.w
文档评论(0)