The principle of GMSK modulation is very simple.
is the Gauss filter before the MSK modulation.
In the implementation there are such methods, first producing Gaussian coefficients, symmetrical ascending and descending po coefficients. Input a symbol, carry on the sampling, pass the Gaussian filter, the output of the filter does the symbolic summation.
The accumulated output is compared with the upper and lower values, i.e. the value greater than pi minus 2PI or less than-pi to add 2PI. The results are sent to the cordic to produce sine and cosine wave shapes, namely the Gmsk waveform.
When the filter is actually implemented in Modelsim, the multiplication is substituted by addition. Set a data register such as length and length of the coefficients, or say RAM.
Enter a symbol, if 1, then put this ram the first value 1, the other value 0, if 0, then the first value of this RAM-1, the other value of 0,
Then, in the clock cycle, this 1 (or-1) clock moves one time, so that is the value in this register.
1th Hour:
1--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--........
2nd hour:
0--1--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--........
3rd hour:
0--0--1--0--0--0--0--0--0--0--0--0--0--0--0--0--0--........
4th hour:
0--0--0--1--0--0--0--0--0--0--0--0--0--0--0--0--0--........
5th hour:
0--0--0--0--1--0--0--0--0--0--0--0--0--0--0--0--0--........
The coefficient value of the register that is not 0 is the sum of n number, the output of a waveform after n cycles, this waveform is the phase of GMSK modulation. The phase is input to the cordic, and the corresponding sine and cosine wave shape are obtained.
GMSK modulation Simulation