2013-02-12 94 views
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); 

而且我觉得我有为什么使用奈奎斯特采样频率参数有了深入了解。但是现在,我想对输出数组(也就是来自不同子例程的正弦曲线)执行相同的过程,这意味着我的输出数组有两列,第一列是时间矢量,第二列是实际的正弦响应。现在,如何合并fs参数?我突然感到困惑。如果您需要更多详细信息,请告诉我。谢谢。

回答

1

如果我正确理解你的问题,你的新数组实际上是一个二维数组,第一个维表示采样的时间,第二维表示一个正弦波的采样。要通过FFT处理您的新阵列,只需忽略时间维度,并仅使用样本维度(正弦数据样本)。

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

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

您可以在此处了解关于Nyquist-Shannon采样定理的全部内容:Sampling theorem