Answers:
出于此答案的目的,我将使用Matlab的术语并将“上采样”定义为在输入样本之间插入零的过程,将“插值”定义为上采样和过滤的组合过程,以去除别名(是上采样引入的内插因子)。有关上采样如何/为什么引入别名的说明,请参见此线程。m - 1 m
重要的是要理解,任何低通滤波器都可以用来消除别名,从而完成插值。但是,某些滤波器在插值中使用时具有优势。我将在下面讨论插值过滤的各种形式。
内插FIR滤波器非常有效,因为它们将上采样和混叠滤波组合为一个步骤。在一个示例中最容易看出这一点。假设我们有一个数据序列,我们想将其插值两倍。第一步是向上采样两倍。这会将原始数据序列从为。
现在假设我们有一个低通FIR滤波器,我们将使用它来去除别名。当我们用滤波器对上采样的数据序列进行卷积时,一半的滤波器抽头由非零样本激发,而一半的抽头则处于非活动状态,因为它们对应于零样本。当过滤器遍历数据时,被激励的一半和不活动的一半来回翻转。这两组抽头有时被称为滤波器相位。
通过消除上采样并使用插值FIR滤波器对原始数据序列进行滤波,可以隐式实现相同的效果。内插FIR滤波器为每个输入样本产生输出。对于所有输出,滤波器将在相同的输入样本上运行(其中K是滤波器抽头的数量,“ ceil”是上限函数)。
希望能有一个例子说明其工作原理。假设我们有一个六阶抽头滤波器,并且插值系数是二。过滤器抽头为[1 -2 4 4 -2 1]。如果我们从字面上进行插值然后过滤,则样本和过滤器抽头将排队(一旦完全重叠),如下所示:
零阶保持插值器只是简单地将每个样本重复次。因此,两个零阶保持插值器将转换为。该方法之所以具有吸引力,是因为它在编码和计算量方面都非常容易实现。
问题是它的低通滤波效果很差。我们可以看到,当我们认识到零保持插值器是FIR插值的特例时。它对应于升采样,后跟一个宽的矩形滤波器。矩形滤波器的傅立叶变换是一个Sinc函数,它是一个简陋的低通滤波器。可以通过补偿FIR滤波器来解决它的不稳定问题,但是如果您打算这样做,那么最好还是先使用一个好的低通滤波器。
一阶保持比零保持插值器高一阶,因为它使用两个最近的输入采样对上采样进行线性插值。因此,两个一阶保持插值器的因数会将转换为。
像零阶保持插值器一样,一阶保持插值器是FIR插值的一种特殊情况。它对应于三角滤波器的上采样和滤波。对于二因子插值,滤波器为;对于三因子插值,滤波器为,依此类推。[1
三角形滤波器是两个卷积在一起的矩形滤波器,它们对应于频域中的平方sinc。这是从零阶保持开始的明确步伐,但仍然不是很好。
我从未使用过内插IIR滤波器,所以我不会在此赘述。我假设适用的参数与常规过滤中的参数相同-IIR滤波器效率更高,不稳定,没有线性相位等。我不认为它们可以像FIR滤波器那样将上采样和滤波步骤结合在一起,但我对此可能是错的。
即使不是很普遍,我也要扔掉它(当然,零保持也不是很普遍)。 该线程讨论FFT重采样,其中重采样既是插值又是抽取。
二阶保持插值器通常称为“二次插值器”。它们是非线性的,因此不能实现为线性的FIR滤波器。我不太了解它们背后的数学原理,因此我不会讨论它们的性能。不过,我会说,我相信它们在信号处理之外有些普遍。
还存在更高阶(三个或更多)的方法。这些被称为“多项式回归”。
编辑:
我忘了提到CIC过滤器。使用CIC滤波器的原因有两个:它们仅使用加法器/减法器(由于乘法运算快速且廉价,因此并不重要),并且它们可以非常有效地进行较大的采样率更改。它们的缺点是它们本质上是级联矩形滤波器的有效实现,因此它们具有如上所述的矩形滤波器的所有缺点。CIC内插器几乎总是在补偿FIR滤波器之前,该滤波器对信号进行预失真以抵消CIC引入的失真。如果采样率变化足够大,则值得使用预失真滤波器。
吉姆的答案很好地涵盖了这一点。所有上采样方法都遵循相同的基本方案:
方法之间的主要区别是如何实现低通滤波。理想的上采样器将包括理想的低通滤波器,但这是不切实际的。考虑到频域中的问题,可以找到适合您特定要求的正确的上采样算法:
高阶非线性插值器(样条曲线,埃尔米特曲线,拉格朗日曲线)通常效果不佳,因为插值误差高度依赖信号,并且几乎不可能映射到特定要求。
考虑采样保持(即重复采样值)与零填充之间的差异时,认识到采样保持可以解释为通过零填充和零填充来进行上采样(如Jim和Hilmar所指出的那样),这很有帮助。 FIR滤波器的脉冲响应由矩形脉冲组成。
例如,当从2 kHz采样到64 kHz(32倍)时,我们可以通过在每对2 kHz采样之间插入31个零,然后通过由32个FIR滤波器组成的FIR滤波器进行滤波,来实现这一点。系数为零。
以这种方式考虑采样和保持,使其易于分析。我们可以通过对矩形窗口进行傅立叶变换来获得采样保持操作的频率响应。正如吉姆指出的那样,矩形脉冲的傅立叶变换是sinc
具有线性相位的函数(因为矩形不在)。
事实证明,该sinc
函数在较低采样频率的谐波处恰好具有零点。在我们从2048 Hz到65536 Hz的向上采样的示例应用中,采样保持操作的频率响应在2048 Hz,4096 Hz等处为零。
由此得出的结论是,任何能完全抑制原始采样频率谐波的插值滤波器看起来都像“采样并保持”。这是正确的吗?
关于抑制这些谐波的标准,采样保持似乎是最佳的。但是,它的抗混叠能力很差,因为除谐波零点外,它的频率响应只下降了比旧奈奎斯特速率高。