用双线性变换法设计原型低通为切比雪夫I型的数字IIR高通滤波器.docx
《用双线性变换法设计原型低通为切比雪夫I型的数字IIR高通滤波器.docx》由会员分享,可在线阅读,更多相关《用双线性变换法设计原型低通为切比雪夫I型的数字IIR高通滤波器.docx(14页珍藏版)》请在冰点文库上搜索。
用双线性变换法设计原型低通为切比雪夫I型的数字IIR高通滤波器
课程设计
课程设计名称:
数字信号处理课程设计
专业班级:
学生姓名:
学号:
指导教师:
课程设计时间:
2014-6-16至2014-6-20
电子信息工程专业课程设计任务书
学生姓名
专业班级
学号
题目
用双线性变换法设计原型低通为切比雪夫I型的数字IIR高通滤波器
课题性质
其他
课题来源
自拟
指导教师
同组姓名
主要内容
用双线性变换法设计原型低通为切比雪夫I型的数字IIR高通滤波器,要求通带边界频率为500Hz,阻带边界频率分别为400Hz,通带最大衰减1dB,阻带最小衰减40dB,抽样频率为2000Hz,用MATLAB画出幅频特性,画出并分析滤波器传输函数的零极点;
信号
经过该滤波器,其中
300Hz,
600Hz,滤波器的输出
是什么?
用Matlab验证你的结论并给出
的图形。
任务要求
1、掌握用双线性变换法设计原型低通为切比雪夫I型的数字IIR高通滤波器的原理和设计方法。
2、求出所设计滤波器的Z变换。
3、用MATLAB画出幅频特性图。
4、验证所设计的滤波器。
参考文献
1、程佩青著,《数字信号处理教程》,清华大学出版社,2001
2、SanjitK.Mitra著,孙洪,余翔宇译,《数字信号处理实验指导书(MATLAB版)》,电子工业出版社,2005年1月
3、郭仕剑等,《MATLAB7.x数字信号处理》,人民邮电出版社,2006年
4、胡广书,《数字信号处理理论算法与实现》,清华大学出版社,2003年
审查意见
指导教师签字:
教研室主任签字:
2014年06月12日
说明:
本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页
一、需求分析
用双线性变换法设计原型低通为切比雪夫I型的数字IIR高通滤波器,要求通带边界频率为500Hz,阻带边界频率分别为400Hz,通带最大衰减1dB,阻带最小衰减40dB,抽样频率为2000Hz,用MATLAB画出幅频特性,画出并分析滤波器传输函数的零极点;
信号
经过该滤波器,其中
300Hz,
600Hz,滤波器的输出
是什么?
用Matlab验证你的结论并给出
的图形。
二、设计内容
IIR数字滤波器的设计通常采用脉冲响应不变法和双线性变换法进行设计。
而我选择的课程设计是采用双线性变换法设计切比雪夫I型的数字IIR高通滤波器。
三、设计原理
1.双线性变换法
脉冲响应不变法的主要缺点是频谱交叠产生的混淆,这是从S平面到Z平面的标准变换z=e的多值对应关系导致的。
为了克服冲激响应法可能产生的频率响应的混叠失真,这是因为从S平面到Z平面是多值的映射关系所造成的。
为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。
也就是说,第一步先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。
这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示:
图1双线性变换的映射关系
稳定性分析:
(1.1)
令s=+j,则有
(1.2)
为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现:
式中,T仍是采样间隔。
优点
与脉冲响应不变法相比,双线性变换的主要优点:
靠频率的严重非线性关系得到S平面与Z平面的单值一一对应关系,整个jΩ轴单值对应于单位圆一周,这个关系就是式所表示的,其中ω和Ω为非线性关系。
如图图中看到,在零频率附近,Ω~ω接近于线性关系,Ω进一步增加时,ω增长变得缓慢,(ω终止于折叠频率处),所以双线性变换不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象。
缺点
双线性变换法的缺点:
Ω与ω的非线性关系,导致数字滤波器的幅频响应相对于模拟滤波器的幅频响应有畸变,(使数字滤波器与模拟滤波器在响应与频率的对应关系上发生畸变)。
例如,一个模拟微分器,它的幅度与频率是线性关系,但通过双线性变换后,就不可能得到数字微分器。
另外,一个线性相位的模拟滤波器经双线性变换后,滤波器就不再有线性相位特性。
虽然双线性变换有这样的缺点,但它目前仍是使用得最普遍、最有成效的一种设计工具。
这是因为大多数滤波器都具有分段常数的频响特性,如低通、高通、带通和带阻等,它们在通带内要求逼近一个衰减为零的常数特性,在阻带部分要求逼近一个衰减为∞的常数特性,这种特性的滤波器通过双线性变换后,虽然频率发生了非线性变化,但其幅频特性仍保持分段常数的特性。
双线性变换比脉冲响应法的设计计算更直接和简单。
由于s与z之间的简单代数关系,所以从模拟传递函数可直接通过代数置换得到数字滤波器的传递函数。
频响
这些都比脉冲响应不变法的部分分式分解便捷得多,一般,当着眼于滤波器的时域瞬态响应时,采用脉冲响应不变法较好,而其他情况下,对于IIR的设计,大多采用双线性变换。
2.切比雪夫滤波器
在本课程设计中,它的作用是构造一个模拟低通滤波器。
切比雪夫滤波器,是在通带或阻带上频率响应幅度等波纹波动的滤波器。
切比雪夫滤波器来自切比雪夫分布,以“切比雪夫”命名,是用以纪念俄罗斯数学家巴夫尼提·列波维其·切比雪夫。
在本次课设中,用到的是在通带(或称“通频带”)上频率响应幅度等波纹波动的滤波器称为“切比雪夫I型滤波器”。
在巴特沃兹滤波器中,幅度响应在通带和阻带内都是单调的。
因此,若滤波器的技术要求是用最大通带和阻带的逼近误差来给出的话,那么,在靠近通带低频端和阻带截止频率以上的部分都会超出技术指标。
一种比较有效的途径是使逼近误差均匀地分布于通带或阻带内,或同时在通带和阻带内都均匀分布,这样往往可以降低所要求的滤波器阶次。
通过选择一种具有等波纹特性而不是单调特性的逼近方法可以实现这一点。
切比雪夫型滤波器就具有这种性质:
其频率响应的幅度既可以在通带中是等波纹的,而在阻带中是单调的(称为I型切比雪夫滤波器),也可以在通带中是单调的,而在阻带中是等波纹的(称为II型切比雪夫滤波器)。
I型切比雪夫滤波器的幅度平方函数是
(1.3)
式中Ωc为有效通带截止频率,
表示与通带波纹有关的参量,
值越大通带不动愈大。
VN(x)是N阶切比雪夫多项式,定义为
(1.4)
切比雪夫滤波器的振幅平方特性如图所示:
图2切比雪夫滤波器的振幅平方特性
N为偶数,cos2(
)=1,得到min,
,
(1.5)
N为奇数,cos2(
,得到max,
(1.6)
有关参数的确定:
a、通带截止频率:
预先给定;
b、
与通带波纹有关的参数,通带波纹表示成
(1.7)
所以,
给定通带波纹值
分贝数后,可求得
。
c、阶数N:
由阻带的边界条件确定。
、A2为事先给定的边界条件,即在阻带中的频率点处
要求滤波器频响衰减到1/A2以上。
(1-8)
(1-9)
(1-10)
(1-11)
3.数字滤波器
数字滤波器由数字乘法器、加法器和延时单元组成的一种算法或装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
图3数字滤波器的方框图
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号(对应数字频率)转换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的数字频率(2π*f/fs,f为模拟信号的频率,fs为采样频率,注意区别于模拟频率),按照奈奎斯特抽样定理,要使抽样信号的频谱不产生重叠,应小于折叠频率(ws/2=π),其频率响应具有以2π为间隔的周期重复特性,且以折叠频率即ω=π点对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
四、设计思路
根据以上IIR数字滤波器设计方法,下面运用双线性变换法基于MATLAB设计一个IIR高通滤波器。
1.在设计高通滤波器之前,首先要根据工程实际的需要确定滤波器的技术指标ωp和ωs;
2.将数字高通滤波器的技术指标转换成模拟高通滤波器的技术指标Ωp,Ωs,转换公式为;
3.利用频率变换λ=1/η将模拟高通滤波器技术指标转换成归一化模拟低通滤波器G(p)的技术指标;
4.设计模拟低通滤波器G(P),并去归一化得:
H(s)=G(p)
5.采用双线性变换将模拟低通滤波器H(s)转换成数字低通滤波器H(z):
(1.12)
6.采用频带变换,将数字低通滤波器转换成所需类型的数字高通滤波器。
五、程序流程图
开始
↓
读入数字滤波器技术指标
↓
将指标转换成归一化模拟高通滤波器的指标
↓
设置归一化低通模拟滤波器G(p)各项指标
↓
求低通模拟滤波器G(p)
↓
用双线性变换法将H(s)转换成数字带通滤波器H(z)
↓
用双线性变换将模拟低通传输函数Ha(s)转换为数字低通滤波器系统函数
用频带变换法将数字低通转换为数字高通
六、程序源代码
clc;
clearall;
Fp=500;%通带截止频率
Fs=400;%组带截止频率
Ap=1;%通带最大衰减
As=40;%阻带最小衰减
Ft=2000;%抽样频率
Wp=2*pi*Fp/Ft;
Ws=2*pi*Fs/Ft;
wp=tan(Wp/2);
ws=tan(Ws/2);
ws1=1%归一化
wp1=wp/ws%估计滤波器的阶数
[N,Wn]=cheb1ord(ws1,wp1,Ap,As,'s');%设计滤波器
[B,A]=cheby1(N,1,Wn,'s');
[BT,AT]=lp2hp(B,A,wp);
[num,den]=bilinear(BT,AT,0.5)
[z,p,k]=tf2zp(num,den)%显示传输函数
disp('分子系数:
');disp(num);
disp('分母系数:
');disp(den);%计算增益响应
w=0:
pi/255:
pi;
h=freqz(num,den,w);
g=20*log10(abs(h));%绘制增益响应
figure;
plot(w/pi,g);grid;%绘制切比雪夫高通滤波器幅频特性
axis([01-1001]);
xlabel('omega/\pi');
ylabel('增益/dB');
title(‘切比雪夫高通滤波器');
figure;
zplane(z,p);%绘制传输函数零极点
title(‘传输函数的零极点');
f1=300;f2=6000;
t=0:
0.0001:
1
x1=sin(2*pi*f1*t);
x2=sin(2*pi*f2*t);
x=x1+x2;
figure;
subplot(2,2,1)%绘制x1的波形
plot(x1);gridon;
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x1(t)');
title('x1的波形');
subplot(2,2,2)%绘制x1的波形
plot(x2);gridon;
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x2(t)');
title('x2的波形');
subplot(2,2,3)%绘制输入x的波形
plot(x);gridon;
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x(t)');
title(‘输入信号x的波形')
%X=fft(x);
y=filter(num,den,x);%数字滤波器输出
subplot(2,2,4);%绘制输出y的波形
plot(real(y));
gridon;
axis([0,50*pi,-3,3]);
xlabel(‘t');ylabel(‘y');
title(‘滤波器输出y的波形');
七、仿真结果图
八、参考资料
[1]程佩青.数字信号处理教程[M],北京:
清华大学出版社,2001
[2]SanjitK.Mitra.孙洪,余翔宇译,数字信号处理实验指导书(MATLAB版)[M],北京:
电子工业出版社,2005年1月
[3]郭仕剑等.MATLAB7.x数字信号处理[M],北京:
人民邮电出版社,2006年
[4]胡广书.数字信号处理理论算法与实现[M],北京:
清华大学出版社,2003年
[5]杨毅明.数字信号处理[M],北京:
机械工业出版社,2012年
九、设计心得
经过上学期数字信号处理课程的学习,我对DSP有了初步的了解。
数字信号处理是研究用数字方法对信号进行分析、变换、滤波、检测、调制、解调以及快速算法的一门技术学科。
数字滤波器的实用型式很多,大略可分为有限冲激响应型和无限冲激响应型两类,可用硬件和软件两种方式实现。
在硬件实现方式中,它由加法器、乘法器等单元所组成,这与电阻器、电感器和电容器所构成的模拟滤波器完全不同。
数字信号处理系统很容易用数字集成电路制成,显示出体积小、稳定性高、可程控等优点。
数字滤波器也可以用软件实现。
软件实现方法是借助于通用数字计算机按滤波器的设计算法编出程序进行数字滤波计算。
由于上学期的DSP课程是双语教学,加之课程难度也不小,因此,学起来十分的吃力。
这次的课程设计让我有一次地接触到了数字信号处理和MATLAB软件。
刚开始的时候还是感觉无从下手,因为之前的基本功不扎实,但是随着老师的讲解和自己私下查找的资料,渐渐掌握到了门路。
这次的课设加深了我对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。
同时掌握编程方法和解决实际问题的技巧。