50Hz工频干扰消除
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工频干扰消除的更多相关文章
- 【转】camera tuning
chromatix项目必须包含有效的 ADC image.png filcker: 交流电照明灯发出的光会一定频率的抖动导致sensor图像出现行方向的水波纹,称之为filcker.目前主要的交流电频 ...
- 基于uFUN开发板的心率计(一)DMA方式获取传感器数据
前言 从3月8号收到板子,到今天算起来,uFUN到手也有两周的时间了,最近利用下班后的时间,做了个心率计,从单片机程序到上位机开发,到现在为止完成的差不多了,实现很简单,uFUN开发板外加一个Puls ...
- 5G网络的深度强化学习:联合波束成形,功率控制和干扰协调
摘要:第五代无线通信(5G)支持大幅增加流量和数据速率,并提高语音呼叫的可靠性.在5G无线网络中共同优化波束成形,功率控制和干扰协调以增强最终用户的通信性能是一项重大挑战.在本文中,我们制定波束形成, ...
- (转)CMOS Sensor的调试经验分享
CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...
- CMOS Sensor的调试经验分享
转自:http://bbs.52rd.com/forum.php?mod=viewthread&tid=276351 CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一 ...
- CMOS Sensor的调试经验分享【转】
转自:https://blog.csdn.net/yapingmcu/article/details/37817727 转自:http://bbs.52rd.com/forum.php?mod=vie ...
- 人工智能"眼睛"——摄像头
摄像头机器视觉人工智能的"眼睛",其重要性在嵌入式领域不言而喻.但是如何理解和使用摄像头却是一个非常棘手的问题.本文主要针对调试摄像头过程中遇到的问题,对摄像头的基本原理及概述进行 ...
- 3篇NeuroImage文献分析
鉴于之前读的一些文章很容易就忘掉了,故打算花点时间记录下所读的文献. 这几天花了一些时间读了3篇文献: Intersubject consistency of cortical MEG signals ...
- WebRTC APM音频处理流程概述
本文主要介绍WebRTC的APM. 现在主要介绍一下audio_processing.h. 首先插入了几个类,这些都是audio_processing的核心模块. class AudioFrame; ...
随机推荐
- Javascript 回调函数理解---二娃子买肾机6
在Javascript中什么是回调函数,我认为简单来说就是把一个函数B作为参数传递给另一个函数A,在A函数中的一定时机调用函数B. 这里可以看出回调函数形成了一个闭包,它可以访问函数A中的活动对象. ...
- 31:字符串p型编码
31:字符串p型编码 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出s ...
- 关于在JSP页面用c标签写if语句
2017年5月28日,晴,心情还不错. 昨晚和同事撸串,回来后继续威士忌走起,喝到凌晨2点多,聊的甚欢.彼此分享了很多自己成长过程中的故事,相互之间有了进一步的了解,友情又进了一步.在以后的时光里,愿 ...
- ionic 项目下 有时候发现select标签用动态数据绑定后点击出不来的情况
一 第一种方法 在select 标签的父标签加上 data-tap-disabled=”true” 二 找到 ionic.bundle.js文件 下边有个方法 function tapIgnoreE ...
- Mac下使用VScode进行C/C++开发
1.安装 从VScode官网下载Mac系统适用的VScode安装包,下载完成后,将zip安装包解压到桌面即可. 2.插件安装 实现 C/Cpp 代码自动补全,函数跳转. 打开VScode后,按下组合键 ...
- 腾讯Ocr文字识别
简述 上篇文章记录了百度Ocr的两种模式用法,接下来这篇文章开始记录腾讯Ocr的使用方法.腾讯Ocr的通用印刷体识别模式使用比较简单,直接接入sdk即可,但手写体的识别相对比较麻烦,需要自己post表 ...
- java基础(十一) 枚举类型
枚举类型Enum的简介 1.什么是枚举类型 枚举类型: 就是由一组具有名的值的有限集合组成新的类型.(即新的类). 好像还是不懂,别急,咱们先来看一下 为什么要引入枚举类型 在没有引入枚举类型前,当我 ...
- IIS下众多网站,如何快速定位某站点日志在哪个文件夹?
windows2008,iis 多站点, 日志.应用程序池都是默认设置, 没有分开………… Logs目录里面有W3SVC43,W3SVC44,W3SVC45,W3SVC46.....等等日志文件夹. ...
- 机器学习实战(Machine Learning in Action)学习笔记————08.使用FPgrowth算法来高效发现频繁项集
机器学习实战(Machine Learning in Action)学习笔记————08.使用FPgrowth算法来高效发现频繁项集 关键字:FPgrowth.频繁项集.条件FP树.非监督学习作者:米 ...
- ejb-jar.xml
所有bean类(无论是会话bean还是实体bean)必须实现的最基本的接口是javax.ejb.EnterpriseBean接口. 所有的会话bean必须实现javax.ejb.SessionBean ...