我正在尝试生成一个分数或数字,表示有多少cos和sin波可以产生我的信号。例如,如果信号是正弦波,这意味着它是100%纯,因为它只能由一个正弦信号产生,如果它由两个正弦波组成..这意味着它不是纯波,如果它包含100个正弦波它实际上是不可靠的等等....我尝试过FFT和FS但它没有工作......任何人都可以帮助我吗?
答案 0 :(得分:1)
FFT将起作用。 您必须使用傅里叶变换处理波,然后计算幅度 sqrt(真实*真实+图片*图片)。计算结果的峰值将为您提供不同频率的正弦波数。
答案 1 :(得分:0)
你走了:
x = s;
X = dct(x);
[XX,ind] = sort(abs(X),'descend');
i = 1;
while norm(X(ind(1:i)))/norm(X)<0.99
i = i + 1;
end
Needed = i;