DSP课程设计---语音信号处理,进行三种类型的滤波器的设计.doc
文本预览下载声明
武汉轻工大学
DSP课程设计报告
姓 名
学 院
专 业
学 号
班 级
指导老师
2012 年 6月 日设计题目语音信号处理进行三种类型的滤波器的设计。设计要求设计原理1. 语音信号的采集
利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,理解采样频率、采样位数等概念。
[y,fs]=wavread(‘d:\111.wav’,[1000 6000]);
其中y为wav文件的音调数据,长度为6000-1000+1,fs为该文件的播放频率。通过sound函数播放该文件的声音:
Sound(y,fs);
2. 语音信号的频谱分析
首先画出语音信号的时域波形,然后对语音号进行快速傅里叶变换,得到信号的频谱特性,其程序如下:
Y=fft(y,5001);
Subplot(231);plot(y);title(‘滤波前的信号波形’);
Subplot(232);plot(abs(Y));title(‘滤波前的信号频谱’);
3. 设计数字滤波器和画出其频率响应
给出各滤波器的性能指标:
(1)低通滤波器性能指标 fc=1000 Hz, fst=2000 Hz, Rst=30 dB, Rp=5 dB。
(2)高通滤波器性能指标 fst=4000 Hz, fc=5000 Hz, Rst=30 dB, Rp=5 dB。
(3)带通滤波器性能指标 fc1=2000 Hz, fc2=3000 Hz, fst1=1000 Hz, fst2=4000 Hz, Rst=30 dB, Rp=5 dB。(4)带阻滤波器性能指标 fst1=2000 Hz, fst2=3000 Hz, fc1=1000 Hz, fc2=4000 Hz, Rst=30 dB, Rp=5 dB。
根据以上的技术指标设计出相应的滤波器,画出滤波器的频率响应曲线。上述技术指标仅做参考,学生可根据选定的声音文件自行调整技术指标的值。
4. 用滤波器对信号进行滤波
用自己设计的各滤波器分别对采集的信号利用函数filter对信号进行滤波,并比较滤波前后语音信号的波形及频谱:
x=filter(b,a,y);
X=fft(x,5001);
Subplot(235);plot(x);title(‘滤波后的信号波形’);
Subplot(236);plot(abs(X));title(‘滤波后的信号频谱’);
5. 回放语音信号
在Matlab中,函数sound可以对声音进行回放,其调用格式:sound(x,fs);可以感觉滤波前后的声音有变化。
6. 设计系统界面
为了使编制的程序操作方便,有能力的学生设计处理系统的用户界面。在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。
源程序清单IIR巴特沃斯数字滤波器高通、冲击响应不变法
[y,fs]=wavread(d:\111.wav,[1000 60000]);
Sound(y,fs);
Y=fft(y,59001);
Wc=2*pi*200;Wst=2*pi*400;
Rp=3;Rst=30;
[N,Wn]=buttord(Wc,Wst,Rp,Rst,s)%s表示模拟滤波器,N为阶数,Wn为3dB截止频率.
[B,A]=butter(N,Wn,s)%返回模拟滤波器的系统函数,B为分子多项式,A为分母多项式.
[bz,az]=impinvar(B,A,fs);%冲激响应不变法,b和a分别为模拟系统函数的分子和分母多项式系数,fs为采样频率,返回bz和az分别为数字滤波器的分子和分母多项式系数.
freq=0:10*2*pi/50:20*pi;%在0~20pi之间等间隔取值,取51个点(包括端点).
Subplot(233);plot(freq/(2*pi),20*log10(abs(freqs(bz,az,freq))));%画图(横坐标频率,单位为弧度,纵坐标为以B为分子多项式,A为分母多项式系统函数在freq上的取值模的对数*20)
grid;
xlabel(f/Hz);
ylabel(gain
显示全部