首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >去除非周期离散时间信号中的未知直流偏移

去除非周期离散时间信号中的未知直流偏移
EN

Stack Overflow用户
提问于 2011-08-09 17:28:06
回答 5查看 23.8K关注 0票数 12

是否有一些过程可以确定/消除非周期性离散时间信号中的未知直流偏移?

所讨论的信号具有25 Hz的采样率,并且具有0.25和3 Hz之间的感兴趣的谐波。

我已经尝试使用高通滤波器混合结果,首先我使用10阶高斯Fc =0 0Hz,这做了一个很好的工作,以消除偏移,但它严重衰减了AC,尽管它确实离开了信号形状完整,其次我使用168阶等波纹阻带在0 0Hz和通带在0.25 0Hz,相移太严重,信号形状太扭曲,失真可能可以减少,如果通带降低到0.1 0Hz,但这只会进一步增加相移,我需要保持最小的相移。

在应用x- LPF(x)之前和之后,由Paul R建议

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-09 23:28:47

我建议在DC处使用陷波滤波器,并使用filtfilt使其为零相位。

代码语言:javascript
复制
a = [1 , -0.98]; b = [1,-1];

y = filtfilt(b,a,x);

a的第二个值越接近-1,缺口就越窄。

票数 10
EN

Stack Overflow用户

发布于 2011-08-09 17:50:55

直流偏移量意味着信号中添加了某个恒定值(该名称源于将直流电压添加到模拟交流信号中)。如果DC分量确实是恒定的(并且变化不是很慢),那么您不必设计一些高阶(并且可能不稳定)的高通滤波器--您只需从信号中减去信号的平均值--当然,这也是一个高通滤波器(平均值是一种低通类型,'1减去平均值‘就是高通apss)--但这是一个非常简单的滤波器。

另一方面,如果你有理由相信直流分量不是真正的直流分量,而是一个非常低频率的交流分量,那么你最好对信号的各个部分进行平均,而不是整个信号,这与使用一个脉冲响应的低通滤波器是一样的,该滤波器的脉冲响应比信号的长度短。在这种情况下,您必须对"DC“组件做一些假设。

票数 9
EN

Stack Overflow用户

发布于 2011-08-09 17:50:33

而不是直接实现高通滤波器(对于非常低的频率,这可能相当棘手-您最终会遇到大量系数和各种稳定性和通带波纹等问题),相反,您可能希望考虑实现一个低通滤波器,它将为您提供DC偏移值的估计,然后从您的信号中减去此经过滤波的偏移量,即:

代码语言:javascript
复制
y = HPF(x)

执行以下操作:

代码语言:javascript
复制
y = x - LPF(x)

低通滤波器可能只是一个相当简单的滤波器,具有相对较少的项数。这种实现的最大优点是,您的高频分量不应该有任何由于相位、纹波等造成的不必要的伪影,因为您所做的所有操作都是从样本中减去几乎稳定的直流值。

唯一的潜在缺点是,如果DC偏移量很大,在DC偏移量的估计值准确之前,您可能会有相当长的初始建立时间(当然,这也适用于任何其他实现方式,例如直接高通滤波器)。如果您对偏移值可能是什么有任何先验知识(例如,如果每次运行的偏移值变化不大,并且您知道前一次运行的值),则可以通过将LPF状态变量初始化为合适的值(而不是0 )来优化建立时间。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6994020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档