Forums › SM Series Discussions › SM200B receive problem in low frequency band
- This topic has 3 replies, 3 voices, and was last updated 2 weeks, 3 days ago by
Justin Crooks.
- AuthorPosts
mmarkParticipantWhen using SM200B, I tried to receive signals below 100 MHz transmitted from a signal generator through the API, and verified the received power with Spike. Then use FFT to calculate signal power.
I found that the signal power received via the API was much weaker than the transmitted signal, while Spike showed the signal power as normal. However, when I transmitted higher-frequency signals,like 500MHz、1GHz, both the API and Spike reported the received signal power correctly.
I also tried smgetIQcorrection() function but it didn’t work, so is there any solution for me to deal with this problem?
AndrewModerator- This reply was modified 3 weeks, 1 day ago by
Andrew.
mmark,
There are a couple scaling factors you might need to consider when FFT’ing the I/Q data from our API.
– If you are requesting 16-bit I/Q data from our API, and you want to measure dBm, then you will need to get the I/Q correction and apply it via the equations in our API manual. If you are requested 32-bit floating point data (recommended), then the data is already scaled.
– The FFT itself. I would recommend scaling the Fwd FFT by N. What additional scaling you need to apply is dependent on which FFT library you are using. Some use scaling by default, some dont.
– If you are using a window function, you want to normalize the window before windowing the data.
– Once you have the above resolved, the output of the FFT can be converted to dBm using the equation
10*log10(I^2 + Q^2)
mmarkParticipantAfter a period of testing, I found that when receiving high-frequency signals via the API and performing FFT with window normalization, the measured power is correct. However, when receiving signals below 120 MHz, the power decreases as the frequency decreases, behaving like a high-pass filter.
We are using the SM200B IQ segment mode with the following settings: center frequency = 100 MHz, time_duration = 15.36e-3, ref_level = -10, trigger_type = “immediate”, and ext_trig_timeout = 1. Could it be that these parameter settings cause the received signal go through high pass filter(the preselector in user manual 3.2.4)? If so, is there a way to solve this problem?
p.s. I also tried to use smSetPreselector() and set False to it, but still didn’t work
Justin CrooksModeratorMMark,
Below about 160 MHz, the SM-series is in its direct conversion band. But in order to squeeze this into our normal I/Q signal processing, we do an upfront digital tune for some combinations of center frequency and bandwidth. This will ultimately move the pass band, and will digitally filter out some frequencies. If you email our support team, we can go into more specifics for your use case, but this might be what you’re observing.
- This reply was modified 3 weeks, 1 day ago by
- AuthorPosts
You must be logged in to reply to this topic.