基于dsp语音信号的fir滤波器处理内容摘要:

         2/12/11    NjRgRgRgNjh nghnjeNWNWWeWnwFTeW ( 29) 当 1N 时, NN 1 ,则        NWNWWW RgRgRghng  ( 210)  hngW 为汉宁窗的幅度响应函数 [1]。 10 3. 设计步骤 设计流程图 本课程设计主要是对一段语音信号,加入噪声后,用某种函数法设计出的FIR 滤波器对加入噪声后的语音信号进行滤波去噪处理 ,并且分析对比前后时域和频域波形的程序设计。 程序的设计流程图如下图 31 所示: 图 31 程序设计流程图 录制语音信号 单击“开始”,找到 ” 附件 ” 中的“娱乐”,出现“录音机”这一项,单击这一项,弹出窗口,并且开始录制语音信号“大家好,我是 xxx”,时间为 3 秒。 录音机如下图 32 所示: 在 Windows 下录制语音将语音格式改为 .wav 加入单频噪声 对语音信号进行频谱分析,画出时域和频域波形图 用汉宁窗设计 FIR 滤波器 画出其频率响应 用 FIR 滤波器对语音信号进行滤波 画出语音信号滤波前后波形并且进行比较分析 开始 结束 11 图 32 录音机窗口 图 33 音频文件格式 将语音信号的属性改为如图 33 所示的音频文件,并且命名音频文件名为,保存在 的 work 文件下。 然后在 Matlab 软件平台下,利用函数 wavread 对语音信号进行采样, 采样频率为 8000Hz,采样点数为 8, 很快理解了采样频率、采样位数等概念。 采样频率是指 计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。 采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。 采样频率与声音频率之间有一 定的关系,根据奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。 这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。 采样点数是指 采样值或取样值。 采集完成后在信号中加入一个单频噪声,设计的任务即为从含噪信号中滤除单频噪声,还原原 始信号。 调用的程序如下: [x,fs,bits]=wavread(‘ ’ )。 % 输入参数为文件的全路径和文件名输出的第一个参数是每个样本的值, fs 12 是生成该波形文件时的采样率, bits 是波形文件每样本的编码 位数。 sound(x,fs,bits)。 % 按指定的采样率和每样本编码位数回放 N=length(x)。 % 计算信号 x 的长度 fn=1800。 % 单频噪声频率设为 1800Hz t=0:1/fs:(length(x)1)/fs。 % 计算时间范围,样本数除以采样频率 y=x’ +*sin(fn*2*pi*t)。 % 加入一个单频噪声 sound(y,fs,bits)。 % 可以明显听出有尖锐的单频啸叫声 对语音信号加入单频噪声前后的波形进行分析, 首先 画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。 调用的程序如下: X=fft(x)。 Y=fft(y)。 % 对原始信号和加噪信号进行 fft 变换 X=X(1:length(X)/2)。 Y=Y(1:length(Y)/2)。 % 截取前半部分 deltaf=fs/2/length(X)。 % 计算频谱的谱线间隔 f=0:deltaf:fs/2deltaf。 % 计算频谱频率范围 用绘图程序 画出 加噪前后信号的时域和频域波形图,如图 34所示, 从下图可以看出,在为语音信号加入噪声后,语音信号的时域波形图变得很宽,但是时间轴没有改变,其频域波形图则出现一很尖锐的直线,其频率为 1700Hz,即加入的单频噪声的频率为 1700Hz。 将语音重放时,则听到一种尖尖刺耳的声音, 13 说明噪声完全覆盖了以前的语音信号。 图 34 语音信号加入单频噪声前后的时域和频域波形图 滤波器设计 在 Matlab 中,可以利用 矩形窗、三角窗、汉宁窗、汉明窗、布莱克曼窗、凯塞窗等 设计 FIR滤波器, 在本次课程设计中主要应用汉宁 窗设计出 FIR滤波器。 利用 Matlab 中的函数 freqz 画出各滤波器的频率响应 ,首先利用数字信号处理里面学过的知识,根据自己选定的参数,用汉宁窗函数法设计 FIR 数字滤波器,得到数字滤波器的参数 b, a。 其中 b 为系统函数的分子系数, a为系统函数分母系数。 再调用 freqz(b,a,512,fs)即可得到该滤波器的频率响应。 主程序如下: fpd=1700。 fsd=1750。 fsu=1850。 fpu=1900。 % FIR 滤波器的上下截止频率 Rp=1。 As=36。 % 带阻滤波器设计指标 fcd=(fpd+fsd)/2。 fcu=(fpu+fsu)/2。 14 df=min((fsdfpd),(fpufsu))。 % 计算上下边带中心频率,和频率间隔 wcd=fcd/fs*2*pi。 wcu=fcu/fs*2*pi。 dw=df/fs*2*pi。 % 将 Hz为单位的模拟频率换算为 rad 为单位的数字频率 wsd=fsd/fs*2*pi。 wsu=fsu/fs*2*pi。 M=ceil(*pi/dw)+1。 % 计算汉宁窗设计该滤波器时需要的阶数 n=0:M1。 % 定义时间 范围 w_ham=hanning(M)。 % 产生 M 阶的汉宁窗 hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)ideal_lp(wcu,M)。 % 调用自编函数计算理想带阻滤波器的脉冲响应 h_bs=w_ham39。 .*hd_bs。 % 用窗口法计算实际滤波器。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。