50Hz工频干扰消除

今天整理工频干扰消除算法。

我们知道,设计数字滤波器,和模拟滤波器的实质,其实就是求一组系数,逼近要求的频率响应。

模拟滤波器已经很成熟,因此,数字滤波器的设计,将S平面映射到Z平面就型。采用双线性变化法映射,可以避免多值映射产生的混叠现象。但这有个问题就,模拟域和数字域两者的角频率是非线性的。

1.平滑滤波器是数字滤波中较早使用的方法,该算法简单,处理速度快,滤波效果较好,但存在明显不足,通带较窄,影响有用信号的分析,有严重削峰,设计方法略。

然后,我们根据IIR和FIR分两大类。FIR滤波器,可以得到严格的线性相位,但它的转移函数的极点固定在原点,只能通过改变零点位置来改变性能。为了达到高的选择性,必须使用高阶。相同设计指标下,FIR滤波器的阶数是IIR滤波器的5~10倍。而IIR滤波器可以根据模拟滤波器的设计公式,数据和表格,计算量小。

首先介绍IIR类,即两种形式的notch滤波器。

2.陷波器  notch 滤波器

陷波器,是IIR数字滤波器,有signal notch 滤波器,即单一频率陷波器,以及comb notch滤波器,即梳妆滤波器。

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

式中: x(n)和y(n)分别为输人和输出信号序列; ai和bi为滤波器系数。

对式(1)两边进行z变换,得到数字滤波器的传递函数为:

式中: zi和pi分别为传递函数的零点和极点。

由传递函数的零点和极点可以大致绘出频率响应图。在零点处,频率响应出现极小值;在极点处,频率响应出现极大值。因此可以根据所需频率响应配置零点和极点,然后反向设计带陷数字滤波器。

2.1 signal notch 滤波器

考虑一种特殊情况,若零点 在第1象限单位圆上,极点在单位圆内靠近零点的径向上。为了防止滤波器系数出现复数,必须在z平面第4象限对称位置配置相应的共轭零点 、共轭极点 。其极零图如下所示:

这样零点、极点配置的滤波器称为单一频率陷波器,在频率ωo处出现凹陷。而把极点设置在零的的径向上距圆点的距离为l-μ处,陷波器的传递函数为:

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

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

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

转移函数:

根据极零关系,取μ = 0.001,则得到z = 0.809 + j * 0.588,z* = 0.809 - j * 0.588,p = 0.8082 + j * 0.5872,p* = 0.8082 - j * 0.5872

代入转移函数,得到分子系数[1, 1.618, 1],分母系数[1,1.6164,0.999]

相应的差分方程:

2.2 comb notch 滤波器

该滤波器实际就是梳妆滤波器,解决了50Hz的K此谐波,可以用matlab直接设计。

其次,介绍FIR滤波器,主要是带阻滤波器。也包括两种:巴特沃斯带阻,多带滤波器。

3 带阻滤波器

3.1多带滤波器

multiband,属于直接型 FIR滤波器,我们可以用Matlab设计出multiband 陷波器。

3.2巴特沃斯带阻滤波器,又称简单整系数带阻滤波器,其原理为一个全通网络,减去一个具有相同延迟和增益的窄带线性相位FIR滤波器,得到一个具有尖锐陷波特性的陷波滤波器。阻带下限截止频率fc1 = 49 Hz,阻带上限截止频率fc2 = 51 Hz,就可以消除50 Hz 的工频干扰。但这种方式,无法滤除50Hz的K此谐波。设计方法如下:

因此,首先设计一个中心频率为50Hz的窄带带通滤波器

为了保证2cosw2值为整系数,则w2只能取pi/3,pi/2,2pi/3,但我们采样率为500Hz,因此,再增加一对共轭极点。位置为w = 2pi * 50 / 500,z = e^j* 4 * pi/5处

简单起见,先取K = 1,为了使分子分母是整系数,则M应是5的奇数倍。

所以最终的频率响应函数为:

式中,e的冥应该是5.不是4.

其中心频率pi/5处,取得最大值(2p + 1),因此全通滤波器系数为2p+1,为使得通带幅值为1,则除以2p+1,最后的滤波器频率特性为:

p的选取,决定阻带宽度,越大,则阻带越窄。取P= 50,则阻带1Hz,考虑到电网的活动,取p= 24,但这使得通带波纹增大,故而,增加K。

总之:平滑滤波器,严重学峰,但速度快,可实时。

单一频率陷波器,相位非线性,不能保证K次谐波滤除。

梳妆滤波器,相位非线性

简单整系数带阻滤波器,不能实现实时,且当干扰频率有漂移时,效果较差。

多带滤波器,线性相位,阶数高。

