各种上采样方案的相对优点是什么?


12

我最近遇到了一个DSP系统,该系统通过零填充进行了一些内部上采样。期待零阶保持,我很惊讶地发现直流信号没有产生直流输出。输出中还存在许多内部(较低)采样频率的谐波。

这引出我的问题:通常使用哪种上采样技术,它们的相对优点是什么? 为什么要选择零填充,零阶保持或一阶保持,还有哪些其他可用技术?

一些说明:

  • 该系统是实时的,因此上采样方案必须是因果的。
  • 上采样器后跟一个也可以指定的抗混叠滤波器。

Answers:


11

出于此答案的目的,我将使用Matlab的术语并将“上采样”定义为在输入样本之间插入零的过程,将“插值”定义为上采样和过滤的组合过程,以去除别名(是上采样引入的内插因子)。有关上采样如何/为什么引入别名的说明,请参见此线程m - 1 mm1m1m

重要的是要理解,任何低通滤波器都可以用来消除别名,从而完成插值。但是,某些滤波器在插值中使用时具有优势。我将在下面讨论插值过滤的各种形式。

FIR滤波器

内插FIR滤波器非常有效,因为它们将上采样和混叠滤波组合为一个步骤。在一个示例中最容易看出这一点。假设我们有一个数据序列,我们想将其插值两倍。第一步是向上采样两倍。这会将原始数据序列从为。x[n]x0,x1,...xNx0,0,x1,0,...xN

现在假设我们有一个低通FIR滤波器,我们将使用它来去除别名。当我们用滤波器对上采样的数据序列进行卷积时,一半的滤波器抽头由非零样本激发,而一半的抽头则处于非活动状态,因为它们对应于零样本。当过滤器遍历数据时,被激励的一半和不活动的一半来回翻转。这两组抽头有时被称为滤波器相位。h[n]

通过消除上采样并使用插值FIR滤波器对原始数据序列进行滤波,可以隐式实现相同的效果。内插FIR滤波器为每个输入样本产生输出。对于所有输出,滤波器将在相同的输入样本上运行(其中K是滤波器抽头的数量,“ ceil”是上限函数)。mmceil(K/m)

希望能有一个例子说明其工作原理。假设我们有一个六阶抽头滤波器,并且插值系数是二。过滤器抽头为[1 -2 4 4 -2 1]。如果我们从字面上进行插值然后过滤,则样本和过滤器抽头将排队(一旦完全重叠),如下所示:

0:1x2:20:4x1:40:2x0:1
下一个示例...

x3:10:2x2:40:4x1:20:1
下一个示例...

0:1x3:20:4x2:40:2x1:1
依此类推。插值滤波器的要点是,它实际上跳过了零的插入,而只是交替使用了当前使用的那一组抽头。因此,前面的序列现在看起来如下所示:

x2:2x1:4x0:1

x3:1x2:4x1:2

x3:2x2:4x1:1

零订单暂缓

零阶保持插值器只是简单地将每个样本重复次。因此,两个零阶保持插值器将转换为。该方法之所以具有吸引力,是因为它在编码和计算量方面都非常容易实现。m1x0,x1,...xNx0,x0,x1,x1,...xN,xN

问题是它的低通滤波效果很差。我们可以看到,当我们认识到零保持插值器是FIR插值的特例时。它对应于升采样,后跟一个宽的矩形滤波器。矩形滤波器的傅立叶变换是一个Sinc函数,它是一个简陋的低通滤波器。可以通过补偿FIR滤波器来解决它的不稳定问题,但是如果您打算这样做,那么最好还是先使用一个好的低通滤波器。m

一阶暂缓

一阶保持比零保持插值器高一阶,因为它使用两个最近的输入采样对上采样进行线性插值。因此,两个一阶保持插值器的因数会将转换为。x0,x1,...xNx0,x0+x12,x1,x1+x22,...xN

像零阶保持插值器一样,一阶保持插值器是FIR插值的一种特殊情况。它对应于三角滤波器的上采样和滤波。对于二因子插值,滤波器为;对于三因子插值,滤波器为,依此类推。[1[12112][132312312]

三角形滤波器是两个卷积在一起的矩形滤波器,它们对应于频域中的平方sinc。这是从零阶保持开始的明确步伐,但仍然不是很好。

IIR滤波器

我从未使用过内插IIR滤波器,所以我不会在此赘述。我假设适用的参数与常规过滤中的参数相同-IIR滤波器效率更高,不稳定,没有线性相位等。我不认为它们可以像FIR滤波器那样将上采样和滤波步骤结合在一起,但我对此可能是错的。

FFT插值

即使不是很普遍,我也要扔掉它(当然,零保持也不是很普遍)。 该线程讨论FFT重采样,其中重采样既是插值又是抽取。

高阶暂挂

二阶保持插值器通常称为“二次插值器”。它们是非线性的,因此不能实现为线性的FIR滤波器。我不太了解它们背​​后的数学原理,因此我不会讨论它们的性能。不过,我会说,我相信它们在信号处理之外有些普遍。

还存在更高阶(三个或更多)的方法。这些被称为“多项式回归”。

编辑:

级联积分梳状(CIC)滤波器

我忘了提到CIC过滤器。使用CIC滤波器的原因有两个:它们仅使用加法器/减法器(由于乘法运算快速且廉价,因此并不重要),并且它们可以非常有效地进行较大的采样率更改。它们的缺点是它们本质上是级联矩形滤波器的有效实现,因此它们具有如上所述的矩形滤波器的所有缺点。CIC内插器几乎总是在补偿FIR滤波器之前,该滤波器对信号进行预失真以抵消CIC引入的失真。如果采样率变化足够大,则值得使用预失真滤波器。


很棒的调查吉姆先生。为了增加您的高阶持有类别,我相信这也称为“多项式回归”。在这种情况下,给定一组特定的点,我们计算出最佳拟合的直线,抛物线,三次方,高阶多项式。一旦有了方程式,我们就可以轻松找出中间点。
Spacey

问题:1)我对FIR过滤器部分的最后一段并不完全清楚。您提到与第一输入样本相对应的第二和第三输出使用滤带1、4、7,然后使用2、5、8。但是您还提到它们全为零...因此请不要在第二和第三输出中使用在这种情况下仅采样零?2)这个“ FIR插值滤波器”,对于m = 3,看起来是否像[1 0 0 3.2 0 0 -2.1 0 0 1.1 0 0]?(数字组成)。
Spacey 2012年

