陷波滤波器设计

FPGA教程目录

MATLAB教程目录

-----------------------------------------------------------------------

        在信号处理中经常要把某些单频(窄带)干扰信号去除,例如求系统采集信号中的把工频信号滤除。实际上有一个很好的方法,便是使用陷波器。陷波器是一种特殊的带阻滤波器,陷波滤波器主要用于消除某个特定频率的干扰,数字陷波器一般为IIR滤波器。由于陷波器频率特性的特殊性,它除了可采用双线性变换进行设计外,还可以采用所谓零极点配置的方法进行设计。

陷波滤波器是无限冲击响应(IIR)数字滤波器,该滤波器可以用以下线性差分方程表示:

陷波滤波器的理想频率特性曲线如下图所示:

图1 陷波滤波器的理想频率特性曲线

通过上面的理论介绍可知,本课题所设计的陷波滤波器的MATLAB代码的核心部分如下所示:

f0    = 135;     

Ts    = 0.001;

Fs    = 1/Ts;  

Len   = 512;   

L     = 0:Len-1;

C1    =-2*cos(2*pi*f0*Ts);

C2    = 0.95;

b     =[1 C1 1];

a     =[1 C1*C2 C2^2];

figure(1);

freqz(b,a,Len,Fs);

X     = 1.2*cos(2*pi*135*L*Ts) + cos(2*pi*100*L*Ts);

y     = dlsim(b,a,x);

y_fft  = fft(x,Len);

y_fft  = y_fft.*conj(y_fft)/Len;

y1    = fft(y,Len);

y2    = y1.*conj(y1)/Len;

通过仿真,其频谱响应曲线如下图所示:

图4 陷波滤波器的频谱响应曲线

下面通过一组测试信号进行陷波滤波器的测试:

图5 测试信号通过陷波滤波器之后的对比仿真图(滤除135hz频点)

图6 测试信号通过陷波滤波器之后的对比仿真图(滤除100hz频点)

通过图5的仿真结果可知,将同时包含100hz和135hz两种信号进行陷波滤波,通过陷波滤波器之后,信号仅剩下100hz,信号得到很好的还原了。图6也同样道理。

    通过对上面的陷波滤波器的仿真可知,只要通过调整参数f0,即可实现对不同频点进行陷波滤波,从而实现了参数可调。下面将该滤波器应用到控制系统中,进行仿真分析。

    根据图3的控制系统结构,可以知道加入陷波滤波器之后的控制系统,其仿真结果如下所示:

图7 不带陷波滤波器的控制系统反馈信号

图8 不带陷波滤波器的控制系统反馈频谱

    下面对加入陷波滤波器的控制信号进行仿真,得到如下的仿真结果:

图9 带陷波滤波器的控制系统反馈信号

图10 带陷波滤波器的控制系统反馈频谱

    通过上面的仿真结果可知,将陷波滤波器加入到控制系统中,其反馈信号的抖动明显得到改善,从而大大提高系统的稳定性。

  • 16
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值