用双线性变换法设计原型低通为巴特沃兹型的数字IIR高通滤波器

更新时间:2023-08-25 14:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

专业课程设计任务书

说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页

1 需求分析

当今,数字信号处理(DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。

数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号、射电天文信号、生物医学信号、控制信号、气象信号、地震勘探信号、机械振动信号、遥感遥测信号,等等。上述这些信号大部分是模拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是用数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列;而图像信号经采样和量化后,得到的数字信号是一个二维离散空间序列。数字信号处理,就是用数值计算的方法对数字序列进行各种处理,把信号变换成符合需要的某种形式。例如,对数字信号经行滤波以限制他的频带或滤除噪音和干扰,或将他们与其他信号进行分离;对信号进行频谱分析或功率谱分析以了解信号的频谱组成,进而对信号进行识别;对信号进行某种变换,使之更适合于传输,存储和应用;对信号进行编码以达到数据压缩的目的,等等。

数字滤波技术是数字信号分析、处理技术的重要分支[2-3]。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。

本次课程设计的内容为用双线性变换法设计原型低通为巴特沃兹型的数字IIR高通滤波器,要求通带边界频率为500Hz,阻带边界频率分别为400Hz,通带最大衰减1dB,阻带最小衰减40dB,抽样频率为2000Hz,用MATLAB画出幅频特性,画出并分析滤波器传输函数的零极点;

2 (f1t) sin2 (f2t)经过该滤波器,其中信号x(t) x1(t) x2(t) sin

f1 300Hz,f2 600Hz,滤波器的输出y(t)是什么?用Matlab验证你的结论并

给出x1(t),x2(t),x(t),y(t)的图形。

2 概要设计:

2. 1 数字滤波器介绍

数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。

时域离散系统的频域特性:

,其中

分别是数

是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性),

字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。输入序列的频谱

经过滤波后

,因此,只要按照输入信号频谱的特点和处理

信号的目的, 适当选择,

使得滤波后的满足设计的要求,

这就是数字滤波器的滤波原理。 2. 2 IIR数字滤波器的设计方法 IIR数字滤波器的基本结构

一个数字滤波器可以用系统函数表示为:

M

b

H(z)

k 0

Nk 1

k

z

k

k

Y(z)X(z)

(2-1)

1 akz

由这样的系统函数可以得到表示系统输入与输出关系的常系数线形差分程 为:

N

M

k

y(n)

a

k 0

y(n k)

b

k 0

k

x(n k) (2-2)

可见数字滤波器的功能就是把输入序列x(n)通过一定的运算变换成输出序列y(n)。不同的运算处理方法决定了滤波器实现结构的不同。无限冲激响应滤波器的单位抽样响应h(n)是无限长的,其差分方程如(2-2)式所示,是递归式的,即结构上存在着输出信号到输入信号的反馈,其系统函数具有(2-1)式的形式,因此在z平面的有限区间(0<︱z︱<∞)有极点存在。

前面已经说明,对于一个给定的线形时不变系统的系统函数,有着各种不同的等效差分方程或网络结构。由于乘法是一种耗时运算,而每个延迟单元都要有一个存储寄存器,因此采用最少常熟乘法器和最少延迟支路的网络结构是通常的选择,以便提高运算速度和减少存储器。然而,当需要考虑有限寄存器长度的影响时,往往也采用并非最少乘法器和延迟单元的结构。

IIR滤波器实现的基本结构有:

(1)IIR滤波器的直接型结构;

优点:延迟线减少一半,变为N 个,可节省寄存器或存储单元; 缺点:其它缺点同直接I型。

通常在实际中很少采用上述两种结构实现高阶系统,而是把高阶变成一系列不同组合的低阶系统(一、二阶)来实现。

(2)IIR滤波器的级联型结构;

特点:系统实现简单,只需一个二阶节系统通过改变输入系数即可完成; 极点位置可单独调整;

运算速度快(可并行进行);

各二阶网络的误差互不影响,总的误差小,对字长要求低。 缺点:

不能直接调整零点,因多个二阶节的零点并不是整个系统函数的零点,当需要准确的传输零点时,级联型最合适。

(3)IIR滤波器的并联型结构。 优点:

简化实现,用一个二阶节,通过变换系数就可实现整个系统;

极、零点可单独控制、调整,调整α1i、α2i只单独调整了第i对零点,调整β1i、β2i则单独调整了第i对极点;

各二阶节零、极点的搭配可互换位置,优化组合以减小运算误差;

可流水线操作。

缺点:

二阶阶电平难控制,电平大易导致溢出,电平小则使信噪比减小。

a、直接型 b、并联型

c、串联型

2. 3 巴特沃兹滤波器 (Butterworth 滤波器)

特点:具有通带内最大平坦的振幅特性,且随f↗,幅频特性单调↘。 其幅度平方函数:

A( ) Ha(j )

2

2

1 j 1

j c

2N

N为滤波器阶数,如图1

图1、 巴特沃斯滤波器振幅平方特性

