Matlab 复合信号的频谱

Matlab 复合信号的频谱,matlab,signal-processing,fft,spectrum,Matlab,Signal Processing,Fft,Spectrum,我添加了两个频率分别为.2和.45赫兹的信号,得到了一个新的信号。我计算的基频是1/20赫兹。但频谱显示的是不同的。我在什么地方错了吗 t2=0:1/360:10-(1/360); s1=.33*cos(2*pi*.2*t2); s2=.22*cos(2*pi*.45*t2); baseline=s1+s2; Fs = 360; % samples per secon % seconds N = size(t,2); %% F

我添加了两个频率分别为.2和.45赫兹的信号,得到了一个新的信号。我计算的基频是1/20赫兹。但频谱显示的是不同的。我在什么地方错了吗

t2=0:1/360:10-(1/360);
s1=.33*cos(2*pi*.2*t2);
s2=.22*cos(2*pi*.45*t2);
baseline=s1+s2;
Fs = 360;                      % samples per secon               % seconds
N = size(t,2);
%% Frequency specifications:
dF = Fs/N;                      % hertz
f = -Fs/2:dF:Fs/2-dF;
x_axis=f;
% figure(3)
f_response=(abs(fftshift((fft(baseline-mean(baseline))))));
figure(1)
plot(t2,baseline); %BASELINE WANDER
xlabel('time');
ylabel('amplitude');
figure(2)
plot(t,fr);

提前感谢。

第6行:
N=尺寸(t2,2)我刚刚尝试过,我还更正了第12行和第18行中的变量名称。结果是正确的。你必须记住FFT的循环性,现在是我不玩FFT的时候了,试着回顾一下如何恢复正确的频率。FFT的结果总是在0到1之间,你必须根据你的频率进行缩放。注意:你在结果中看到的两个尖峰是第6行中的两个SIN:
N=size(t2,2)我刚刚尝试过,我还更正了第12行和第18行中的变量名称。结果是正确的。你必须记住FFT的循环性,现在是我不玩FFT的时候了,试着回顾一下如何恢复正确的频率。FFT的结果总是在0到1之间,你必须根据你的频率进行缩放。注意,你在结果中看到的两个尖峰是两个罪过。