假设我们希望通过频域中的零填充对偶数个采样(例如N = 8)的周期信号进行插值。

DFT X=[A,B,C,D,E,F,G,H] 16个样本得到Y。我见过的每个教科书示例和在线教程都在[Y4...Y11]处插入零,给出Y=[2A,2B,2C,2D,0,0,0,0,0,0,0,0,2E,2F,2G,2H]
(然后y = idft(Y)是内插信号。) >
据我所知(我的数学知识是有限的): Y=[2A,2B,2C,2D,E,0,0,0,0,0,0,0,E,2F,2G,2H]也是如此,因为在所有采样点上,x仍与y相交(我认为这对于y所在的任何x都是正确的)

所以为什么呢



编辑:p不一定是实数值或带限制的。

评论

您编写了“我见过的每个教科书示例和在线教程都在...处插入零”,能否为您的帖子添加一些参考资料?只是好奇,因为您还写道x不一定是实数值,并且您提到的第一个构造通常不会通过逆DFT产生真实结果。

@niaren这是一个示例:dspguru.com/dsp/howtos / ...

值得注意的是,为了使$ y $成为实值,则需要让$ Y = [2A,2B,2C,2D,E,0,0,0,0,0,0,0,0, E ^ *,2F,2G,2H] $(即,当您将E复制为频域矢量的“负频率”一半时,需要对其进行共轭。时域中的实信号具有共轭对称DFT。

@Jason R,如果输入信号是实值,则E也是[2A,2B,2C,2D,E,0,0,0,0,0,0,0,E,2F,2G,2H]满足此条件。如果输入不是实值,则不必强制输出为实值。

你是对的。那是我在深夜写评论的结果。

#1 楼

让我们看一下8点DFT中bin的频率:

$$
\开始{array} {c}
\ omega_A = 0,\\
\ omega_B = \ pi / 4,\\
\ omega_C = \ pi / 2,\\
\ omega_D = 3 \ pi / 4,\\
\ omega_E = \ pi =-\ pi \({\ tt mod} \ 2 \ pi),\\
\ omega_F = 5 \ pi / 4 = -3 \ pi / 4 \({\ tt mod} \ 2 \ pi),\\
\ omega_G = 3 \ pi / 2 =-\ pi / 2 \({\ tt mod} \ 2 \ pi),\\
\ omega_H = 7 \ pi / 4 =-\ pi / 4 \({\ tt mod} \ 2 \ pi)
\ end {array}
$$
因此,当您插值2倍时,点$ E $的频率变为$-\ pi $或$ + \ pi $。乍一看,我看不出您的方法有什么问题,因为尚不清楚应将$ E $放入与$ \ pi $或$-\ pi $相关的bin中。

在Julius O.Smith III的页面上,他声明了一个条件:


此外,当$ N时,我们要求$ x(N / 2)= x(-N / 2)= 0 $ $是偶数,而奇数不需要
这样的限制。


他的示例中有一个奇数的$ N $,这避免了这个问题。引用朱利叶斯的作品:

史密斯,乔带音频应用的离散傅立叶变换(DFT)数学,第二版,
http://ccrma.stanford.edu/~jos/mdft/,2007,在线图书,
可访问2011年9月28日。

#2 楼

有许多种插值数据的方法。我认为插值法意味着您在某些数据点之间“画线”。这可以通过多种方式完成。在DSP(特别是在多速率DSP)中有用的一种插值类型是“带限插值”。如果您用google搜索,将会获得许多有趣和有用的点击。您建议的不是带限插值。在“上采样” x中,原始x中不存在频率分量。

编辑(太长而无法放入评论):

您的构造之间有很大的不同,以$ X = [A,B,C,D开头,E,F,G,H] $和您提供的参考中的示例。

考虑实际输入

$ X = [A,B,C,D, E,D ^ *,C ^ *,B ^ *] $

上采样为全频带输入的2倍。在这种情况下,可以通过在交织的输入中首先放置零来进行升采样(即$ x_0,0,x_1,0,... $。结果是信号的频谱中包含频谱的压缩版本)。 x(在$ 0- \ pi / 2 $范围内)和从$ \ pi / 2-\ pi $扩展的图像(仅考虑正频率轴)。如果x2是上采样版本,则

$ X2 = [A,B,C,D,E,D ^ *,C ^ *,B ^ *,A,B,C,D,E,D ^ *,C ^ *,B ^ *] $

在理想情况下,需要使用具有截止频率$ \ pi / 2 $的理想砖墙滤波器来去除图像,即(对于无限输入)

$ y_n = \ sum_ {k =-\ infty} ^ {\ infty} x2_k sinc(0.5n-k)$

实际上,虽然会有些失真,因为砖墙过滤器不是实际的滤波器可以抑制/消除输入中的频率,或者可以在上采样信号中保留图像中的某些频率分量,或者滤波器可以在两者之间做出折衷。 cy域的构建也反映了这种折衷。这两个示例代表两个不同的选择:

$ Y = [A,B,C,D,E,0,0,0,0,0,0,0,0,E ^ *,D ^ *,C ^ *,B ^ *] $

$ Y = [A,B,C,D,0,0,0,0,0,0,0,0,0,D ^ *,C ^ *,B ^ *] $

如果输入被限制为低于奈奎斯特频率,如您的参考文献所述,此问题将消失。

也许可以在下面找到$ \ rho $的值,这样一些误差函数,例如输入光谱和上采样输出光谱之间的平方误差最小。
$ Y = [A,B,C,D,\ rho,0,0,0,0,0,0,0,\ rho ^ *,D ^ *,C ^ *,B ^ *] $

评论


$ \ begingroup $
确保是带限插值。您的意思是,原始$ x $中不存在频率分量?
$ \ endgroup $
–leftaround关于
2011-09-28 13:44

$ \ begingroup $
@leftaroundabout原始x受带宽限制(在此示例中为Nyquist频率)。 OP希望将x上采样2倍(我的解释)。 x上采样的一种方法是在频率响应中插入零,如OP所示(不带E的示例,DSP教科书中所示的一个),然后进行逆FFT。我相信通过在S和X滤波器(低通)中插入零(交错)可以实现相同的目的。如OP所示,通过插入E,上采样的x不会被限制为原始奈奎斯特频率。通常不希望这样做(这是失真)。你同意吗?
$ \ endgroup $
– niaren
2011-09-28 15:17



$ \ begingroup $
插入零并用Sinc(乘以2)进行卷积确实应该是相应的时域操作。 —我不认为这是失真的:OP放入$ E $ s的两个容器代表相同的频率$ \ frac \ pi2 \ sim \ frac {-\ pi} 2 $。
$ \ endgroup $
–leftaround关于
2011-09-28 18:09



$ \ begingroup $
我假设x中存在±N / 2的频率。如果不是(由于带宽限制或其他原因),则E始终为0,因此在使用E(或2E)填充和使用0填充之间没有区别。
$ \ endgroup $
– Finnw
2011-09-28 18:13

$ \ begingroup $
由于来自任何非DFT孔径非周期性频谱内容的“频谱泄漏”,尤其是在Fs / 2附近(但不是在Fs / 2附近),带宽受限的信号仍然可以包含在bin N / 2中。
$ \ endgroup $
– hotpaw2
2011-09-29 17:45