0

我有一个下面的正弦波方程

Fs = 8000; % Sampling rate of signal
Fc = 3000; % Carrier frequency
t = [0:Fs-1]'/Fs; % Sampling times
dev = 50; % Frequency deviation in modulated signal

s1 = sin(2*pi*200*t)+2*sin(2*pi*f*t);

现在我想为s1方程计算f的值,我们怎样才能得到这个?谢谢

4

1 回答 1

1

您可能想四处寻找类似的问题。

FFT 是解决问题的最简单途径:

spec = abs(fft(s1));

然后使用检测阈值搜索频谱中的最大值。

示例(此处f=10):

f= 10;
s1 = sin(2*pi*200*t)+2*sin(2*pi*f*t);

thresh = 0.2;
f1=abs(fft(s1))/sum(abs(s1));
f= [0:length(f1)-1]/length(f1)*Fs;
f(f1(1:end/2)>0.2)

这是结果(频谱中幅度大于阈值的峰值的频率):

ans =

    10   200
于 2013-09-07T11:19:51.587 回答