通带: 使信号通过的频带 阻带:抑制噪声通过的频带 过渡带:通带到阻带间过渡的频率范围 Ωc :截止频率。 过渡带为零

理想滤波器阻带|H(jΩ )|=0

通带内幅度|H(jΩ)|=cons.

H(jΩ)的相位是线性的

图3-1中,N增加,通带和阻带的近似性越好,过渡带越陡。 通带内,分母Ω/Ωc<1, ( Ω/Ωc)2N<1,A(Ω2)→1。 过渡带和阻带,Ω/Ωc>1, ( Ω/Ωc)2N>1, Ω增加, A(Ω2) 快速减小。 Ω=Ωc, A( )

2

12

,

A( c)A(0)

2

12

,幅度衰减,相当于3db衰减点。

振幅平方函数的极点

Ha( S) Ha(S)

1 (

1Sj c

)

2N

可见,Butter worth滤波器 的振幅平方函数有2N个极点,它们均匀对称地分布在|S|=Ωc的圆周上。

考虑到系统的稳定性,知DF的系统函数是由S平面左半部分的极点(SP3,SP4,SP5)组成的,它们分别为:

系统函数为

Ha(s)

c

3

Sp3 ce

2j 3

,Sp4 c,Sp5 ce

2 j 3

(S Sp3)(S Sp4)(S Sp5)

令 c 1 ,得归一化的三阶BF:

如果要还原的话,则有

Ha(s)

1

(s/ c) 2(s/ c) 2(s/ c) 1

3

2

Ha(s)

1

S 2S 2S 1

3

2

2. 4 双线性变法法

目的:将模拟带通滤波器转换成数字高通滤波器

为了克服冲激响应法可能产生的频率响应的混叠失真,这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=e转换到Z平面

sT

上。也就是说,第一步先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;第二步再通过标准变换关系z=e1将此横带变换到整个Z平面上去。这样就

sT

使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了

S平面S1平面

Z平面

图2双线性变换的映射关系

为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现

T

tan 1 T 2 2

式中,T仍是采样间隔。

当Ω1由-π/T经过0变化到π/T时,Ω由-∞经过0变化到+∞,也即映射了整个jΩ轴。将式写成

j

2T ee

j 1T/2j 1T/2

e e

j 1T/2

j 1T/2

将此关系解析延拓到整个S平面和S1平面,令jΩ=s,jΩ1=s1,则得

2e1 e12 s1T 21 e1

s sT/2 tanh s1T/2 s1T1

Te eT 2 T1 e

sT/2

sT/2

sT

再将S1平面通过以下标准变换关系映射到Z平面

z=es1T

从而得到S平面和Z平面的单值映射关系为:

1 z

s

21 zT1 z

1 1

TT2

ss

2 2T

s s

首先,把z=e,可得

1

s

21 eT1 e

j j

jtan j

T 2

2

即S平面的虚轴映射到Z平面的单位圆。 其次,将s=σ+jΩ代入式,得

2z 2

T

j j

因此

|z|

2 2 T 2 2 T

22

由此看出,当σ<0时,|z|<1;当σ>0时,|z|>1。也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。

双线性变换法优缺点:双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。这是因为S平面与Z平面是单值的一一对应关系。S平面整个jΩ轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。这个关系如式所示,重写如下:

tan T

2 2

上式表明,S平面上Ω与Z平面的ω成非线性的正切关系

由图3看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。

图3双线性变换法的频率变换关系

但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,如式(及

图4所示。由于这种频率之间的非线性变换关系,就产生了新的问题。首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图5所示。

图5双线性变换法幅度和相位特性的非线性映射

对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。

2. 5 设计步骤

根据以上FIR数字滤波器设计方法,下面运用双线性变换法基于MATLAB设计一个FIR高通滤波器,其中通带边界频率为500Hz,阻带边界频率分别为400Hz,通

带最大衰减1dB,阻带最小衰减40dB,抽样频率为2000Hz

(1)确定性能指标

在设计高通滤波器之前,首先根据工程实际的需要确定滤波器的技术指标: (2)频率预畸变

用Ω=2/T*tan(w/2)对高通数字滤波器H(z)的数字边界频率预畸变,得到高通模拟滤波器H(s)的边界频率主要是通带截止频率Wp1;阻带截止频率Ws1,的转换。 (3)模拟高通性能指标转换成模拟低通性能指标

WP=1; %归一化处理 WS=WP* Wp1/ Ws1; (4)模拟低通滤波器的构造

借助巴特沃兹滤波器得到模拟低通滤波器的传输函数。 (5)模拟低通滤波器转换成模拟高通滤波器

调用lp2bp函数将模拟低通滤波器转化为模拟高通滤波器。 (6)模拟高通滤波器转换成数字高通滤波器

利用双线性变换法将模拟高通滤波器Ha(s)转换成数字高通滤波器H(z)。 (7)输入信号检验滤波器性能

输入不同频率的正弦波,观察输出波形,检验滤波器性能。

2. 6 程序流程图

↓ ↓

2. 7 问题分析

(1) 在设计高通滤波器时,首先要将数据进行归一化这样可以提高设计的准确性。

(2) 在设计信号的输入时,课程中的数据f2如果是600HZ时,则复合信号通过滤波器时无法输出正常的信号X2,这说明频率太低,而被全被滤除,在将频率改至3000HZ之后则能输出符合设计要求的信号。

(3) 信号通过滤波器后输出的信号与x2的信号开始部分有点失真,这时因为信号并不是非常理想的通过滤波器的,在通过滤波器时受到滤波器的影响是从不稳定逐渐趋向稳定的。

3 运行环境

Windows xp

4 开发工具和编程语言

Matlab 6.5

5 详细设计

clc;clear all

Rp = 1; % 通带衰减/dB Rs = 40; %

阻带衰减/dB

OmegaP1_1=500; % 通带边界频率 OmegaS1_1=400; % 阻带边界频率 Fp=2000; % 抽样频率

Wp1=2*pi*OmegaP1_1/Fp; % 通带频率模数转换 Ws1=2*pi*OmegaS1_1/Fp; % 阻带频率模数转换 OmegaP1=tan(Wp1/2); % 通带频率非线性变换 OmegaS1=tan(Ws1/2); % 阻带频率非线性变换 Eta_P=OmegaP1/OmegaP1; %归一化 Eta_S=OmegaS1/OmegaP1; %归一化 Lemta_P_EquivalentLowPass=1/Eta_P; Lemta_S_EquivalentLowPass=1/Eta_S; % 估计滤波器阶数

[N, Wn] = buttord(Lemta_P_EquivalentLowPass, Lemta_S_EquivalentLowPass, Rp, Rs,'s'); %设计滤波器

[num1,den1] = butter(N,Wn,'s');

[num2,den2]=lp2hp(num1,den1,OmegaP1); [num,den]=bilinear(num2,den2,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([0 1 -60 5]);

xlabel('\omega /\pi'); ylabel('增益/ dB'); title('巴特沃兹高通滤波器'); figure;

zplane(z,p);%绘制传输函数零极点 title('传输函数的零极点'); f1=300,f2=3000; n=0:600;t=n/10000; x1=sin(2*pi*f1*t); x2=sin(2*pi*f2*t); x=x1+x2; figure;

subplot(2,2,1)%绘制x1的波形 plot(x1);grid on; axis([0,50*pi,-3,3]); xlabel('t');ylabel('x1(t)'); title('x1的波形');

subplot(2,2,2)%绘制x1的波形 plot(x2);grid on; axis([0,50*pi,-3,3]); xlabel('t');ylabel('x2(t)'); title('x2的波形');

subplot(2,2,3)%绘制输入x的波形 plot(x);grid on; axis([0,50*pi,-3,3]); xlabel('t');ylabel('x(t)'); title('输入信号x的波形')

y=filter(num,den,x);%数字滤波器输出 subplot(2,2,4);%绘制输出y的波形 plot(y); grid on;

axis([0,50*pi,-3,3]); xlabel('t');ylabel('y');

title('滤波器输出y的波形')

6 调试分析

z =

1.3186 + 0.0728i 1.3186 - 0.0728i 1.2471 + 0.1915i 1.2471 - 0.1915i 1.1460 + 0.2529i 1.1460 - 0.2529i 1.0478 + 0.2773i 1.0478 - 0.2773i 0.9460 + 0.2698i 0.9460 - 0.2698i 0.8580 + 0.2250i 0.8580 - 0.2250i 0.7968 + 0.1570i 0.7968 - 0.1570i 0.7632 + 0.0792i 0.7632 - 0.0792i 0.7531 p =

0.0444 + 0.9106i 0.0444 - 0.9106i

0.0381 + 0.7545i 0.0381 - 0.7545i 0.0336 + 0.6187i 0.0336 - 0.6187i 0.0303 + 0.4976i 0.0303 - 0.4976i 0.0279 + 0.3871i 0.0279 - 0.3871i 0.0262 + 0.2843i 0.0262 - 0.2843i 0.0251 + 0.1868i 0.0251 - 0.1868i 0.0245 + 0.0926i 0.0245 - 0.0926i 0.0243 k =

7.3789e-005

分子系数是

Columns 1 through 6

0.0001 -0.0013 0.0100 -0.0502 0.1756 -0.4566

Columns 7 through 12

0.9132 -1.4350 1.7938 -1.7938 1.4350 -0.9132

Columns 13 through 18

0.4566 -0.1756 0.0502 -0.0100 0.0013 -0.0001

分母系数是

Columns 1 through 6

1.0000 -0.5247 2.4322 -1.0556 2.2461 -0.7954

Columns 7 through 12

1.0097 -0.2858 0.2357 -0.0517 0.0283 -0.0046

Columns 13 through 18

0.0016 -0.0002 0.0000 -0.0000 0.0000 -0.0000 f1 = 300

7 测试结果

17

18

本文来源:https://www.bwwdw.com/article/9yei.html

Top