RF power spectrum from SDR output

8 次查看(过去 30 天)
I am using a Software-Defined Radio (SDR). How is power spectrum of the Radio Frequency (RF) signal calculated from the data outputted by the SDR, taking into account that the outputted samples are not taken from the RF signal but from the baseband signal instead? My Matlab version is 2021b, thus I do not get the timeStamps of the outputted data. I am using an Ettus USRP B210 radio, however I guess that the algorithm for calculating the RF power spectrum is independent of the SDR model.

回答(1 个)

Naren
Naren 2023-3-27
Hello Henrik,
To calculate the power spectrum of the RF signal from the baseband samples outputted by the SDR, you need to perform a process called upconversion. This involves mixing the baseband signal with a local oscillator (LO) signal at the frequency of interest, which translates the baseband signal up to the RF frequency range. Once the signal has been upconverted, you can then apply a power spectral density (PSD) estimation technique such as the periodogram, Welch's method or the multitaper method to calculate the power spectrum of the RF signal.
In MATLAB, you can use the Signal Processing Toolbox to perform the upconversion and PSD estimation. First, you need to generate the LO signal at the desired frequency using the cos and sin functions. Then, you can mix the baseband signal with the LO signal using the mixer function. Finally, you can apply a PSD estimation function such as pwelch or pmtm to calculate the power spectrum of the upconverted signal.
Note that the mixer function is not an in-built Matlab function, but rather a custom function that performs complex mixing of two signals. You can find implementations of this function in various SDR libraries or online

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by