微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > 天线设计和射频技术 > How to find dBm/Hz with Matlab From Voltage/Time Data

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 :
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));

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)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top