The following post I have gotten as suggestion: From IQ signal to FM modulated carrier, how its done?

1. Mr Andy Walls gave an Octave simulation in his answer. For his phase computation he used fm_gain. I assume, it is frequency modulation gain, isnt? Sorry I am not an expert, but I have never heard about "gain" of a modulation. I noticed this factor depends on bit rate, sample rate and modulation factor. If i increase bit rate, sample rate will increase, fm_gain will increase as well. Could someone explain what fm_gain is, what it describes, what is its effect on phase of a signal?

2. fm_gain = pi/(Fs/2) * Rb/2 * modulation_index; I have tried to rewite it. It is given Fs = Rb * sps;then fm_gain = pi/( Rb * sps/2) * Rb/2 * modulation_index; (I use h as modulation_index)

$$ fm_{gain} = \frac{\pi}{\frac{Rb \cdot sps}{2}}\cdot \frac{Rb}{2} \cdot h $$

$$ fm_{gain} = \frac{\pi \cdot 2}{Rb \cdot sps}\cdot \frac{Rb}{2} \cdot h $$

$$ fm_{gain} = \frac{\pi }{sps}\cdot h $$

If I used this equation in the simulation, it doesnt work. Why does it happen?

If my derivation is correct, it means fm_gain doesnt depend on bit rate and sample rate, right?

3. What is a difference between bit period and bit rate?

Bit rate and bit periodare inversely proportional , arent?

But it seems something else, according to the simulation given in the original post


1 Answer 1


Could someone explain what fm_gain is, what it describes, what is its effect on phase of a signal?

This is a requirement for MSK, and therefore applies as well to GMSK.

The gain is to set the peak frequency deviation $f_m$. This is the fundamental requirement that makes generalized frequency shift keying (FSK) into "Minimum Frequency Shift Keying" or MSK.

In binary FSK we use two different frequencies to transmit a "1" or a "0".

For MSK, the two frequencies are spaced as close as they can be and still be orthogonal. This orthogonality is achieved if the phase transitions $\pi/2$ radians in one symbol period. The rate of change of phase with time is the frequency and thus the frequency for each symbol (whether we rotate positive for a "1" or negative for a "0") is dependent on the symbol rate.

The frequency separation for the two FSK tones used to transmit binary data is twice the peak frequency deviation $f_m$. See diagram below from OP's linked post with further annotations specific to binary MSK that should help clear this up:

Time Domain MSK diagrams

Notice in the diagram the fundamental requirement to be "MSK" is the phase transitions $\pm \pi/2$ radians according to each binary symbol transmitted. Note with IQ diagrams that a phasor that rotates counter-clockwise at a constant rate (which is $e^{j\omega t}$) has a linearly increasing phase versus time and represents a positive frequency, and a phasor that rotates clockwise at a constant rate ($e^{-j\omega t}$) has a linearly decreasing phase versus time and is a negative frequency, as indicates by the phase and frequency diagrams shown. If the phase slope was steeper, the frequency separation would increase (and specifically the instantaneous frequency is the time derivative of phase). For this reason the frequency separation is directly proportional to the bit rate: for MSK we must have $\pm \pi/2$ phase rotation over $T_b$ time, which means a quarter cycle rotation and therefore

$$f_m = \frac{f_b}{4} = \frac{1}{4T_b}$$

If my deviation [sic] is correct, it means fm_gain doesnt depend on bit rate and sample rate, right?

The derivation is not correct as the "fm_gain" does depend on the bit rate. Here is a correct derivation:

Given $g(t)$ as a normalized pulse corresponding to one transmitted symbol. For MSK this is a rectangular pulse that is one for the duration of the symbol period. For GMSK, $g(t)$ is a rectangular pulse that has been further shaped by a Gaussian filter. The transmitted frequency is directly proportional to $g(t)$; we can consider $g(t)$ as the control voltage to a Voltage Controlled Oscillator (VCO), and specifically it is proportional to the instantaneous frequency versus time of the transmitted waveform. Proportional is a key word here as it is just a normalized pulse; in the MSK case it is simply a rectangular pulse that transitions from $0$ to $1$ so we multiply it by the fm_gain $f_m$ in order to get the required frequency separation (such that the phase transitions $\pi/2$ for the desired symbol):

MSK Diagram

So from the above diagrams the relationship between $f_b$ and the phase versus time required is given by phase being the integral of frequency (directly as frequency in radians/sec, so we multiply by $2\pi$ for frequency in Hz).

The instantaneous frequency versus time is:

$$\omega(t) = 2\pi f_m g(t)$$

$$\phi(t) = \int_0^t \omega(\tau)d\tau$$

$$ = 2\pi f_m \int_0^t g(\tau)d\tau \label{1}\tag{1}$$

To be MSK, we also require equation \ref{1} to equal $\pi/2$ when $t=T_b$:

$$\phi(t=T_b) = \pi/2 = 2\pi f_m\int_0^{T_b} g(\tau)d\tau \label{2}\tag{2}$$

It is clear from the diagram above that the integral of $g(t)$ over the interval $T_b$ is simply $T_b$:

$$\int_0^{T_b} g(\tau)d\tau = T_b$$

And therefore equation \ref{2} simplifies to:

$$\phi(t=T_b) = \pi/2 = 2\pi f_m T_b \label{3}\tag{3}$$

From which we get the relationship between $f_m$ and $T_b$:

$$f_m = \frac{1}{4T_b} \label{4}\tag{4}$$

Substituting this back into \ref{1} results in:

$$\phi(t) = \frac{\pi} {2T_b}\int_0^{t} g(\tau)d\tau \label{5}\tag{5}$$

GMSK with $g(t)$ as a Gaussian filtered pulse would follow the same relationship. In implementation there is possibility for additional scaling factors to sneak in, so the important verification is to confirm that the integrated pulse given by $f_m g(t)$ accumulates to $pi/2$ total phase as then applied to a phase modulator. For the MSK case, the resulting carrier at the transmitter output should then shift by $\pm f_b/4$ from a center frequency for each of the two binary symbols transmitted. If this is not occurring, then the $f_m$ as used in not correctly scaling for all factors.

What is a difference between bit period and bit rate?

The bit period $T_b$ is the inverse of the bit rate: $f_b = \frac{1}{T_b}$.

  • 1
    $\begingroup$ how to define datarate (bit rate) for gmsk ( with given oversampling factor, truncated length, transmit band 47 Mhz-6Ghz, data rate 520ksps - 61.44 msps)? will 1mbps be enough? $\endgroup$
    – FrimHart64
    Commented May 16, 2022 at 13:47
  • 1
    $\begingroup$ @FrHart64 With GMSK you transmit one bit for every symbol. So without considering the additional overhead due to possible coding provided first the data rate is the bit rate. $\endgroup$ Commented May 16, 2022 at 14:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.