So, i have this code:
[sound,fs,bits] = wavread(file);
[S,F,T] = spectrogram(sound, 256, 200, 256, fs);
plot(F,abs(S));
[sorted index] = sort(list,'descend');
现在我需要找到 S 中幅度的最高 3 个峰值(在频率 0 和 1000、1000 和 2000 和 > 2000 之间),为此,我执行以下操作:
ind = length(F);
for k=1:1:ind
if F(k) >= 0 && F(k) < 1000
listaAmpF1(k) = sorted(k);
else
if F(k) >= 1000 && F(k) < 2000
listaAmpF2(k) = sorted(k);
else
if F(k) >= 2000
listaAmpF3(k) = sorted(k);
end
end
end
end
maxAmpF1 = max(listaAmpF1);
maxAmpF2 = max(listaAmpF2);
maxAmpF3 = max(listaAmpF3);
假设我现在拥有我需要的所有最大 3 安培,我现在需要找到相应的频率,我该怎么做?
编辑: S 和 F 有不同的长度