0

所以首先我让自己习惯了 Matlab FFT,例如我会做以下事情:

    clc     
    fs = 4;    
    t = 0:1/fs:1-1/fs;     
    x1 = sin((2*pi)*t);     
    y1 = fft(x1,n);    

   FT_power1 = abs(y1(1:floor(n/2))).^2;     
   FT_phase1= (((angle(y1(1:floor(n/2))))) * 180/pi);     
   [c1,i1] = max(FT_power1);     
   phase(1) = FT_phase1(i1);

而且我认为我对为什么使用奈奎斯特和采样频率参数有一个不错的理解。但是现在,我想对输出数组执行相同的过程(即来自我拥有的不同子​​程序的正弦曲线),这意味着我的输出数组有 2 列,第一列是时间向量,第二列是实际的正弦响应。现在,如何合并 fs 参数?我突然很困惑。如果您需要更多详细信息,请告诉我。谢谢你。

4

1 回答 1

1

如果我正确理解您的问题,您的新数组实际上是一个二维数组,第一个维度代表采样的时间,第二个维度代表正弦曲线的样本。

要通过 FFT 处理新数组,只需忽略时间维度,并仅使用样本维度(正弦数据样本)。

在这种情况下,奈奎斯特率仍然适用。您的正弦曲线必须以您希望通过 FFT 解析的最大频率的两倍(或更多)进行采样。

FFT 使用采样频率来正确缩放 FFT 输出的频率轴。

您可以在此处了解有关 Nyquist-Shannon 采样定理的所有信息:采样定理

于 2013-02-13T18:45:29.107 回答