延迟脉冲不会延迟频谱响应

信息处理 fft 频谱 卷积 冲动反应
2022-02-20 09:14:01

受 Sarwate 博士对 在时域中对信号进行采样时如何在频域中形成副本?,我决定亲自看看基本概念。

我解释了 Sarwate 博士的回答,即抽样是一个连续的活动。所需要做的就是将脉冲与要采样的信号相乘。这需要通过延迟/转移版本的冲动来重复。

时域中的乘法是频域中的卷积,反之亦然。我认为随着每个样本的脉冲移动,它的频谱响应也会在频域中经历类似的移动。但似乎并非如此。

我用八度音程编写了一个玩具程序,频率响应图并没有带来任何乐趣。我在这里误解了什么?

## Num Samples
N = 10;

## Row vector representing samples (all zeroed out)
x = zeros(1,N);
y = zeros(1,N);
z = zeros(1,N);

## Undelayed impulse (For lack of a better word)
x(1) = 10;

## Delayed by 1 sample
y(2) = 10;

## Delayed by 2 samples
z(3) = 10;

## Obtain spectrum of undelayed impulse
s_spectrum_x = fft(x);
s_spectrum_abs_x = abs(s_spectrum_x);

## Obtain spectrum of impulse delayed by 1 sample
s_spectrum_y = fft(y);
s_spectrum_abs_y = abs(s_spectrum_y);

## Obtain spectrum of impulse delayed by 2 samples
s_spectrum_z = fft(z);
s_spectrum_abs_z = abs(s_spectrum_z);

>>disp(s_spectrum_abs_x);
10 10 10 10 10 10 10 10 10 10

>>disp(s_spectrum_abs_y);
10 10 10 10 10 10 10 10 10 10

>>disp(s_spectrum_abs_z);
10 10 10 10 10 10 10 10 10 10

y 和 z 的初始 bin 不应该为 0 吗?

1个回答

卷积定理(“时间的乘法是频率的卷积”)指出:

F{xy}=F{x}F{y}

其中是两个时域信号,表示逐元素乘法,是卷积算子。因此,频域中的卷积是在原始信号的傅里叶变换之间进行的。x,y

例如,让我们使用您的脉冲与频率响应:

F{δ(t)}=1

此外,请注意 FT 的时移特性:

F{x(tt0)}=F{x(t)}exp(j2πft0)

其中是您喜欢的任何信号。现在,您可以很容易地解释您为转移的冲动获得的结果:x(t)

F{δ(t1)}=F{δ(t))}exp(j2πf)

其中(由于离散 FT)。对于两班倒的情况类似:f=[0/N,1/N,2/N,,(N1)/N]

F{δ(t2)}=F{δ(t)}exp(j2πf2)

请注意您显示光谱的绝对值:对于您喜欢的任何这就是为什么您会看到三倍相同的输出。尝试分别绘制实部和虚部,然后您将看到时移的效果。你也可以看看这里,这是我写的一篇关于时移和频移效果的文章。F{δ(t)}=1|X(f)exp(j2πft0)|=|X(f)|X(f)