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

1 Ansicht (letzte 30 Tage)
yusra Ch
yusra Ch am 30 Mai 2018
Bearbeitet: yusra Ch am 31 Mai 2018
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 ?
<<
>>

Antworten (0)

Kategorien

Mehr zu Signal Generation and Preprocessing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by