How to find dBm/Hz with Matlab From Voltage/Time Data

Status
Not open for further replies.

strahd_von_zarovich

Advanced Member level 4
Joined
Sep 25, 2015
Messages
118
Helped
1
Reputation
2
Reaction score
3
Trophy points
1,298
Activity points
2,463
Hi, i took 2000 samples from my ADC in 20microSeconds , and i have voltage-time data. I want to calculate noise floor since i don't have any signal and i terminated the input with 50 Ohm. My ADC's sampling rate is 100MHz . With the two program below i can plot in the frequency domain. One of it's Ylabel dBm and other one is dBm/Hz i guess . But are they true ? Am i doing right ? And what is my bandwidth to convert dBm/Hz to dBm. The program code with psd's output is dBm/Hz i guess?? :???:

Program 1 :
Code:
Fs = 100 * 10^6;        %Sampling Rate

[pxx,f] = periodogram(Y,[], length(Y), Fs ,'psd');

plot(f, 10*log10(1000*pxx/100));

Program 2 :
Code:
Fs = 100 * 10^6;        %Sampling Rate

[pxx,f] = periodogram(Y,[], length(Y), Fs ,'power');

plot(f, 10*log10(1000*pxx/100));
 

Attachments

  • dBm-Hz.jpg
    53.7 KB · Views: 102

I am not sure you can theoretically do what you want to.

You can integrate a noise spectral density in [dBc/hz] (or possibly in [dBm/hz] if you are careful of what that means), but the integration result is time jitter in [SECONDS], not [dBm]....

you can google and find programs online that will do that for you. You DO have to decide the integration limits to integrate over (perhaps 1000 Hz to 1 MHz IF your system has a carrier tracking loop with around a 1 KHz loop bandwidth)
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…