DSP课程设计 语音信号处理进行三种类型的滤波器的设计.docx
《DSP课程设计 语音信号处理进行三种类型的滤波器的设计.docx》由会员分享,可在线阅读,更多相关《DSP课程设计 语音信号处理进行三种类型的滤波器的设计.docx(8页珍藏版)》请在冰豆网上搜索。
![DSP课程设计 语音信号处理进行三种类型的滤波器的设计.docx](https://file1.bdocx.com/fileroot1/2022-10/27/d3021a5a-37fa-4ea8-9b13-a2068ec53d57/d3021a5a-37fa-4ea8-9b13-a2068ec53d571.gif)
DSP课程设计语音信号处理进行三种类型的滤波器的设计
DSP课程设计报告
姓名
学院电气与电子工程学院
专业电子信息科学与技术
学号
班级电信科学091班
指导老师
2012年6月18日
一、设计题目
语音信号处理,进行三种类型的滤波器的设计。
二、设计要求
(1)IIR低通滤波器性能指标 fc=1000Hz,(通带截止频率)fst=2000Hz,(阻带截止频率)Rst=30dB,Rp=5dB。
(2)IIR带阻,双线性变换法
设计指标 fst1=2000Hz,fst2=3000Hz,fc1=1000Hz,fc2=4000Hz,Rst=30dB,Rp=5dB。
(3)带通滤波器性能指标 fc1=2000Hz,fc2=3000Hz,fst1=1000Hz,fst2=4000Hz,Rst=30dB,%Rp=5dBFIR数字滤波器
根据以上的技术指标设计出相应的滤波器,画出滤波器的频率响应曲线。
三、设计原理
1.语音信号的采集
利用Windows下的录音机,录制一段自己的话音,时间在1s内。
然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
通过wavread函数的使用,理解采样频率、采样位数等概念。
[y,fs]=wavread(‘d:
\111.wav’,[100060000]);
其中y为wav文件的音调数据,长度为60000-1000+1,fs为该文件的播放频率。
通过sound函数播放该文件的声音:
Sound(y,fs);
2.语音信号的频谱分析
首先画出语音信号的时域波形,然后对语音号进行快速傅里叶变换,得到信号的频谱特性,其程序如下:
Y=fft(y,59001);
Subplot(231);plot(y);title(‘滤波前的信号波形’);
Subplot(232);plot(abs(Y));title(‘滤波前的信号频谱’);
3.设计数字滤波器和画出其频率响应
给出各滤波器的性能指标:
(1)低通滤波器性能指标 fc=1000Hz,(通带截止频率)fst=2000Hz,(阻带截止频率)Rst=30dB,Rp=5dB。
(2)带阻,双线性变换法IIR巴特沃斯数字滤波器
设计指标 fst1=2000Hz,fst2=3000Hz,fc1=1000Hz,fc2=4000Hz,Rst=30dB,Rp=5dB。
(3)带通滤波器性能指标 fc1=2000Hz,fc2=3000Hz,fst1=1000Hz,fst2=4000Hz,Rst=30dB,%Rp=5dBFIR数字滤波器
根据以上的技术指标设计出相应的滤波器,画出滤波器的频率响应曲线。
4.用滤波器对信号进行滤波
用自己设计的各滤波器分别对采集的信号利用函数filter对信号进行滤波,并比较滤波前后语音信号的波形及频谱:
x=filter(b,a,y);
X=fft(x,59001);
Subplot(235);plot(x);title(‘滤波后的信号波形’);
Subplot(236);plot(abs(X));title(‘滤波后的信号频谱’);
5.回放语音信号
在Matlab中,函数sound可以对声音进行回放,其调用格式:
sound(x,fs);可以感觉滤波前后的声音有变化。
6.设计系统界面
为了使编制的程序操作方便,有能力的学生设计处理系统的用户界面。
在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。
四、源程序清单
4.1冲击响应不变法,IIR低通滤波器性能指标 fc=1000Hz,(通带截止频率)fst=2000Hz,(阻带截止频率)Rst=30dB,Rp=5dB。
[y,fs]=wavread('d:
\111.wav',[100060000]);
Sound(y,fs);
Y=fft(y,59001);%时域信号转换为频域的信号
Subplot(231);plot(y);title('滤波前的信号波形');
Subplot(232);plot(abs(Y));title('滤波前的信号频谱');
fs=44100;
Wst=[2*pi*3000];Wc=[2*pi*2000];
Rp=5;Rst=30;
wc=Wc/fs;wst=Wst/fs;
[N,Wn]=cheb1ord(Wc,Wst,Rp,Rst,'s');
[B,A]=cheby1(N,Rp,Wn,'s');
[b,a]=impinvar(B,A,fs);
[h,w]=freqz(b,a,256);
x1=[wc/pi,wst/pi];
y1=[-Rp,-Rp,-Rst,-Rst];
Subplot(234);plot(w/pi,20*log10(abs(h)));
grid;
xlabel('finpi');ylabel('gainindb');axis([0,1,-50,10]);
x=filter(b,a,y);
X=fft(x,59001);
Subplot(235);plot(x);title('滤波后的信号波形');
Subplot(236);plot(abs(X));title('滤波后的信号频谱');
Sound(y,fs);
4.2%带阻,双线性变换法IIR巴特沃斯数字滤波器
%设计指标 fst1=2000Hz,fst2=3000Hz,fc1=1000Hz,fc2=4000Hz,Rst=30dB,Rp=5dB。
[y,fs]=wavread('d:
\111.wav',[100060000]);
Sound(y,fs);
Y=fft(y,59001);%时域信号转换为频域的信号
Subplot(231);plot(y);title('滤波前的信号波形');
Subplot(232);plot(abs(Y));title('滤波前的信号频谱');
fs=44100;
wst=[2*pi*2000/fs,2*pi*3000/fs];wp=[2*pi*1000/fs,2*pi*4000/fs];
Rp=5;Rst=30;
[N,Wn]=buttord(wp/pi,wst/pi,Rp,Rst);
[B,A]=butter(N,Wn,'stop');
[h2,w2]=freqz(B,A,256);
x1=[wp/pi,wst/pi];
y1=[-Rp,-Rp,-Rst,-Rst];
Subplot(234);plot(w2/pi,20*log10(abs(h2)),x1,y1,'*');
grid;xlabel('finpi');ylabel('gainindb');axis([0,1,-50,10]);
x=filter(B,A,y);
X=fft(x,59001);
Subplot(235);plot(x);title('滤波后的信号波形');
Subplot(236);plot(abs(X));title('滤波后的信号频谱');
Sound(y,fs);
4.3%带通带通滤波器性能指标 fc1=2000Hz,fc2=3000Hz,fst1=1000Hz,fst2=4000Hz,Rst=30dB,%Rp=5dBFIR数字滤波器
[y,fs]=wavread('d:
\111.wav',[100060000]);
Sound(y,fs);
Y=fft(y,59001);%时域信号转换为频域的信号
Subplot(231);plot(y);title('滤波前的信号波形');
Subplot(232);plot(abs(Y));title('滤波前的信号频谱');
%采用窗函数法设计一个FIR带通滤波器,满足指标:
低端阻带边界频率ws1=0.2pi,高端阻带边界频率%ws2=0.8pi,阻带最小衰减60dB;低端通带边界频率wp1=0.35pi,高端通带边界频率wp2=0.65pi,通带最大衰%减1dB.
%根据阻带最小衰减60dB,选择布莱克曼窗。
fs=44100;
Rp=5;Rst=60;
ws1=1000*2*pi/fs;ws2=4000*2*pi/fs;
wp1=2000*2*pi/fs;wp2=3000*2*pi/fs;
N=max(ceil(6.2*pi/(wp1-ws1)),ceil(6.2*pi/(ws2-wp2)));%根据过渡带宽选择N,ceil(x)为不小于x的最%小整数。
wc=[(ws1+wp1)/2,(ws2+wp2)/2];
b=fir1(N-1,wc/pi,blackman(N));
[h,f]=freqz(b,1,500);
Subplot(234);plot(f/pi,20*log10(abs(h)),'-');ylabel('20log|H|');xlabel('w/pi');grid;
axis([01-10010]);
x=filter(b,1,y);
X=fft(x,59001);
Subplot(235);plot(x/fs);title('滤波后的信号波形');
Subplot(236);plot(abs(X)*fs/60000);title('滤波后的信号频谱');
Sound(y,fs);
五、设计结果和仿真波形
5.1IIR低通、冲击响应不变法切比雪夫数字滤波器
5.2%IIR带阻,双线性变换法
5.3FIR数字滤波器带通
六、收获和体会
通过本次试验我更加熟练地掌握了各种类型滤波器的设计和信号采样、加深了对数字信号处理理论方面的理解,加强了matlab的应用能力,获益匪浅!
七、参考文献
(1)数字信号处理丁玉美西安电子科技大学出版社
(2)应用MATLAB实现信号分析和处理张明照科学出版社
(3)数字信号处理及MATLAB实现余成波清华大学出版社
(4)MATLAB7.0在数字信号处理中的应用罗军辉机械工业出版社
(5)MATLAB信号处理刘波电子工业出版社
(6)Matlab信号处理与应用董长虹国防工业出版社
(7)数字信号处理原理及其MATLAB实现从玉良电子工业出版社
(8)数字信号处理基础及MATLAB实现周辉中国林业出版社
2.相关网站
(1)Matlab大观园
(2)Matlab学习网