2. 课题的功能模块的划分
图2-1 课题的功能模块图
2.1语音信号采集
使用Windows自带的录音机,在安静、干扰小的环境下录音。按“开始”—“程序”—“附件”—“娱乐”—“录音机”的顺序打开windows中的录音机软件。如图2-1所示:
图2-2系统录音界面
录制一段自己的话音“信号”,按文件—属性—立即转换—8000KHz,8位,单声道到底顺序,时间控制在10秒以上,然后将音频文件保存“好男人.wav”
2.2语音信号分析
使用MATLAB绘出采样后的语音信号的时域波形和频谱图,其主要的程序代码和信号时域波形图和频谱图如下: [x1,fs,bits]=wavread('i:/好男人_new'); %sound(x1,fs,bits); y1=fft(x1,32768); figure(1) subplot(2,1,1) plot(x1);
title('原始语音信号时域波形'); subplot(2,1,2) plot(abs(y1));
title('原始语音信号频谱')
原始语音信号时域波形10.50-0.5-100.511.522.533.5x 10原始语音信号频谱20015010050000.511.522.533.5x 1045
图2-3 原始语音信号波形
2.3 含噪语音信号合成
(1)在原语音信号上加单频余弦信号,其信号时域波形图和频谱图如下:
加单频余弦信号的语音信号时域波形210-1-200.511.522.533.5x 10加单频余弦信号的语音信号频谱150001000055000000.511.522.533.5x 104
图2-4 加单频余弦信号的波形
2.4 数字滤波器设计及滤波
采用IIR滤波器的完全设计函数来设计各型IIR滤波器(Butterworth型与切比雪夫I型、切比雪夫Ⅱ型和椭圆型的低通、高通、带通、带阻中的至少3种类型),滤掉在MATLAB软件平台下,给原始的语音信号叠加上噪声,绘出滤波器的频域响应。并用这些数字滤波器对含噪语音信号分别进行滤波处理,比较不同方法下设计出来的数字滤波器的滤波效果,并从理论上进行分析。
2.5 回放语音信号
对滤波后的语音信号进行回放,感觉滤波前后语音信号的变化。
3. 滤波器实现的原理
MATLAB信号处理工具箱提供了IIR滤波器设计的完全工具函数,用户只要调用这些工具函数即可一次性完成设计,而不需要调用那些基本工具函数分步实现。
IIR滤波器设计的完全工具函数有butter,cheby1,cheby2,ellip。这些工具函数既可用于设计模拟滤波器,也可用于设计数字滤波器。这里介绍这些函数在IIR数字滤波器中
B(z)b(1)?b(2)z?1???b(n?1)z?nH(z)??A(z)a(1)?a(2)z?1???a(m?1)z?m的应用。在这两类滤波器设计中,这些工具函数调用格式基本相同,只是在频率处理上有所不同。
在MATLAB滤波器设计工具箱中,数字滤波器采用归一化频率,取值为0~1之间,归一化频率1对应的数字角频率为,对应的真实频率为采样频率的一半。在应用MATLAB工具函数设计数字滤波器时应注意这一点。
数字IIR滤波器的完全设计函数有: [b,a]=butter(n,wn[,'ftype']) [z,p,k]=butter(n,wn[, 'ftype']) [b,a]=cheby1(n,Rp,wn[,'ftype']) [z,p,k]=cheby1(n, Rp,wn[,'ftype']) [b,a]=cheby2(n,Rs,wn[,'ftype']) [z,p,k]=cheby2(n, Rs,wn[,'ftype']) [b,a]=ellip(n,Rp,Rs,wn[,'ftype']) [z,p,k]=ellip(n, Rp,Rs,wn[,'ftype'])
在上面的调用方式中,n为滤波器的阶数,wn为滤波器的截止频率,取值为0~1。
需根据采样频率Fs来定,如滤波器的截止频率为Fc(Hz),则wn的计算公式为: 这样就转换为0~1的归一化频率。其中wp,ws等边界频率都要根据此公式进行转换。
2*FcFswn?'ftype'滤波器的类型为:
‘high’为高通滤波器,截止频率为wn.
‘stop’为带阻滤波器,截止频率为wn=[w1,w2] (w a,b分别为滤波器传递函数分子和分母多项式系数向量;z,p,k分别为滤波器的零极点和增益。Rp,Rs分别为所设计滤波器的通带波纹和阻带衰减,单位为dB。 设计好的数字滤波器传递函数具有下面形式: 上述函数采用双线性变换法和频率的预畸变处理将模拟滤波器离散化为数字滤波
相关推荐: