为什么会有工频干扰_工频干扰产生原因及解决方案【转载】

描述
工频干扰使我们在开发设计之中常见的现象,工频干扰为何会产生?如何解决呢?下文给你带来详细介绍。

工频干扰产生原因
示波器的低频输入阻抗是很高的。对于高频信号,由于输入电容的容抗下降,输入阻抗就会下降。由于示波器探头的馈线较长,所以,虽然外层是具有屏蔽层的同轴电缆,但对于丁频这么低的频率,几乎没有屏蔽作用。于是,对于工频来说,探头的馈线就相当于“天线”,会捡拾工频电磁波中的电场干扰,在显示屏上显示出工频干扰的波形,且幅度很大(可达十几伏特)。

如果将探头的探针与地线短接,则显示屏上的波形就会消失。这是因为线间的阻抗下降到零阻抗。实际上,凡是低频高阻抗的测量仪器,都会对工频干扰产生反应(T频干扰本身也是很强的干扰源)。

在这里插入图片描述
为什么会有工频干扰_工频干扰产生原因及解决方案

那么,在用示波器进行测量时,工频干扰对测量结果会有什么影响呢?对一般的被测电路而言,其输出阻抗大多比较低,故工频干扰的影响一般反映不出来。即当示波器的探头与输出阻抗较低的被测电路相连时,显示屏上的工频干扰波形会消失。绝大多数的情况下是这样的。但是,如果被测电路测试点的阻抗很高肘(例如高达几百千欧姆),这种影响就会变得显著了。例如要测量一个场效应管放大器输入端的波形,当把测试点选为其输入耦合电容之后的场效应管的栅极,尽管放大器的输入端所接的信号源的阻抗可能很低。但是,由于场效应管放大器的输入电容的容量一般很小(一般为零点几微法或者更小),对于工频来说,阻抗很高,场效应管的输入阻抗也很高,此时工频干扰的影响将会使测量无法进行,必须采取某些措施来消除工频干扰的影响。

工频干扰解决方案
应该说数字滤波器可以有效减小50Hz工频的干扰,完全消除是不可能的。以20ms为最小单位的整倍数周期滤波,可以有效减少工频的干扰。

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

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

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

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

为什么会有工频干扰_工频干扰产生原因及解决方案
在这里插入图片描述

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

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

为什么会有工频干扰_工频干扰产生原因及解决方案
在这里插入图片描述

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

由传递函数的零点和极点可以大致绘出频率响应图。在零点处,频率响应出现极小值;在极点处,频率响应出现极大值。因此可以根据所需频率响应配置零点和极点,然后反向设计带陷数字滤波器。
带阻滤波器
多带滤波器
multiband,属于直接型 FIR滤波器,我们可以用Matlab设计出multiband 陷波器。

巴特沃斯带阻滤波器
巴特沃斯带阻滤波器又称简单整系数带阻滤波器,其原理为一个全通网络,减去一个具有相同延迟和增益的窄带线性相位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。

下面是一段用于检测工频干扰的代码,其中主要使用了FFT快速傅里叶变换来分析频谱: ```matlab % 读取心电信号数据(假设数据已经存储在变量x中) % 设置采样频率 fs = 1000; % 计算信号长度 n = length(x); % 计算FFT频率向量 f = (0:n/2-1) * fs / n; % 计算FFT幅值谱 Y = fft(x); P2 = abs(Y/n); P1 = P2(1:n/2+1); P1(2:end-1) = 2*P1(2:end-1); % 找到工频干扰的频率范围 f_min = 49.5; % 工频频率下限 f_max = 50.5; % 工频频率上限 f_range = find(f >= f_min & f <= f_max); % 计算工频干扰的平均幅值 mean_P1 = mean(P1(f_range)); % 计算工频干扰的标准差 std_P1 = std(P1(f_range)); % 判断是否存在工频干扰 if mean_P1 > 3 * std_P1 disp('存在工频干扰!'); else disp('不存在工频干扰。'); end % 画出信号的时域图和频域图 figure subplot(2,1,1) plot((1:length(x))/fs,x) xlabel('Time (s)') ylabel('Amplitude') title('ECG Signal') subplot(2,1,2) plot(f,P1) xlabel('Frequency (Hz)') ylabel('Amplitude') title('FFT Spectrum') ``` 这段代码首先读取心电信号数据,然后使用FFT计算信号的频谱。接着,根据工频的频率范围计算出工频干扰的平均幅值和标准差,并判断是否存在工频干扰。最后,将信号的时域图和频域图画出来,以便于观察信号的特征。 需要注意的是,这段代码仅仅是一种简单的工频干扰检测方法,实际应用中还需要根据具体情况进行调整和优化。例如,可以通过滤波等方法进一步降低工频干扰的影响,提高信号的质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值