How to find dBm/Hz with Matlab From Voltage/Time Data
时间:04-04
整理:3721RD
点击:
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 :
Program 2 :
Program 1 :
Code:
Fs = 100 * 10^6; %Sampling Rate [pxx,f] = periodogram(Y,[], length(Y), Fs ,'psd'); plot(f, 10*log10(1000*pxx/100));
Code:
Fs = 100 * 10^6; %Sampling Rate [pxx,f] = periodogram(Y,[], length(Y), Fs ,'power'); plot(f, 10*log10(1000*pxx/100));
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)