资源描述:
《数字信号处理课程设计--fir数字滤波器的凯泽窗函数法设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计任务书专业电子信息工程班级姓名设计起止日期2013-1-7~2013-1-11设计题目:语音信号的数字滤波——FIR数字滤波器的凯泽窗函数法设计设计任务(主要技术参数):1.语音信号的采样录音(、N);2.语音信号的频谱分析()3.语音信号的加噪();4.数字滤波器的设计(,滤波器的阶数);5.滤波结果输出及效果分析()指导教师评语:成绩:签字:年月日课程设计说明书NO.15设计题目语音信号的数字滤波——FIR数字滤波器的凯泽函数法设计一、课程设计的目的通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法
2、;掌握利用数字滤波器对信号进行滤波的方法。并能够对设计结果加以分析。二、设计步骤1.语音信号的采集利用Windows系统采集:1、按“开始->程序->附件->娱乐->录音机”的顺序操作打开Windows系统中的录音机软件图1录音机2、采集语音信号信息:(将所录wma格式转换为wav格式)(1)语音内容:天青色等烟雨,而我在等你沈阳大学课程设计说明书NO.15(1)语音格式:*.wav(2)语音名称:青花瓷(3)语音长度:4.00(s)(4)语音属性:44.1kHz8位双声道128kb/s图2、语音信号信息图2.语音信号的频谱分析1
3、、将上一步骤中保存下来的语音信号文件“青花瓷.wav”复制到计算机装有Matlab软件的磁盘中相应Matlab目录中的“work”文件夹中。2、双击桌面上Matlab软件的快捷图标,打开Matlab软件3、在菜单栏中选择“File->new->M-File”打开*.m文件编辑器并命名为Untitled1。4、打入命令closeall、clc、clearall。5、输入命令[s,fs]=wavread('青花瓷.wav'),将语音文件“青花瓷.wav”中的波形信号值赋值给数组s,将采样速率赋值给变量fs6、通过“L=2^floor(
4、loglength(s)));”命令,求信号长度赋值给L,L=131072。7、定义一个向量:n=0:L-1,用“plot(n,s)”命令,画出采集信号的时域图沈阳大学课程设计说明书NO.15图3原始声音信号波形8、根据时域波形,为将信号前面的空白部分去掉,用“LQ1=s(500:500+L-1)”命令将S信号截短并赋值给LQ1.9、将原始语音信号和截短语音信号在同一图上画出来实现代码为:wavwrite(LQ1,fs,'LQ1.wav');figure(2)subplot(2,1,1);plot(s);title('原始语音信号
5、');subplot(2,1,2);plot(LQ1);title('截短语音信号');沈阳大学课程设计说明书NO.15图4原始声音信号及加噪后波形10、编写程序段,利用Matlab软件中已有的FFT程序函数和画图程序函数对导入的语音信号“LQ.wav”进行分析,并根据自己的语音信号频谱中主要能量的分布特征确定自己的语音信号所在的频段为下面的滤波器设计做准备。程序代码如下:S1=fft(LQ1);n=0:L-1;figure(3)subplot(3,1,1);plot(n,LQ1);title('截短预处理语音信号');k=0:L
6、-1;subplot(3,1,2);plot(k,abs(S1));detf=fs/L;title('截短预处理语音频谱');subplot(3,1,3);plot(k(1:L/2)*detf,abs(S1(1:L/2)));沈阳大学课程设计说明书NO.15title('截短预处理语音频谱单边');得出截短信号频谱图如下:图5截短信号频谱图由图5可以看出主要能量集中在0-1500HZ频率段。设通带截止频率为1500HZ,阻带截止频率为2500HZ。一般希望窗函数满足以下两个要求:窗谱主瓣尽可能地窄,以获得陡峭的过渡带;尽量减少窗谱
7、的最大旁瓣的相对幅度,也就是能量尽量集中于主瓣,这样使肩峰和波纹减小,就可增大阻带的衰减。3.语音信号的加噪(1)产生一个长度与你所截取的语音信号等长的噪声信号,为“LQ2.wav”,所用指令为wavewrite(),所加噪声如图6所示。叠加噪声可以用awgn()语句,在叠加噪声时,应选取适当的值,尽量能体现出能量主要集中的频段。(2)将语音与噪声合成的信号“LQ2.wav”送入所设计的基于凯泽窗的FIR数字滤波器中进行滤波。(3)将滤波结果导出保存成文件“LQ3.wav”.加噪程序为:LQ2=awgn(LQ1,15,'measu
8、red');wavwrite(LQ2,fs,'LQ2.wav');figure(4)沈阳大学课程设计说明书NO.15subplot(2,1,1);plot(LQ1);title('截短语音信号');subplot(2,1,2);plot(sLQ2