2011-03-07 406 views
0

我需要从信号中滤除一些噪声,而一个简单的RC一阶滤波器似乎还不够。我一直在寻找,但我还没有找到其他滤波器的算法(虽然很多例子如何与模拟电路做到这一点)。有人可以确定哪里可以找到这样的算法吗?或者至少在这里写一个?二阶低通滤波器算法

对于澄清:我将信号从一个示波器,和我只有一个周期。这个周期看起来有点像:

125 * (x > 3 ? exp(-(x - 3)/2) : exp(5*(x - 3))) 

现在,信号并不总是有这种状态,我需要计算的信号,这是容易的,如果不是因为当一个放大信号具有足够的(每个点的衍生物是160纳秒的appart)你可以看到很多噪音。所以,在计算衍生产品之前,我需要平滑信号。

+0

如果它是真的白噪声(静态),它在所有频率上都是平等和不流畅的。它真的是什么样的噪音? – 2011-03-07 15:47:21

+0

我认为他所要求的是能够滤除某些频段上的白噪声。例如,假设信号处于1Mhz至10Mhz的频带,那么使用截止频率超过10Mhz的低通滤波器是适当的。 – 2011-03-07 15:59:26

+1

如何从这里选择一个过滤器:http://en.wikipedia.org/wiki/Filter_(signal_processing) – 2011-03-07 16:00:36

回答

1

如果你问如何设计一个高阶滤波器比简单的一阶,如何从这里选择一个过滤器:wiki on Filter_(signal_processing)

只是假设到你的问题,所以这里有一对夫妇的设计要点。

1)你可能不希望在你的通带纹波(变化的增益),因为这会扭曲你的信号。

2)你可能不关心你的阻带纹波有,因为信号应接近0反正有。

3)滤波器的阶数越高,它就越像一个理想的方形滤波器。

4)滚降越高越好,你要尽快的通带外以减少噪音。

5)您可能会或可能不关心“群延迟”,这是由于通过采用不同的时间穿过过滤器不同的频率的失真的一种度量。对于音频,你可能想要一个不会太高的群时延,就像你可以想象不同的频率分量经历不同的时间(和相位)的变化会导致一些失真。

一旦您选择基于这些(以及其他可能的)考虑希望过滤器,然后只需使用一些布局,比如提到here

0

由于只有你的需求模糊的描述,很难给出任何那些实现它具体建议。

您需要指定滤波器的参数:采样率,截止频率,过渡带的宽度,通带纹波,最小阻带抑制,相位和群延迟是否是一个问题等。你至少有一些这些参数固定下来,然后你就可以开始选择一个合适的滤波器设计,即基本的滤波器类型,阶段的数量等过程。

这也将有助于知道什么样的信号你想过滤 - 是音频还是其他?每个样品有多少个比特?

0

你需要你的信号定义好了,你的噪声很好的分析,以及两者之间的差别有清醒的认识,以确定哪些算法可能是适合除去一个和其他没有消除信息。那么你需要定义计算环境(整数或浮点ALU,加法和乘法周期?),并设置一个计算预算。二阶IIR和千兆点FFT之间有很大区别。

RBJ's biquad cookbook中描述了一些非常常用的二阶数字滤波器。