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 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File 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!