GMSK modulation in MATLAB

This page of MATLAB source code covers GMSK modulation.

GMSK is the short form of Gaussian Minimum Shift Keying. It is modulation technique used in wireless systems. With GMSK modulation continuous or zero phase shift can be achieved between the consecutive two data symbols. GMSK has been devised to overcome problem of QPSK, OQPSK techniques which will have 180 degree to 90 degree of phase shifts between two symbols. This abrupt phase shift will make it necessary to use linear power amplifier in the wireless transmitter chain at the later stage. Refer our page on MSK GMSK modulation for complete step by step guide on MSK and GMSK modulation types.

Following is the basic GMSK modulation matlab code.

GMSK MATLAB CODE

clear all;
close all;
clc;
nrz_data = [1 1 1 1 1 1 1 1]; %sample data
Tb = 1; % bit duration
BT = 0.3; % BT product of filter
sps = 32; % samples per symbol
Ts = Tb/sps; % sample period
t=(-2*Tb:Ts:2*Tb);
alpha = 2*pi*BT/(sqrt(log(2)));
gauss = Q(alpha*(2*t-0.5)) - Q(alpha*(2*t+0.5));
K=pi/2/sum(gauss);
gauss = K*gauss;
nrz = upsample(nrz_data,sps);
nrz_gauss = conv(gauss,nrz);
subplot(2,1,1);stem(nrz_data);title('NRZ bits');xlabel('Time');ylabel('Amplitude');
subplot(2,1,2);plot(nrz_gauss);title('NRZ bits, after Gaussian Filtering');xlabel('Time');ylabel('Amplitude');
nrz_gauss1 = cumsum(nrz_gauss);
nrz_gauss2 = exp(1i*nrz_gauss1);
noisy_real1 = real(nrz_gauss2);
noisy_imag1 = imag(nrz_gauss2);
filter_noisy_real1 = matched_filter(noisy_real1,Tb,sps);
filter_noisy_imag1 = matched_filter(noisy_imag1,Tb,sps);

GMSK demodulation

Deconvolution is performed in GMSK demodulation with the same gaussian filter coefficients generated in the GMSK modulation.

Useful Links to MATLAB codes

Refer following as well as links mentioned on left side panel for useful MATLAB codes.
OFDM Preamble generation  Time off estimation corr  Freq off estimation corr  channel estimation  11a WLAN channel  PN sequence generation  OFDMA Tx Rx  AES DES  carrier aggregation  CCDF  FIR Filter  IIR Filter  Low Pass FIR  Viterbi decoder  CRC8 CRC32 

RF and Wireless tutorials

WLAN  802.11ac  802.11ad  wimax  Zigbee  z-wave  GSM  LTE  UMTS  Bluetooth  UWB  IoT  satellite  Antenna  RADAR