陷波滤波器_陷波滤波器的应用 - CSDN
精华内容
参与话题
  • 陷波滤波器设计及应用

    千次阅读 2020-03-09 22:28:48
    陷波滤波器的传递函数有多种形式,同事采用了如下的G(s) 其中是陷波频率,是陷波系数 陷波滤波器有三个指标,陷波频率,陷波深度depth,和陷波带宽。 根据这三个指标计算,即可将陷波滤波器设计出来,然后在...

    最近有个对陷波滤波器应用的需求,具体见《单相PWM整流反馈电压陷波滤波的好处》博文记录。

    在同事现成的推导过程中做相关整理,方便以后使用。

    陷波滤波器的传递函数有多种形式,同事采用了如下的G(s)

    其中是陷波频率,是陷波系数

    陷波滤波器有三个指标,陷波频率,陷波深度depth,和陷波带宽

    根据这三个指标计算,即可将陷波滤波器设计出来,然后在离散化,代码化,即可写入程序进行调试应用。

    通过计算,可知

    其中带宽,陷波频率,陷波深度为给定的设计指标,通过上面两个公式即可求出分子分母上的两个系数。

    具体的系数推导过程如下:

    解上面这个方程

    由上面的约束可推算出k<-2

    计算完成

     

     

    展开全文
  • 陷波滤波器(Notch Filter): 陷波滤波器是带阻滤波器的一种,其阻带很窄,因此也称点阻滤波器。常常用于去除固定频率分量或阻带很窄的地方。如用于去除直流分量,去除某些特定频率分量。 峰值滤波器与陷波滤波器...

    陷波滤波器(Notch Filter):

    陷波滤波器是带阻滤波器的一种,其阻带很窄,因此也称点阻滤波器。常常用于去除固定频率分量或阻带很窄的地方。如用于去除直流分量,去除某些特定频率分量。

    峰值滤波器与陷波滤波器恰好相反,峰值滤波器是带通滤波器的一种,其通道很窄。常常用于保留固定频率分量或通道很窄的地方。

    陷波滤波器的设计:

    这里,设计一个去直流的应用。

    设计过程:

    通过filterDesigne设计,“Response Type”选择“Notching” ,在“Filter Order”输入1,随后填入“Fs”和“Bandwidth”和Apass等。最后,会得到一个1阶IIR滤波器。

    Num=[0.9983,-0.9983];Den=[1, -0.9967];

    限波去直流滤波器

    在FPGA实现时,可以通过调整部分指标,优化系数,使其不使用乘法器DSP。

    系数优化前后对比

    至此,FPGA实现时,只需要采取截断的方式即可。

    y(n) = \frac{(2^{k}-1)*(y(n-1)+x(n)-x(n-1))}{2^{k}}

    或则,

    dc(n) = \frac{x(n)}{2^{k}}+\frac{(2^{k}-1)*y(n-1)}{2^{k}}

    y(n) = x(n) - dc(n)

    在实现时,乘法用移位相加替换,2^{k}的除法用截断替换。

    \frac{xn}{2^k}=xn[msb:k]=xn>>k

    \frac{xn*(2^k-1)}{2^{k}}=(\left \{xn,\left \{k\left \{1'b0 \right \} \right \} \right \}-xn)>>k=((xn<<k)-xn)>>k

    展开全文
  • 算法学习笔记之50HZ陷波滤波器设计

    万次阅读 2016-11-16 18:01:26
    工频干扰是由电力系统引起...常用的工频陷波器主要有IIR和FIR两种,其中FIR具有良好的线性相位,但是在同等滤波效果的情况下,IIR的阶数要比FIR少很多,一个两阶的IIR滤波器的效果FIR要付出100多阶的代价,阶数大意味着

     工频干扰是由电力系统引起的一种干扰,中国大陆地区由50hz及其谐波构成的一种干扰,幅值约为ECG(心电信号的50%)。

     

            工频干扰可以用陷波器进行处理,过滤50hz信号。常用的工频陷波器主要有IIR和FIR两种,其中FIR具有良好的线性相位,但是在同等滤波效果的情况下,IIR的阶数要比FIR少很多,一个两阶的IIR滤波器的效果FIR要付出100多阶的代价,阶数大意味着运算量大,对于一个MCU单片机来说这是得不偿失的,所以采用IIR滤波器来实现工频滤波。

           IIR滤波器的设计方法有脉冲响应不变法和双线性变换法,如果你已经熟悉IIR滤波器的设计原理可以直接借用Matlab的Fdatool滤波器设计工具直接生成相关系数,这样省去了中间设计环节,再通过IIR滤波器的直接II型实现方式翻译成C语言格式并应用于STM32平台(重要:fs为采样频率,Fnotch为陷波频率)

                 

    按Designer键即可生成IIR滤波系数

                 

    导出滤波系数得到转移函数

                 

    这样再通过直接II型实现框图,翻译成C语言代码并烧录到主控MCU中运行

                 

     x0=ADC_ConvertedValueLocal;  //输入ADC采集到的信号  

              w0[0]=IIR_50Notch_A[0]*x0-IIR_50Notch_A[1]*w0[1]-IIR_50Notch_A[2]*w0[2];

              y0=IIR_50Notch_B[0]*w0[0]+IIR_50Notch_B[1]*w0[1]+IIR_50Notch_B[2]*w0[2];

              w0[2]=w0[1];

              w0[1]=w0[0];

    前提是你的输入信号的时域采样率要和滤波器的频域采样率要保持一致,这样就涉及定时器触发ADC采样,用STM32的定时器来配置采样率,

    附带Matlab平台仿真实现:

     

             clear all
             fs=250;           %数字滤波器的采样频率fs=1000hz
             f=50;              Phz的正弦信号
             t=0:1/fs:4;      %时间间隔,ADC采样频率250hz
             s=sin(2*pi*f*t);

             IIR_B=[0.90239774423695518,-0.55771247730967288,0.90239774423695518];
             IIR_A= [1,-0.55771247730967288,0.80479548847391036];

             w01=0;
             w02=0;
             w03=0;

             for i=1:1000
                    w01=s(i)-IIR_A(2)*w02-IIR_A(3)*w03;
                    y0(i)=IIR_B(1)*w01+IIR_B(2)*w02+IIR_B(3)*w03;
       
      
                   w03=w02;
                   w02=w01;
           end

       

          figure
          subplot(211)
          axis([1,1000,-1,1]);
          hold on
          plot(s);
          title('直接II型实现—原始信号时域');
          subplot(212)
          plot(y0,'r');

          title('直接II型实现—信号滤波之后');

    展开全文
  • 自适应陷波滤波器(Notch滤波器)

    万次阅读 2018-07-22 18:07:31
     自适应陷波滤波器相比于普通的数字滤波器具有较窄的阻带和通带,带外衰减较快。具有滤波输出(Y输出)和陷波输出(E输出)两个输出。能够实现窄带滤波和窄带陷波。当干扰是单频信号,或者有用信号是单频信号时,...

        自适应滤波器以其自身调节参数的能力以及对信号和噪声的先验知识要求少的优势得到了广泛的应用。

       自适应陷波滤波器相比于普通的数字滤波器具有较窄的阻带和通带,带外衰减较快。具有滤波输出(Y输出)和陷波输出(E输出)两个输出。能够实现窄带滤波和窄带陷波。当干扰是单频信号,或者有用信号是单频信号时,自适应Notch滤波器具有很好的滤波效果。

           自适应Notch滤波器的基本原理是将某中心频率的正交信号作为参考信号,利用该正交信号的线性组合跟踪输入信号,并通过每一步的残差不断调整线性组合的权系数,从而使得输入信号中与参考信号线性相关的部分分离出来,达到窄带滤波的效果。自适应Notch滤波器的结构所示:

    其中参考信号为,  w_{0}表示 参考信号的中心频率

              

    若权值的递推公式选取LMS算法则,自适应Notch滤波器的递推过程如下:

    其中u 为自适应Notch滤波器的学习步长,  u=\frac{B*\pi }{A^{2}fs}  

    w_{c}w_{s}为两个参考信号的权系数。

    仿真过程如下:

    在300Hz单频信号中加入50Hz的工频干扰;利用Notch滤波器将50Hz的工频干扰滤除

    %自适应陷波器仿真
    clc
    clear all
    close all
    %%——造接收信号—————————————————————
    f1=300;
    fs=10000;
    ts=0:1/fs:1-1/fs; 
    s=cos(2*pi*ts*f1)+sin(2*pi*ts*f1);%+cos(2*pi*t*f3);
    sig_in=[zeros(1,10000) s  zeros(1,10000)];
    
    N=length(sig_in);
    t=(1:N)*1/fs;
    n=0.5*cos(2*pi*t*50); %引入50Hz工频干扰
    d=sig_in+n;                  %引入50Hz工频干扰后的接收输入
    
    %%  ——造参考信号—————————————————————
    x1=cos(2*pi*t*50);                 %参考输入1
    x2=sin(2*pi*t*50);                 %参考输入2
    %%  ——Notch滤波—————————————————————
    w1=0.1;
    w2=0.1;                       %权矢量初值
    e=zeros(1,N);
    y=zeros(1,N);
    u=0.001;                  
    for i=1:N                       %LMS算法
        y(i)=w1*x1(i)+w2*x2(i);
        e(i)=d(i)-y(i); 
        w1=w1+u*e(i)*x1(i); 
        w2=w2+u*e(i)*x2(i); 
    end
    
    figure(1) %%% 画出时域波形
    subplot(4,1,1);plot(t,sig_in);
    xlabel('时间/s')
    title('原始信号');
    subplot(4,1,2); plot(t,d);
    xlabel('时间/s')
    title('加入50Hz工频干扰后的接收信号');
    subplot(4,1,3);plot(t,e);
    xlabel('时间/s')
    title('自适应陷波器输出信号');
    subplot(4,1,4); plot(t,y);
    xlabel('时间/s')
    title('自适应滤波器输出信号');
    
    
    figure(2)%%% 画出频谱
    Nfft=100000;
    f=(0:1/Nfft:(1-1/Nfft))*fs;
    subplot(4,1,1);
    plot(f,abs(fft(hilbert(sig_in(10000:20000)),Nfft)));xlim([0 500]);%axis([0 1000 0 1000]);
    xlabel('频率/Hz')
    title('原始信号 频谱');
    subplot(4,1,2);plot(f,abs(fft(hilbert(d(10000:20000)),Nfft)));xlim([0 500]);%grid on;%axis([0 1000 0 5000]);
    xlabel('频率/Hz')
    title('加入50Hz工频干扰后的接收信号  频谱');
    subplot(4,1,3);plot(f,abs(fft(hilbert(e(10000:20000)),Nfft)));xlim([0 500]);%grid on;%axis([0 1000 0 1000]);
    xlabel('频率/Hz')
    title('自适应陷波器输出信号 频谱');
    subplot(4,1,4);plot(f,abs(fft(hilbert(y(10000:20000)),Nfft)));xlim([0 500]);%grid on;%axis([0 1000 0 1000]);
    xlabel('频率/Hz')
    title('自适应滤波器输出信号 频谱');
    
    

     

    由上图可以看出滤波器能够实现去除工频干扰的功能,陷波通道(e通道)输出的即为 滤掉50Hz工频干扰后的信号,而滤波通道(Y通道)得到是要滤除的50Hz工频干扰。

    展开全文
  • 设计陷波滤波器 5 滤波显示结果图像查看不同参数的效 matlab代码: clear all; close all; clc; %1.对图像做傅里叶变换,得到其频域图像 src = im2double(imread('image3.bmp')); src = rgb2g
  • 双T型陷波滤波器

    万次阅读 多人点赞 2013-04-20 09:11:35
    双T型陷波滤波器应该是最常见的陷波滤波器,下面就简单介绍一下这种滤波器的特性。 最基本双T型结构如图1所示。 图 1 双T型基本结构 上图中各器件的值要满足如下的关系。 C1=C2=C,C3=2C。R1=R2=R,R3=R/2...
  • 陷波滤波器matlab代码

    2020-07-25 23:33:35
    陷波滤波器,通过原始信号和噪声信号的叠加,设计陷波滤波器,将噪声信号滤除,并通过fft查看和分析其结果
  • 陷波滤波器matlab程序

    2020-07-30 23:32:21
    陷波器是一种特殊的带阻滤波器,其阻带在理想情况下只有一个频率点,因此也被称为点阻滤波器。这种滤波器主要用于消除某个特定频率的干扰,例如,在各种测量仪器和数据采集系统中用于消除电源干扰的工频陷波器。
  • 最佳陷波滤波器(傅里叶变换,matlab实现) 1基本概念 1.1频域滤波步骤小结 在频域中的滤波是简单明了的。它包含如下步骤: (1)给定一幅大小为M*N的输入图像f(x,y),选择填充参数P,Q,典型地,我们...
  • 1.高通滤波器  首先,对一副图像进行如下二维傅里叶变换。 我们将u=0和v=0带上式,我们可以得到如下式子。 根据上式,可以到F(0,0)的值是非常大的。这里,我们将 F(0,0)称为直流分量,直流...
  •  一个理想的带通滤波器应该有一个完全平坦的通带,在通带内没有放大或者衰减,并且在通带之外所有频率都被完全衰减掉,另外,通带外的转换在极小的频率范围完成。实际上,并不存在理想的带通滤波器。  带阻滤波器...
  • matlab图像陷波滤波以及低通滤波

    万次阅读 2016-04-15 09:57:34
    clear; close all; src = im2double(imread('image3.bmp')); src = rgb2gray(src); figure; imshow(src); title('原始图像'); [w h] = size(src);srcf = fft2(src); srcf = fftshift(srcf);...% 低通滤
  • STM32实现IIR工频陷波

    千次阅读 2016-12-27 13:04:42
    常用的工频陷波器主要有IIR和FIR两种,其中FIR具有良好的线性相位,但是在同等滤波效果的情况下,IIR的阶数要比FIR少很多,一个两阶的IIR滤波器的效果FIR要付出100多阶的代价,阶数大意味着运算量大,对于一个MCU...
  • 陷波器设计概述

    千次阅读 2020-09-24 21:48:16
    一个理想的陷波滤波器的频率特性要在消除的信号频率点处,其值等于零;而在其他频率点处,其值等于1。由于数字滤波器的频率特性就是其单位冲激响应在单位圆上的Z变换,因此只需要在单位圆上相应于所需带阻滤波器...
  • 基于matlab的数字陷波器设计

    万次阅读 多人点赞 2013-06-29 23:32:08
    陷波器是一种简单的二阶IIR滤波器,其幅度响应在某一频率上为零,可用来消除某个频率分量,如:滤除信号中由电源引起的50Hz工频干扰。其系统函数为: 其中:ω0=2πf0/fs---陷波数字频率(rad);f0---陷波频率(Hz...
  • 陷波滤波器,matlab代码

    千次阅读 2019-12-16 22:11:40
    clear; clc; close all; %%=========================================================% % % 原始信号:w=10 % 噪声信号:wn=300 ...%==========================================================% ...
  • 50Hz工频干扰消除

    万次阅读 2012-07-26 00:18:08
     我们知道,设计数字滤波器,和模拟滤波器的实质,其实就是求一组系数,逼近要求的频率响应。  模拟滤波器已经很成熟,因此,数字滤波器的设计,将S平面映射到Z平面就型。采用双线性变化法映射,可以避免多值映射...
  • 第二类滤波器称为陷波滤波器。 1、带阻滤波和带通滤波 D(u,v)是距离频率矩形中心的距离,D0是带宽的径向中心,W是带宽。一个带同滤波器可以用从低通滤波器得到高通滤波器的相同的方法从带阻滤波器中得到 halcon...
  • 最近在做脑电信号处理,需要用到50Hz陷波滤波器滤掉工频干扰,在网上找了点资料,使用scipy.singal包可以做到。再次记录一下,方便以后用时查阅。 直接上一下scipy.singal里面关于iir二阶陷波滤波器的函数定义说明:...
  • 基于反馈结构的窄带宽陷波滤波器

    千次阅读 2016-05-21 21:04:05
    IEEE Signal Processing Magazine 是信号处理领域一本著名的杂志。...在第 33 卷,第 3 期中,有一篇讲如何设计陷波滤波器的文章( Narrowband Notch Filter Using Feedback Structure ),特意学习一下
1 2 3 4 5 ... 20
收藏数 828
精华内容 331
关键字:

陷波滤波器