还有自适应滤波器,但其计算量大,需要学习时间。

因此,实时处理,可以考虑多带滤波器,梳妆滤波器,单一频率陷波器

50Hz工频干扰消除的更多相关文章

  1. 【转】camera tuning

    chromatix项目必须包含有效的 ADC image.png filcker: 交流电照明灯发出的光会一定频率的抖动导致sensor图像出现行方向的水波纹,称之为filcker.目前主要的交流电频 ...

  2. 基于uFUN开发板的心率计(一)DMA方式获取传感器数据

    前言 从3月8号收到板子,到今天算起来,uFUN到手也有两周的时间了,最近利用下班后的时间,做了个心率计,从单片机程序到上位机开发,到现在为止完成的差不多了,实现很简单,uFUN开发板外加一个Puls ...

  3. 5G网络的深度强化学习:联合波束成形,功率控制和干扰协调

    摘要:第五代无线通信(5G)支持大幅增加流量和数据速率,并提高语音呼叫的可靠性.在5G无线网络中共同优化波束成形,功率控制和干扰协调以增强最终用户的通信性能是一项重大挑战.在本文中,我们制定波束形成, ...

  4. (转)CMOS Sensor的调试经验分享

    CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...

  5. CMOS Sensor的调试经验分享

    转自:http://bbs.52rd.com/forum.php?mod=viewthread&tid=276351 CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一 ...

  6. CMOS Sensor的调试经验分享【转】

    转自:https://blog.csdn.net/yapingmcu/article/details/37817727 转自:http://bbs.52rd.com/forum.php?mod=vie ...

  7. 人工智能"眼睛"——摄像头

    摄像头机器视觉人工智能的"眼睛",其重要性在嵌入式领域不言而喻.但是如何理解和使用摄像头却是一个非常棘手的问题.本文主要针对调试摄像头过程中遇到的问题,对摄像头的基本原理及概述进行 ...

  8. 3篇NeuroImage文献分析

    鉴于之前读的一些文章很容易就忘掉了,故打算花点时间记录下所读的文献. 这几天花了一些时间读了3篇文献: Intersubject consistency of cortical MEG signals ...

  9. WebRTC APM音频处理流程概述

    本文主要介绍WebRTC的APM. 现在主要介绍一下audio_processing.h. 首先插入了几个类,这些都是audio_processing的核心模块. class AudioFrame; ...

随机推荐

  1. 设计模式(19)--Observer(观察者模式)--行为型

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.模式定义: 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式.模型-视图( ...

  2. 【读书笔记】iOS-网络-异步请求与运行循环

    异步请求需要运行循环.当数据传递到服务器或是被客户端接收时,运行循环用于实现事件与委托对象之间的通信.异步请求在发出时,会在当前线程的运行循环上操作,这个实现细节是很重要的,因为在GCD块中或者是通过 ...

  3. SAP Overview

    SAP的全称:       Anwendungen Produkte in der Datenverarbeitung (德文,这是原西德产品),翻译成英文就是:System,Applications ...

  4. 使用ArcGIS Pro编辑在线三维服务图层

    ArcGIS Pro 从2.2版本起,提供了编辑在线三维服务图层的功能.通过该功能,我们可以直接在Pro中编辑发布的三维服务图层Web Scene Layer. 我们知道三维场景服务支持包含多种类型的 ...

  5. MBTIles实现

    MBTIles实现 3.1 Compliant(符合) python: raster2mb (write) python: mbutil (read/write) python: landez (wr ...

  6. 安装 Java 开发工具包JDK(Windows版本)

    前言: 进行java开发,首先要安装jdk,安装完成之后,还需要进行环境变量配置,以下就介绍一下具体步骤 具体步骤: 1.进入官网(https://www.oracle.com/technetwork ...

  7. ie8 透明背景不能点击问题

    最近开发网站,需求是三个一屏,1和3只能看见一半,2显示在中间,无箭头按钮. 因为之前写过一个有前后按钮的插件,想着怎么就在这上面改造,故把前后按钮去掉背景,定位在了1和3的位置上来实现点击前后, 发 ...

  8. PMS与orcalebs结合之字段

    call fnd_global.APPS_INITIALIZE(1318,50583,401) select fnd_profile.VALUE('ORG_ID') FROM DUAL select ...

  9. innodb 表锁和行锁

    表锁  表锁相关结构: table->locks:数据字典table保存这个表上的所有表锁信息 trx->lock.table_locks:每个事务trx保存该事务所加的所有表锁信息 tr ...

  10. Linux开启和关闭防火墙

    一.即时生效,重启后失效: 1.启动:service iptables start 2.关闭:service iptables stop 二.重启后永久生效: 1.启动:chkconfig iptab ...