4

I am studying MSK/GMSK modulation technique. Before I posted 2 questions:

  1. subquestion: original Q "Difference between MSK and GMSK?"
  2. subquestion 2 : original Q "Difference between MSK and GMSK?"

Mr Boschen was so kind to answer my questions. I have googles the equation to derive GMSK signal for my case and didnt find it.

In "An Approximation Method of the Continuous Phase Encoder in the Concatenated Coded GMSK System " as given the following equation:

enter image description here

or "Exact and Approximate Construction of Digital Phase Modulations by Superposition of Amplitude Modulated Pulses (AMP)"

enter image description here

i don’t understand how BT ( Bandwidth Time Product) is used in the equation? Is it affect to it?

FrimHart64
  • 377
  • 1
  • 7

1 Answers1

4

The Bandwidth Time product refers to the overlap of successive pulses in GMSK modulation (see this related post), which when overlapped is also called "Partial Response Signaling". This has the advantage of increasing spectral efficiency, since we are transmitting more data in less time, but significantly complicates the receiver due to the intentional inter-symbol interference (which is then simplified somewhat through the Laurent Decomposition).

For a pulse of duration $L$, $BT = 1/L$, where $B$ is the single-sided 3-dB bandwidth of the Gaussian filter used. In the OP's formula, it is each PAM pulse $C_K(t)$ that is determined by the Bandwidth-Time product. Changing $BT$ will both change the Gaussian frequency function (pulse shape for one symbol) and result in a different set of $C_K(t)$ in the decomposition.

Please see this paper detailing the use of "PAM Matched-Filters" (which is the Laurent decomposition) showing the consideration of BT in receiver for partial response GMSK.

Dan Boschen
  • 50,942
  • 2
  • 57
  • 135
  • 1
    $C$ pulse shapes : If i convolve them with upsampled NRZ sequences, will I get an approximated or constant amplitede? I tested $c0$ and $c1$ with IQ-GMSK modulator ( work with gaussian fiter), and I got a constant amplitude of the sequence. In precoded linear approximated gmsk modulator and laurent decomposition, we speeak about approximation ... i cant undertand then my results I got – FrimHart64 Apr 07 '22 at 09:16
  • 1
    @FrHart64 Yes if you use all the $2^{L-1}$ Laurent PAM signals and convolve with the zero-stuffed NRZ sequence with proper real and imag mapping you will get the GMSK modulation. If you less than the complete set, approximately so. Be sure that your PAM pulses extend over multiple symbols properly which means to get back to constant envelope there should be a lot of overlap from pulse to pulse. Did you find Laurent's original paper (IEEE Transactions on Communications, Vol COM-34 No 2 Feb 1986)? Probably best to start with that as it explains the decomposition and combining in specific detail. – Dan Boschen Apr 07 '22 at 09:48
  • 1
    I suggest starting with L=1 and MSK to convince yourself how the pulse shape is a half sine pulse and how you would implement that with an IQ modulator with that pulse shape on I and Q, Then do it for L=2 where there are only 2 pulses etc and the composition should all be clearer as you increase L-- compare a complete set to a subset and you can see how many terms you really need based on your waveform quality requirement. Good luck! – Dan Boschen Apr 07 '22 at 09:58
  • 1
    I found the original paper about laurent decomposition and implemented c0 and c1 for L=4 (task description) and applied it for gmsk llinear modulation ( see blk scheme here). The final sequence has not the constant amplitude. If i test with my reference model each branch and use the c0 and c1 instead of gaussian pulse.... and each channel, I and Q have the constant Am but the sum hasnt – FrimHart64 Apr 07 '22 at 10:31
  • 1
    L=1 has only one component, c0 – FrimHart64 Apr 07 '22 at 10:33
  • @FrHart64 Yes I suggest starting with L=1 and just MSK so you see the use of the pulse shape (it will be a basic IQ modulator for OQPSK with half sine pulses), then L=2. I think that will make it clearer for you. I won't be able to debug your implementation in detail here since this is a simple Q&A site. But if you start with my suggestion I think it may help with your understanding and what you are missing. – Dan Boschen Apr 07 '22 at 10:35