天天看點

[數字信号處理]信号自相關譜算法實作

clc;clear all;close all;
n       = 2000;
fs      = 150;                  %采樣頻率
x       = 1:1:n;                % 資料點
data    = sin((x/fs)*2*pi);     % 頻率為1Hz的正弦波

% 譜緩存 2倍采樣率譜 對應譜最大周期為1/0.5Hz = 2s
spec_arr = zeros(300,n);
% 資料緩存
data_arr = zeros(301,1);

% DSP下,每次讀入一個新的資料
for i = 1:1:n
    data_arr(1:300) = data_arr(2:301);
    data_arr(301)   = data(i);
    
    % 資料量足夠做譜的話
    if(i>300)
        for j = 300:-1:1
            spec_arr(j,i) = data_arr(301)*data_arr(j);
        end
    end
end

figure(1);
plot(data);

figure(2);
surf(spec_arr);
           
[數字信号處理]信号自相關譜算法實作
[數字信号處理]信号自相關譜算法實作

繼續閱讀