Questions tagged «filters»

在信号处理中,滤波器是一种通过有选择地选择特定频率并使其他频率具有适当增益或保持原样来变换信号的设备或过程。

3
为什么通过将FFT bin归零进行过滤是个坏主意?
通过对信号执行FFT,将部分信号归零,然后执行IFFT来过滤信号非常容易。例如: t = linspace(0, 1, 256, endpoint=False) x = sin(2 * pi * 3 * t) + cos(2 * pi * 100 * t) X = fft(x) X[64:192] = 0 y = ifft(X) 该“砖墙” FFT滤波器完全消除了高频成分。 但是我听说这不是一个好方法。 为什么通常是个坏主意? 在某些情况下,这是个好选择吗? [ 如画册所建议 ]
72 fft  filters 

6
检测音频包络开始和停止位置的最简单方法
以下是代表某人讲话记录的信号。我想基于此创建一系列较小的音频信号。想法是检测“重要”声音的开始和结束时间,并将其用作标记,以制作新的音频片段。换句话说,我想将静音用作指示音频“块”何时开始或停止的指标,并以此为基础创建新的音频缓冲区。 例如,如果某人记录自己说 Hi [some silence] My name is Bob [some silence] How are you? 那么我想从中制作三个音频片段。一个说Hi,一个说My name is Bob,一个说How are you?。 我最初的想法是通过音频缓冲区不断检查是否存在低振幅区域。也许我可以通过获取前十个样本来进行此操作,取平均值,如果结果很低,则将其标记为无声。我将通过检查接下来的十个样本来继续处理缓冲区。通过这种方式递增,我可以检测到信封的开始和停止位置。 如果有人对好的,简单的方法有任何建议,那就太好了。就我的目的而言,解决方案可能是非常基本的。 我不是DSP的专业人士,但了解一些基本概念。另外,我将以编程方式进行此操作,因此最好讨论算法和数字样本。 感谢您的所有帮助! 编辑1 到目前为止反应良好!只是想澄清一下,这不是实时音频,我将自己用C或Objective-C编写算法,因此使用库的任何解决方案都不是真正的选择。

5
相位延迟和群延迟之间有什么区别?
我正在研究一些DSP,但无法理解相位延迟和群延迟之间的差异。 在我看来,它们都测量通过滤波器的正弦波的延迟时间。 我认为正确吗? 如果是这样,那么这两个测量值有何不同? 有人可以举一个例子,说明一种度量比另一种更有用吗? 更新 在朱利叶斯·史密斯(Julius Smith)的《数字滤波器简介》的前瞻中,我发现两种测量至少给出不同结果的情况:仿射相滤波器。我想这只是我的问题的部分答案。

6
了解匹配的过滤器
我有一个关于匹配过滤的问题。匹配滤波器仅在决策时才使SNR最大化吗?据我了解,如果您将NRZ通过匹配滤波器放置,则SNR将仅在决策点处最大化,这就是匹配滤波器的优势。它会在输出函数的其他位置还是在决策点最大化SNR? 根据维基百科 匹配滤波器是用于在存在附加随机噪声的情况下最大化信噪比(SNR)的最佳线性滤波器 对我而言,这意味着它可以在任何地方使它最大化,但是我不知道这是怎么可能的。我已经看过我的通信工程教科书中的数学,并且据我所知,这只是决策点。 我的另一个问题是,为什么不做一个过滤器,使决策点真的很瘦。那不是会使SNR更好吗? 谢谢。 编辑:我想我也在想什么,比如说您有一些NRZ数据,并且使用了匹配的过滤器,则可以通过I&D(集成和转储)实现匹配的过滤器。I&D基本上会逐渐增加,直到达到采样时间为止,其想法是在I&D的峰值处进行一次采样,因为在那一点上,SNR最大。我不明白的是,为什么不创建一个对其进行两次积分的滤波器,那样,您将获得平方增加(而不是斜坡),并且采样点会更高从我的判断中,更有可能由决策电路正确解释(并给出较低的Pe(错误概率))?

2
MATLAB的filtfilt有什么优势
MATLAB filtfilt进行向前-向后过滤,即过滤,反转信号,再次过滤然后再次反转。显然这样做是为了减少相位滞后?使用这种过滤的优缺点是什么(我想这会导致过滤顺序的有效增加)。 使用filtfilt始终代替filter(即,仅前向过滤)会更好吗?是否有任何应用程序需要使用它,而不应该使用它?
30 matlab  filters  theory 

4
最小相位系统的真正含义是什么?
最小相位系统的真正含义是什么?阅读Wikipedia文章和Oppenheim会有所帮助,因为我们了解到,对于LTI系统,最小相位意味着逆是因果关系和稳定的。(这意味着零和极在单位圆内),但是“相位”和“最小”与它有什么关系?我们可以通过某种方式查看DFT的相位响应来告诉系统最小相位吗?

