discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FM Transmitter tuning issue (pre-emphais, modulation index..)


From: Anthony
Subject: FM Transmitter tuning issue (pre-emphais, modulation index..)
Date: Mon, 4 Apr 2022 09:23:39 +0200

Hello all,

I am implementing a FM Transceiver following this prerequisites :

Frequency modulation with a pre-emphasis of 6 dB/octave (phase modulation) with frequency-shift of the modulating sub-carrier :
– frequency-shift between 1 300 and 2 100 Hz; the sub-carrier being at 1 700 Hz;
– the frequency tolerance of the 1 300 and 2 100 Hz tones is  10 Hz;
– the modulation rate is 1 200 (bit/s) * (1 ± 30 * 10−6);
– the index of modulation is 2.0  10%.

To implement the frequency modulation, I've followed the example based on the use of a VCO in GNU Radio :
https://wiki.gnuradio.org/index.php/VCO
with these parameters :
- full-scale frequency of 3000 Hz -> VCO sensitivity of 2*pi*3000 (I chose 3000 to fit my 2 frequencies of interest). 
- I adapted the Multiply and Add Const block to set the space/mark frequency to 1300 and 2100 Hz.

The input of the VCO is quite the same as in the example : I am sending bursts of bytes from a ZMQ socket that pass in a Repeat Block to be interpolated 40 times.
I have managed the sample rate with a USRP B210 at the end, so that the input sample rate before the Repeat block is 1200 (1200x40 = 48 KS/s, 48 KS/s being the VCO's sample rate).
I then interpolate the output signal of the VCO using a Rational Resampler to match the sampling rate used in the USRP block (960 kS/s).

In this scheme, I don't know if I have the right approach to implementing this modulation. Especially :
- How the pre-emphasis is added in this scenario, where my input data has a rather constant frequency (bitstream at 1.2 kHz) ?
- How is the modulation index set (which variables can affect it ?). I've found a definition like this : m = deviation frequency / modulating frequency
-> deviation frequency is +/- 400 Hz to me (around 1.7 kHz)
-> modulating frequency is 1200Hz (as the symbol rate equals the bitrate here)
So my modulation index is 1/3, quite far from 2. I surely misinterpret it, and my output signal in frequency is quite thinner than an expected signal.
What parameters could I use in my implementation to set it to 2 ?

I outputted the resulting signal, which is quite thinner but still I see pics at 1.3 and 2.1 kHz, and I'm able to demodulate it and recover my data on a RX path.

I think I got some obvious things wrong in my FM transmitter.
If you have some resources or advices to point me in the right direction, that'd be useful! :)

I am using GNU Radio 3.8.5 (maint branch) and UHD 3.15.

Anthony 

Attachment: flowgraph_screen.png
Description: PNG image

Attachment: tx_uhd_zmq_v1.grc
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]