Signal composition and intermodulation filtering

Hi everyone.

I’m new in this forum and this is my first message!

It’s more or less 2 months that I bought and playing with my new ettus
usrp2 B100 with a WBX radio board.
I admit that I have a discrete knowledge of RF transmission, but I’m not
an expert (so, if I write something “strange”…)

I’m trying to build a 2 sidelobe digital transmission (USB and LSB)
centered @145.025Mhz and separated by 50 Khz (so LSB centered @145Mhz
and USB @145.05Mhz). The sidelobe transport 2 different message and are
modulated with a GMSK modulation @9600 bps and 25 KHz BW.

My idea was to generate two sidelobe separately in baseband, then
frequency shift each one by +/- 25KHz and in the end sum togheter. This
shift is done with a mixer: in gnu radio companion I put 2 sine signals
sources @+/-25Khz and then multiplied with my digital modulated signals.
I used a sum block with 2 input and connected the output to the UHD.

UHD has a center frequency of 145 MHz and 10 dBm power output.

I analyzed the RF output with my spectrum analyzer and I saw a nasty RF
signal, full with intermodulation spike spaced by 50 KHz. (The signal in
input to the UHD block seem’s ok, I have 2 good “hills” centered at 0 Hz
and with 25 KHz BW. Other signal are just confused in the floor noise)

Surfing on the web, I found an option to set and implement some sort of
superetherodyne transmitter with the LO option in the uhd.tune_request_t
function. This seem’s to solve the intermodulation problem but

  1. the main signal is strongly attenuated
  2. If I amplifie the RF output from the B100 with an external amplifier
    I get back the same spectrum analisys with intermodulation.

So, my final questions are: is it possible to remove all this
intermodulation signal and generate a 2 sidelobe transmission (USB/LSB)?
I’m doing that right in Gnu radio companion? I mean mixing with multiply
a sine signal source? is it enough? The only way to remove
intermodulation spike is to use an external filter?

THANK YOU VERY MUCH TO ALL!!! :slight_smile:

Alessandro,

You may be over-driving the DAC, which will generate very bad IMD. You
have to be careful when summing signals as the total floating point
value must never exceed +/- 1.0. If you are summing two signals then
set your sinusoid amplitude to 0.5. Summing 4 set it to 0.25.

Lou

Louis B. wrote in post #1121399:

Alessandro,

You may be over-driving the DAC, which will generate very bad IMD. You
have to be careful when summing signals as the total floating point
value must never exceed +/- 1.0. If you are summing two signals then
set your sinusoid amplitude to 0.5. Summing 4 set it to 0.25.

Thank you for your answer Lou.

I forget to describe the presence of two multiply const with a value of
0.45 each, between the digital output signal and summ block, while
sending this message. So doesn’t seems to be a clipping DAC problem,
even because with these values the sum is +/- 0.9

By measuring the spectrum with a larger span I also noted the presence
of a signal at more or less 20 Mhz under 145 MHz, i.e, 125Mhz and also
others uppers signals (I think at 20 Mhz more, but not measured.)

Hope that this new info can help.

Thank you again!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs