陷波器设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

陷波器设计

由传递函数的零点和极点可以大致绘出频率响应图。 在零点处,频率响应出 现极小值;在极点处,频率响应出现极大值。因此可以根据所需频率响应配置零 点和极点,然后反向设计带陷数字滤波器。考虑一种特殊情况,若零点 Z |在第1 象限单位圆上,极点P i 在单位圆内靠近零点的径向上。为了防止滤波器系数出 现复数,必须在z 平面第4象限对称位置配置相应的共轭零点Z j 、共轭极点p i < 这样零点、极点配置的滤波器称为单一频率陷波器, 在频率①o 处出现凹陷 而把极点设置在零的的径向上距圆点的距离为1-卩处,陷波器的传递函数为:

(Z Z 1)(Z Z 2) (z (1 )zj(z (1 )Z 2)

式⑶ 中卩越小,极点越靠近单位圆,贝擞率响应曲线凹陷越深,凹陷的宽 度也越窄。当需要消除窄带干扰而不能对其他频率有衰减时,陷波器是一种去除 窄带干扰的理想数字滤波器。

当要对几个频率同时进行带陷滤波时,可以按 (2)式把几个单独频率的带陷 滤波器(3)式串接在一起。

一个例子:设有一个输入,它由50Hz 信号和100Hz 信号组成。50Hz 是一个干扰 信号,要设计一个50 Hz 的带陷滤波器,采样频率为400Hz=

1

2 50/400

/4

因此z 平面上的零极点可设置为

/4

P 1 0.999e

j /4

=0.999(COS : j sin :) 0.999(0.707 j0.707) 7064 j7063

它的传递函数为

陷波器是无限冲击响应 差分方程表示: M

y(n) aX n

式中:x(n)和y(n)分别为输人和输出信号序列;a :和b 为滤波器系数。 对式(1)两边进行z 变换,得到数字滤波器的传递函数为:

M

a i z 1

H(z) + b i z 1

I 0

式中:Z |和P i 分别为传递函数的零点和极点。

i)

(IIR)数字滤波器,该滤波器可以用以下常系数线性

by( n I) (1)

I 1

M

(z Z |)

■N ----------

(z P i ) I 1

H(z)

P 1 展开式为

0.999e

/4

e j /4= cos_ 4

2 2

j sin 4

0.707 j0.707

(z Z i)(z Z1)

(Z P i)(z p 1) (z 0.707 j0.707)(z 0.707 j 0.707)

(z 0.7063 j0.7063)(z 0.7063 j0.7063)

2

z 1.414z 1 1 1.414z

2

z 1.4126z 0.999 1 1.4126z 0.999z

因此分子系数是[1 1.414 1] 差分方程有

y(n) a(2)y( n 1) a(3)y(n y(n) x(n) b(2)x( n 1) ;分母系数是[1 1.4126 0.999]。

2) x( n) b(2)x( n 1) b(3)x(n 2)

b(3)x(n 2) a(2)y(n 1) a(3)y(n 2)

程序清单有

% 50Hz n otch filter

% sample freque ncy=400

%

clear all;

clc;

b=[1 -sqrt (2) 1];

a=[1 -sqrt(2)*0.999 0.999];

[db, mag, pha, grd, w]=freqz_m(b, a);

subplot(221); plot(w*200/pi, db);

title( xlabel( 'freque ncy in Hz' );

ylabel(

set(gca, 'XTickMode' , 'man ua l',

set(gca, 'YTickmode' , 'ma nual' , title( 'Notch filter resp on se' ); t0=1:8000;

t=1:256; t1=1:100;

t2=1:128;

x=si n(2*pi*50*t0/400)+0.5*si

n(2*pi*100*t0/400); x1=x(t);

y=filter(b,a,x1); subplot(222); plot(x1);

title( 'Origi nal waveform' );

X=fft(x1);

subplot(223); plot(t2*400/256,abs(X(t2))); xlabel( 'freque ncy in Hz' );

ylabel(

title( 'Spectrum for orig inal' ); set(gca, 'XTickMode' , 'man ua l',

set(gca, 'YTickmode' , 'ma nual' ,

'Magn itude Resp on se' );

'dB' ); axis([0, 100, -200, 5]);

'XTick' , [0, 50, 100]);

'YTick' , [-200, -100, 0]); grid

'|H|' ); axis([0, 200, 0,

150]);

'XTick' , [0, 50, 100, 150]);

'YTick' , [50, 100]); grid

y=filter(b,a,

x);

x1=y(t+7600);

X=fft(x1);

H(z)

相关文档
最新文档