fft点和向量中fft之间的差异

New*_*ent 2 matlab fft vector

给定X长度向量,和L之间有什么区别?fft(X)fft(X,L)

这是否意味着我们在使用时取了ffton L点,fft(X)而在进行fft向量取Lfft(X,L)呢?

Adr*_*aan 6

根据有关文档fft

Y = fft(X)X使用快速傅立叶变换(FFT)算法计算离散傅立叶变换(DFT)。

如果X是向量,则fft(X)返回向量的傅立叶变换。

Y = fft(X,n)返回n-point DFT。如果未指定任何值,Y则与的大小相同X

如果X是向量且长度X小于n,则X用尾随零填充长度n

如果X是向量并且长度X大于n,则X截短为长度n

这意味着,如果您有一个X长度为矢量的向量Lfft(X)并且fft(X,L)等效的

当您致电时,有趣的地方来fft(X,n)n~=L

  • 如果n<L您的输入向量X将被删节,即您将使用较少的测量值并获得较短的傅立叶序列。
  • 如果n=L; 以上讨论
  • 如果n>L向量X是零填充的:( X = [X zeros(L-n,1)]对于行向量X)。这将在频域中进行插值。从文档底部的公式最容易看出这一点:

在此处输入图片说明

如果增加n,向量将更长Y。但是,由于您填充了零,而不是信号的延续,因此它的傅立叶变换将是 频率之间的插值。通常情况下,你不得不频率按以下给出W(n)您的采样频率运行,f_s一路攀升到f_n = Nyquist/2L步骤,即尽可能多的数据点,您有:linspace(F_s,f_n,L)。当零填充将更多点放入同一空间时,您正在做什么:linspace(F_s,f_n,n),而无需添加信息。