@Mohammad我已经编辑了答案。我希望这有帮助。并感谢您提供有关多项式回归的信息。
Jim Clay

1
@endolith,我认为有两个原因:复杂性,并且仅在过滤器长度超过某个数字(并且我不确定该数字是多少)时才有意义。FFT方法在处理样本块时效果很好,但是如果要处理样本流,则还必须进行重叠加法或重叠保存以保持连续性。
吉姆·克莱

1
@endolith关于FFT方法的一个真正的好处是,使用大型滤波器几乎没有成本。
Jim Clay 2012年

3

吉姆的答案很好地涵盖了这一点。所有上采样方法都遵循相同的基本方案:

  1. 在样本之间插入零:这会导致原始频谱的周期性重复,但会保留原始频段中的频谱完全完整
  2. 低通滤波器可消除所有镜面光谱

方法之间的主要区别是如何实现低通滤波。理想的上采样器将包括理想的低通滤波器,但这是不切实际的。考虑到频域中的问题,可以找到适合您特定要求的正确的上采样算法:

  1. 我在原始频带中可以承受多少幅度失真?那是频率依赖性的吗?
  2. 我是否关心原始乐队的相位?如果需要保持相位,则需要线性相位FIR。如果不是最小的阶段,则在保持“因果关系”和急剧发作方面做得更好。
  3. 我需要多少抑制镜像?基本上,镜像会在基带中显示为额外的噪声。

高阶非线性插值器(样条曲线,埃尔米特曲线,拉格朗日曲线)通常效果不佳,因为插值误差高度依赖信号,并且几乎不可能映射到特定要求。


您所说的“在保持“因果关系”方面做得更好”是什么意思?
nibot 2012年

0

考虑采样保持(即重复采样值)与零填充之间的差异时,认识到采样保持可以解释为通过零填充和零填充来进行上采样(如Jim和Hilmar所指出的那样),这很有帮助。 FIR滤波器的脉冲响应由矩形脉冲组成。

例如,当从2 kHz采样到64 kHz(32倍)时,我们可以通过在每对2 kHz采样之间插入31个零,然后通过由32个FIR滤波器组成的FIR滤波器进行滤波,来实现这一点。系数为零。

以这种方式考虑采样和保持,使其易于分析。我们可以通过对矩形窗口进行傅立叶变换来获得采样保持操作的频率响应。正如吉姆指出的那样,矩形脉冲的傅立叶变换是sinc具有线性相位的函数(因为矩形不在)。τ=0

事实证明,该sinc函数在较低采样频率的谐波处恰好具有零点。在我们从2048 Hz到65536 Hz的向上采样的示例应用中,采样保持操作的频率响应在2048 Hz,4096 Hz等处为零。

在此处输入图片说明

由此得出的结论是,任何能完全抑制原始采样频率谐波的插值滤波器看起来都像“采样并保持”。这是正确的吗?

关于抑制这些谐波的标准,采样保持似乎是最佳的。但是,它的抗混叠能力很差,因为除谐波零点外,它的频率响应只下降了比旧奈奎斯特速率高。1/f


问题在于零位非常窄,因此大多数信号将具有零位之外的能量。
吉姆·克莱

@JimClay,窄零点不是消除低采样率谐波的理想选择吗?我同意,您还希望在1 kHz左右再增加一些极点,以消除镜像频率。我想我会扩大我的问题:如何设计一个好的插值滤波器?
nibot 2012年

您设计了一个低通滤波器,其通带包括信号的带宽,而阻带包括上采样时引入的别名。信号的3dB点和“别名”之间的频率是您的过渡频带。如果您的问题是“如何设计低通滤波器?”,请在另一个问题中提出,我们可以进行讨论。
Jim Clay 2012年

我通常了解如何设计滤波器,通常是将极点和零点明确放置在s域中,然后将其转换为z域滤波器。我想知道插值过滤器是否有任何特殊技巧。我要传达的信息是,实际上并没有任何技巧-插值滤波器就像其他任何类型的滤波器一样,它们的设计是在各种考虑因素(纹波,相位,群时延,最小阻带衰减,计算复杂度等)。
nibot 2012年

另一方面,我对设计FIR滤波器一无所知。
nibot 2012年
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.