Clarification on FM/AM implementation

Hi,

I am trying to implement a FM/AM multiplex signal using USRP board, with
Simple TX RX daughter boards.

I need a basic signal to be modulated over FM and use that FM modulated
signal as a base band for AM modulation, which will be finally sent to
USRP.

I was trying to use blks2.nbfm_tx / blks2.wfm_tx. But in both the
functions, I can specify only the peak deviation but not the center
frequency. Please let me know how do I do an FM modulation by specifying
both Fc and delta-f.

I have one more question. How do I do an AM modulation? I don’t find any
specific function for that. If I just connect the baseband signal to the
tuner card, tuning the usrp subdevice to the carrier frequency, will
that transmit an AM modulated signal?

I appreciate any help at these points at the earliest.

Thanks and Regards,

Sivaram

I need a basic signal to be modulated over FM and use that FM modulated
signal as a base band for AM modulation, which will be finally sent to USRP.

I was trying to use blks2.nbfm_tx / blks2.wfm_tx. But in both the functions,
I can specify only the peak deviation but not the center frequency. Please
let me know how do I do an FM modulation by specifying both Fc and delta-f.

I have one more question. How do I do an AM modulation? I don’t find any
specific function for that. If I just connect the baseband signal to the
tuner card, tuning the usrp subdevice to the carrier frequency, will that
transmit an AM modulated signal?

Looking at nbfm_tx, the first line says: “Takes a single float input
stream of audio samples in the range [-1,+1] and produces a single FM
modulated complex baseband output.”

gnuradio operates on baseband samples only, it is up to the hardware
(in most cases) to step things up to the carrier frequency of
interest. By using the ‘tune’ function (examples of which can be seen
in most of the files in the ‘examples’ folder) you can set the carrier
frequency. I think the tune function now works for the basic cards as
well (using the DDCs rather than an onboard carrier).

A full AM implementation guide is beyond the scope of the mailing
list, but think about the theoretical basis for AM: x =
m(t)cos(2pif_ct), where your information is just multiplied by the
carrier (gnuradio has blocks for multiplication). This probably isn’t
what you want (since the carrier goes to 0 when the signal does) but
it’s a good place to start.

Jason