基于matlab的有噪声的语音信号处理的课程设计.doc
DSP实验课程设计实验报告DSP实验课程设计实验报告姓名学号班级1课程设计题目基于MATLAB的有噪声的语音信号处理的课程设计。2课程设计的目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用MATLAB做为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。3课程设计的要求1熟悉离散信号和系统的时域特性。2掌握序列快速傅里叶变换FFT方法。3学会MATLAB的使用,掌握MATLAB的程序设计方法。4利用MATLAB对语音信号进行频谱分析。5掌握MATLAB设计各种数字滤波器的方法和对信号进行滤波的方法。4课程设计的内容录制一段语音信号,对语音信号进行频谱分析,利用MATLAB中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析,设计FIR和IIR数字滤波器,并对噪声污染的语音信号进行滤波,分析滤波后的信号的时域和频域特征,回放语音信号。5课程设计的步骤(1)语音信号的获取通过录音软件录制一段语音“数字信号处理”,命名为“ORISOUND”,时长大约1到2秒,在MATLAB中,通过使用WAVREAD函数,对语音进行采样Y,FS,NBITSWAVREAD ORISOUND 语音信号的采集DSP实验课程设计实验报告采样值放在向量Y中,采样频率为FS,采样位数为NBITS。(2)语音信号的频谱分析画出语音信号的时域波形,然后对语音信号进行频谱分析,在MATLAB中,通过使用FFT函数对信号进行快速傅里叶变换,得到信号的频谱特性。因此采集语音并绘出波形和频谱的模块程序如下Y,FS,NBITSWAVREAD ORISOUND 语音信号的采集SOUNDY,FS,NBITS语音信号的播放NLENGTHY计算语音信号的长度YFFTY,N快速傅里叶变换FIGURESUBPLOT2,1,1绘出时域波形PLOTYTITLE 原始信号波形 , FONTWEIGHT , BOLD AXIS000008000011通过尝试确定合适的坐标参数GRIDSUBPLOT2,1,2绘出频域频谱PLOTABSYTITLE 原始信号频谱 , FONTWEIGHT , BOLD AXIS015000004000通过尝试确定合适的坐标参数GRID结果如下DSP实验课程设计实验报告可以看到,语音信号的频率集中在低频部分。(3)产生噪声信号在MATLAB中,通过使用RANDN函数产生随机噪声信号,并加到语音信号中得到被污染的语音信号,回放语音信号。产生随机噪声NOISE02RANDNN,1其中用02倍乘噪声用来适当削减噪声的作用,便于对语音信号进行处理并比较效果。(4)污染信号频谱分析对被污染的加噪信号进行时域和频域分析。DSP实验课程设计实验报告加噪声并分析信号波形频谱的模块程序及说明如下Y,FS,NBITSWAVREAD ORISOUNDWAV 语音信号采集SOUNDY,FS,NBITS回放语音信号便于比较效果NLENGTHY计算语音信号长度NOISE02RANDNN,1产生随机噪声信号NOISESYNOISE将NOISE添加到原始信号,得到污染信号SSOUNDS回放污染信号SFIGURESUBPLOT2,1,1绘制加噪信号时域波形PLOTSTITLE 加噪语音信号的时域波形 , FONTWEIGHT , BOLD AXIS000008000011GRIDSFFTS对S进行快速傅里叶变换得到频谱SUBPLOT2,1,2绘制加噪信号频域频谱PLOTABSSTITLE 加噪语音信号的时域波形 , FONTWEIGHT , BOLD AXIS015000004000GRID结果如下DSP实验课程设计实验报告可以看到,随机噪声均匀的分布在整个频谱范围内。(5)设计FIR和IIR数字滤波器在MATLAB中,根据频谱特征设计FIR和IIR滤波器。在MATLAB中,可以利用函数FIR1设计FIR滤波器,利用函数BUTTER,CHEBY1设计IIR滤波器,利用MATLAB中的函数FREQZ画出各步滤波器的频率响应。低通滤波器的性能指标FP1000HZ,FC1200HZ,AS100DB,AP1DB高通滤波器的性能指标FP3500HZ,FC4000HZ,AS100DB,AP1DB;带通滤波器的性能指标FP11200HZ,FP23000HZ,FC11000HZ,FC23200HZ,AS100DB,AP1DB在MATLAB中,利用N,WCBUTTERN,WC,RP,AS, S 设计并计算巴特沃斯模拟滤波器的阶数N和3DB截止频率WC;B,ACHEBY1N,RP,WPO, FTYPR 设计切比雪夫I型滤波器。在课程设计中,共设计了六种滤波器对信号进行滤波FIR低通,高通,带通滤波器,DSP实验课程设计实验报告IIR低通,高通,带通滤波器。通过对原始信号和加噪信号的频谱进行观察,原始语音信号频谱集中在低频段,而随机噪声接近均匀的分布在整个频谱范围内,因此推测选用低通滤波器去噪性能要好于高通和带通滤波器。(6)对污染信号进行滤波在MATLAB中用FIR和IIR滤波器对加噪信号进行滤波,其中通过利用函数FFTFILT用FIR滤波器滤波,通过利用函数FILTER用IIR滤波器滤波。(7)回放语音信号在MATLAB中,通过用SOUND函数对语音信号进行回放,用以比较各滤波器的滤波效果。各滤波器设计模块的程序和说明如下(1)IIR低通滤波器设计Y,FS,NBITSWAVREAD ORISOUNDWAV 语音信号采集NLENGTHY计算语音信号长度NOISE02RANDNN,1产生随机噪声信号NOISESYNOISE将NOISE添加到原始信号,得到污染信号SSFFTS快速傅里叶变换FT8000FP1000FS1200WP2PIFP/FTWS2PIFS/FTN11,WN11BUTTORDWP,WS,1,50, S 低通滤波器的阶数和截止频率B11,A11BUTTERN11,WN11, S S域频率响应的参数NUM11,DEN11BILINEARB11,A11,05利用双线性变换实现频率响应S域到Z域的变换Z11FILTERNUM11,DEN11,S滤波SOUNDZ11,FS,NBITS回放滤波后的信号M11FFTZ11滤波后的信号频谱FIGURESUBPLOT2,2,1绘出滤波前的信号频谱PLOTABSS, G TITLE 滤波前信号的频谱 , FONTWEIGHT , BOLD DSP实验课程设计实验报告AXIS08000004000GRIDSUBPLOT2,2,2绘出滤波后的信号频谱PLOTABSM11, R TITLE 滤波后信号的频谱 , FONTWEIGHT , BOLD AXIS08000004000GRIDSUBPLOT2,2,3绘出滤波前的信号波形PLOTSTITLE 滤波前信号的波形 , FONTWEIGHT , BOLD AXIS0000010000011GRIDSUBPLOT2,2,4绘出滤波后的信号波形PLOTZ11TITLE 滤波后的信号波形 , FONTWEIGHT , BOLD AXIS0000010000011GRID结果如下DSP实验课程设计实验报告可以看出,滤波后将非低