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');
Теперь мне нужно найти 3 самых высоких пика амплитуд в S (между частотами 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 имеют разную длину
max
. - person wakjah   schedule 06.05.2013