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/VCOwith 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