2
滤波器阶数与抽头数对系数的关系
我正在慢慢学习DSP,并试图将某些术语笼罩在脑海中: 问题1:假设我有以下滤波器差分方程: y[n]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n] = 2 x[n] + 4 x[n-2] + 6 x[n-3] + 8 x[n-4] 右侧有4个系数。“抽头数”也是4吗?“过滤器命令”也是4吗? 问题2:我正在尝试使用MATLAB fir1(n, Wn)函数。如果我想创建一个10抽头的滤波器,我会设置吗?n=10n=10n=10 问题3:假设我有以下递归(大概是IIR)滤波器差分方程: y[n]+2y[n−1]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n]+2y[n−1]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n] + 2 y[n-1] = 2 x[n] + 4 x[n-2] + 6 x[n-3] + 8 x[n-4] 由于系数的数量在左侧和右侧不同,我该如何确定“抽头数”和“滤波器阶数”? 问题4:以下逻辑if-and-if-if语句是否正确? 过滤器是递归的 ⟺⟺\iff 过滤器是IIR。 过滤器是非递归的 ⟺⟺\iff 过滤器是FIR。


1
重叠添加与重叠保存
可以使用哪些差异或其他标准来帮助决定使用重叠添加和重叠保存进行过滤?重叠添加和重叠保存都被描述为用于使用FIR滤波器内核对数据流进行基于FFT的快速卷积的算法。延迟,计算效率或缓存局部性(等等)的差异是什么?还是一样?

4
峰值检测方法
现有的峰值检测算法是什么?我有嘈杂的数据,我想对此数据进行峰值检测。数据是相反的,实际上我正在尝试确定底部。 这是Excel中数据的快照。我喜欢同时探底。我考虑过将数据通过低通滤波器,然后做一个移动平均,确定峰值,然后在移动平均范围内进行另一次搜索。我的DSP背景为零;这只是常识方法。我想听听专家的建议。

5
移动平均滤波器(FIR滤波器)的最佳一阶IIR(AR滤波器)近似值是多少?
假定以下一阶IIR滤波器: y[n]=αx[n]+(1−α)y[n−1]y[n]=αx[n]+(1−α)y[n−1] y[n] = \alpha x[n] + (1 - \alpha) y[n - 1] 我如何选择参数 st IIR尽可能接近FIR,FIR是最后样本的算术平均值:αα \alpha kk k z[n]=1kx[n]+1kx[n−1]+…+1kx[n−k+1]z[n]=1kx[n]+1kx[n−1]+…+1kx[n−k+1] z[n] = \frac{1}{k}x[n] + \frac{1}{k}x[n-1] + \ldots + \frac{1}{k}x[n-k+1] 其中,表示IIR的输入可能比,但我想对最后输入的平均值进行最佳近似。n∈[k,∞)n∈[k,∞) n \in [k, \infty) kk k kk k 我知道IIR具有无限的脉冲响应,因此我正在寻找最佳近似值。无论是还是成本函数的分析解决方案,我都很高兴。L2L2 {L}_{2} L1L1 {L}_{1} 仅给出一阶IIR,如何解决此优化问题。 谢谢。


3
FIR滤波器设计:Window vs Parks McClellan和最小二乘
在低通滤波器的FIR滤波器设计中,使用窗方法相对于Parks-McClellan(此处进一步缩写为PMcC)或最小二乘算法有什么优势吗?以当今的计算能力为前提,算法本身的复杂性不是一个因素。 这个问题不是在将PMcC与最小二乘进行比较,而是特别是是否有任何理由使用任何窗口FIR设计技术来代替那些算法,还是窗口技术来过滤设计而被这些算法所淘汰并被归于教学目的? 下面是一个比较,在该比较中,我使用相同数量的水龙头将汉明窗与我偏爱的最小二乘设计方法进行了比较。我以最小二乘方法加宽了通带,使其与汉明窗的通带紧密匹配,在这种情况下,很明显,最小二乘的性能优于(提供更大的阻带抑制性能)。我还没有在所有窗口上执行此操作,这使我想到了一个问题,即您是否可以胜过PMcC和最小二乘,或者是否还有其他使用FIR低通滤波器的应用,而该方法更适合使用开窗方法?

5
为什么我会留下信号过采样?
我想不出更好的方法来问这个问题,所以我将以一个例子开始。假设我有一个最大频率为50Hz的输入信号(以100Hz采样)。现在,感兴趣的信号在0-5Hz范围内,因此我可以添加一个截止频率为5Hz的低通滤波器,并将得到的信号用于进一步处理。我的理解是,现在我可以将滤波后的信号下采样10倍,从而减少处理负荷。我对吗?如果是,为什么在滤波后始终不执行降采样,因为在我看来这是显而易见的方法?如果我的假设是错误的,那么我在哪里错了?

4
快速/高效的方法来分解可分离的整数2D滤波器系数
我希望能够快速确定给定的整数系数2D内核是否可分为两个具有整数系数的1D内核。例如 2 3 2 4 6 4 2 3 2 可分为 2 3 2 和 1 2 1 使用整数算术对可分离性的实际测试似乎相当简单,但是事实证明,分解为具有整数系数的一维滤波器比较困难。困难似乎在于以下事实:行或列之间的比率可能是非整数(比率分数),例如,在上述示例中,比率为2、1 / 2、3 / 2和2/3。 我真的不想使用像SVD这样的繁重方法,因为(a)满足我的需求在计算上相对昂贵,并且(b)仍然不一定有助于确定整数系数。 有任何想法吗 ? 更多信息 系数可以为正,负或零,并且可能存在一些病理情况,其中一维向量或两个一维向量之和为零。 -1 2 -1 0 0 0 1 -2 1 可分为 1 -2 1 和 -1 0 1
21 filters  separability  1d  2d 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.