自适应IIR格型滤波器的Matlab实现

  • 概述

  • 在现有的众多抑制窄带干扰的信号处理手段中,时域自适应陷波干扰抑制技术具有实现简单、抗干扰性能好等优点。IIR陷波器按照结构可以分为直接型和格型两种。相比自适应直接型IIR陷波器,自适应格型IIR陷波器不仅可以准确地控制滤波器的陷波频率,也可以准确地调整陷波器的带宽。
  • 传递函数

  • 二阶自适应IIR格型陷波器的传递函数H(z)为:

  •  其中α与陷波带宽有关,β与陷波频率有关;对应的结构如下图所示:

  • Matlab算法实现

  •  思路:通过rife算法估计出干扰频率,采用自适应滤波器IIR算法,滤除正弦波干扰信号

  • 参考部分源码:

  • clc,clear,close all;
    f=200;                          %信号频率为
    A=4;                            %设置正弦波幅值
    N=1024;                         %采样点个数
    n=0:N-1;                        %采样序列
    fs=2000;                        %采样频率为  fs=2K
    ts=1/fs;                        %采样间隔
    T=N*ts;                         %采样时间
    
    m=-fs/2:(fs/N):(fs/2-(fs/N));   %其中fs/N为采样分辨率
    % % % 
    f1=20;
    s_n=sin(2*pi*f1*n*ts); 
    subplot(4,2,1);plot(n*ts,s_n); title('原始信号:sin(2*pi*f1*n*ts)');
    subplot(4,2,2);plot(m,abs(fftshift(fft(s_n))));  title('频谱分析');
    
    SNR=10;
    s_n=awgn(s_n,SNR);                %SNR参数,可参考awgn函数
    subplot(4,2,3);plot(n*ts,s_n); title('原始信号+高斯噪声');
    subplot(4,2,4);plot(m,abs(fftshift(fft(s_n))));  title('频谱分析');
    
    i_n=A*sin(2*pi*f*n*ts);           %生成正弦波信号,干扰信号
    xn=s_n+i_n;                       %添加干扰信号
    
    subplot(4,2,5);plot(n*ts,xn); title('原始信号+高斯噪声+窄带干扰')
    subplot(4,2,6);plot(m,abs(fftshift(fft(xn))));  title('频谱分析');
    
    
    
    
    %%%使用rife算法进行频率估计
    yw=abs(fft(xn));                                    %傅里叶变换
    % subplot(4,1,4);plot(n,yw);  
    [valueMax,posMax] = max(yw(1:N));                   %得到谱线最大值与坐标
    if( yw(posMax+1) >= yw(posMax-1))                   %判断r的值    
        r=1;
    else
        r=-1;
    end

    运行结果:

  • 其中在频谱上200Hz高峰是干扰信号,20Hz的高峰是有用信号;通过4-2-6、4-2-8图片对比可以看到200Hz的干扰信号滤除了,保留了20Hz的有用信号。

  • 参考源码链接:

  • 自适应IIR格型滤波器的Matlab实现-嵌入式文档类资源-CSDN下载

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

剑藏锋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值