how to detect the highest contribution/maxima peak in the PSD ?

5 次查看(过去 30 天)
Hello, I have a sliding window of 500 samples that moves in a matrix. I get a PSD graph for every time the time window moves. I want to detect the cut off frequency of my PSD for every iteration and stock them in a vector. I have used the find peak function with the option of minpeakdistance= (Vtx+Vrx)/lambda as in the references I found that the cut off frequency is estimated by (Vtx+Vrx)/lambda. I have writen this code to look for peaks with a determined minpeakdistance only in the positive part of the PSD. the problem is that when I do this:
----------------------------------------------------------------------------------
[pks,locs] = findpeaks(10*log10(Densidad_espectral_potencia)- max(10*log10(Densidad_espectral_potencia)),'MinPeakDistance', abs(vrx-vtx)/(3e8/5.9e9));
Xx=Eje_Frequencia(locs);
Busca= find(Xx>0);
Freq=Xx(Busca);
f1=Freq(1);
--------------------------------------------------------------------------------
The cut off frequency is not always the first peak in the positive part. it changes its position in every iteration because it is related to moving scaterrers. Can anybody tell me how I can detect the cut of frequency in every iteration and save them in a vector ?
<<
>>

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Detection, Range and Doppler Estimation 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by