簡體   English   中英

正弦模型的光譜結構

[英]spectral structure of sinusoidal model

讓我們考慮以下代碼

function [ x ] = generate1(N,m,A3)
f1 = 100;
f2 = 200;
T = 1./f1;
t = (0:(N*T/m):(N*T))'; %'
wn = randn(length(t),1); %zero mean variance 1
x = 20.*sin(2.*pi.*f1.*t) + 30.*cos(2.*pi.*f2.*t) + A3.*wn;
%[pks,locs] = findpeaks(x);
 %plot(x);
end

如我所知,傅立葉域中的峰值代表該頻率,該峰值存在於信號中,例如讓我們對信號進行傅立葉變換作圖,讓我們運行該信號

y=generate1(3,500,1);

和情節

plot(abs(fft(y)))

在此處輸入圖片說明

但是很明顯它沒有顯示我在信號給定頻率上的峰值,這是什么問題?請幫我,通常是平穩的信號,為什么這張圖應該給我顯示准確的圖像卻沒有,為什么?

編輯:

Y1 = generate1(3,500,0); 在此處輸入圖片說明

function [ x, fs ] = generate1(N,m,A3)
f1 = 100;
f2 = 200;
T = 1./f1;
t = (0:(N*T/m):(N*T))'; %'
wn = randn(length(t),1); %zero mean variance 1
x = 20.*sin(2.*pi.*f1.*t) + 30.*cos(2.*pi.*f2.*t) + A3.*wn;
%[pks,locs] = findpeaks(x);
 %plot(x);
 fs = 1/(t(2)-t(1));
end

看看

absfft = abs(fft(y));
plot(fs/2*linspace(0,1,length(absfft)/2+1),2*absfft(1:end/2+1))

要么

plot(linspace(-fs/2,fs/2,length(absfft)),fftshift(absfft))

您繪圖中的x軸從0到fs / 2,然后從-fs / 2到0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM