陷波滤波器

陷波滤波器

目录导航

定义

当带阻滤波器的阻带很窄时, 被称为陷波滤波器 , 又称点阻滤波器。一个理想点阻滤波器的频率响应是要在消除的信号频率点, 其值等于零;而在其他频率处, 其值不为零, 且要等于1。

理想的陷波滤波器的频率响应式为

 陷波滤波器的幅频特性 陷波滤波器的幅频特性

理想的陷波滤波器的幅频特性如图所示。

简单的(二阶)陷波滤波器是RLC串联电路,这个电路滤除的频率可以通过这个公式计算:

设计方法

陷波滤波器的设计是以模拟滤波器为原型, 通过一定变换转换为数字滤波器。陷波滤波器的设计方法有2 种:

(1)依托模拟低通为设计原型, 利用模拟频率带阻变换法, 再利用双线性变换法将前面所设计的带阻滤波器数字化;

数字式陷波滤波器原理图数字式陷波滤波器原理图(2)在频域进行直接设计的z 平面零极点法。

应用

比如, 在20Hz 正弦波中人为加入了50Hz 的干扰, 通过陷波滤波器, 滤波后得到的波形基本上滤去了干扰, 如图3 的滤波器效果对照图所示。在医学上心电图使用的频率较高, 假设心电波形受到60Hz 严重干扰, 可经25Hz 低通滤波和50Hz 陷波滤波器滤波后得到的清晰的波形。

滤波器效果滤波器效果如图的滤波器效果对照图所示。

matlab实现

下面给出理想陷波滤波器的MATLAB代码实现:

% Matlab code for plotting the frequency response of digital notch filter

% Implemented as all pass filter section
clear; close all
fs = 1e6;
fn = 200e3;
fb = 50e3;
omega0T =fn/(fs/2)*pi;
deltaT = fb/(fs/2)*pi;
a2 = (1-tan(deltaT/2))./(1+tan(deltaT/2));
a1 = (1+a2).*cos(omega0T);
B = [1 -a1 a2];
A = [a2 -a1 1];
[H1 W1] = freqz(B,A,1024,'whole');
[H2 W2] = freqz(1,1,1024,'whole');
H3 = (H1+H2)/2;
h = figure(1);
subplot(2,1,1);
plot([-512:511]/1024*fs/1e6,20*log10(fftshift(abs(H3))),'b-','LineWidth',4);
grid on; ylabel('amplitude, dB');
title('notch filter, fs=1MHz, fn=200kHz, fb=50kHz');
axis([-0.5 0.5 -50 10]);
subplot(2,1,2);
plot([-512:511]/1024*fs/1e6,(fftshift(angle(H3)*180/pi)),'m-','LineWidth',4);
grid on; xlabel('freq, MHz'); ylabel('angle, deg');
title('phase response');
axis([-0.5 0.5 -180 180]);

相关百科
返回顶部
产品求购 求购