DSP课程设计报告
题目基于matlab GUI的IIR低通数字滤波器设计
学院:信息工程学院专业:通信工程姓名:张昊东学号:
201416630
目录
1.设计的主要内容及基本求....................................2
2.总体设计的基本思路........................................2
3.设计方案..................................................2 3.1原始语音信号加噪处理..................................2 3.2滤波器的设计..........................................3 3.2.1滤波器的基本知识..................................3 3.2.2数字滤波器的选取..................................4 3.3滤除噪声后的语音信号..................................5
4.GUI的设计................................................7 4.1 GUI界面设计概述......................................7 4.2 GUI界面设计具体操作..................................7 4.3 GUI界面设计演示......................................8
5.仿真结果的分析............................................9
6.课程设计总结..............................................9
7.参考文献..................................................9
附录........................................................10
1
1.设计的主要内容及基本要求
要求录制一段自己的语音信号后,对所采集的语音信号加入干扰噪声,设计相应的数字滤波器滤除噪声并进行验证,最后设计GUI界面。
2.总体设计思路
1.获取一段语音。
2.对所获取的语音信号进行加噪处理。 3.设计数字滤波器。
4.将加噪后的信号通过所设计的滤波器,滤除噪声。 5.验证滤除噪声后的语音信号。
6.利用matlab GUI设计模板设计相应的GUI界面。
3.设计方案
3.1原始语音信号加噪处理
[s,fs]=audioread ('C:\\Users\\昊东\\Desktop\\zhd.wav');%读取语音信号的数据,赋给变量y 信号 频率 y1=fft(s);
f=fs*(0:511)/2048;%使频谱图的坐标从零开始
t=0:1/44100:(size(s)-1)/44100; %将所加噪声信号的点数调整到与原始信号相同 Au=0.08; %幅度值
d=Au*cos(2*pi*5000*t); %加余弦信号 频率是5000hz
n=d';%将噪声进行转置,以便使噪声与信号的行列相同,进行相加 x=s+n;%原始信号和噪声信号叠加
subplot(241);plot(t,s);title('原语音信号');
subplot(242);plot(f,abs(y1(1:512)));title('原语音频谱');
subplot(243);plot(t,x),title('加噪后时域波形');%加噪后的时域图 subplot(245),plot(t,y);
title('滤波后的时域波形');%画出滤波后的时域图 y5=fft(x,2048);%进行2048点傅里叶变换 subplot(244);
plot(f,abs(y5(1:512))); %加噪后的频谱图 title('加噪后的频谱'); xlabel('频率/Hz'); ylabel('幅值i');
2
3.2滤波器设计
3.2.1数字滤波器的基本知识
数字滤波器分为FIR数字滤波器和IIR数字滤波器两种,即有限冲激响应滤波器(FIR,Finite Impulse Response)滤波器和无线冲激响应
3
(IIR,Infinite Impulse Response)滤波器。 (一) FIR数字滤波器 FIR的特点:
不存在极点(z=0除外),系统函数| z>0|处收敛。系统单位冲激响应在有限个n值处不为零。结构上主要是非递归结构,没有输出到输入的反馈。故只能用较高的阶数达到高的选择性。FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位即不同频率分量的信号经过FIR数字滤波器后他们的时间差不变。FIR数字滤波器具有系统稳定,易实现相位控制,允许设计多带通滤波器等优点。 FIR数字滤波器的结构有四种: 横截性;级联型结构;频率采样型结构;线性相位FIR滤波器的结构 (二)IIR数字滤波器 IIR数字滤波器的特点:
电位冲激响应h(n)是无限长的;系统函数H(z)在有限z平面上
(0< |z|<∞)有极点存在;结构上存在着输出到输入的反馈,也就是结构上是递归型的。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成。
IIR数字滤波器的结构也有四种:
直接I型;直接II型—典范型;级联型;并联型。 3.2.2数字滤波器的选取
由原始语音信号的频谱图可以看出,语音信号的能量集中在低频部分,所以根据滤波器的特性和功能,所选择的滤波器应该具有滤除无用的高频成分的作用,所以可以选用低通滤波器。又由于IIR数字滤波器的输出不但取决于过去和现在的输入,还取决于过去的输出,所以,选择IIR数字滤波器比选择FIR数字滤波器要好。
所设计的IIR巴特沃斯数字低通滤波器如下:
wp=0.08*pi;ws=0.1*pi; %两个频率的信号
Rp=1;Rs=15;Fs=44100;Ts=1/Fs;%阻带衰减和通带衰减,中间是过渡区,采样频率44100 wp1=2/Ts*tan(wp/2);%将数字指标转换成模拟指标 ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%选择滤波器的最小阶数 [Z,P,K]=buttap(N);%创建butterworth模拟滤波器 [Bap,Aap]=zp2tf(Z,P,K); [b,a]=lp2lp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,Fs);%用双线性变换法实现模拟滤波器到数字滤波器的转换 [H,W]=freqz(bz,az);%绘制频率响应曲线 y=filter(bz,az,x);%调用上边滤波器函数 grid;
subplot(247);
plot(W*Fs/(2*pi),abs(H));%画滤波器频域图 xlabel('频率/Hz');
ylabel('频率响应幅度'); title('Butterworth');
4