Hello all, I have a few questions concerning GMSK modulation in the GSM physical layer. My simulation is done in MATLAB, processed 148 bits and follows the quadrature baseband implimentation method presented in: http://www.emc.york.ac.uk/reports/linkpcp/appD.pdf. 1. I am not sure that I understand correctly the convolution with the Gaussian filter. What I do is : BT = 0.3; T = (3.69*10^-6); B = BT/T; time = -T:(T/10):T; sigma = sqrt(log(2))/(2*pi*B); H = (1/sigma)*(1/sqrt(2*pi))*exp((-time.^2)./(2*sigma^2)); I use this as my Gaussian pulse (1X21) and perform convolution with my (1X1480) wave signal. Note that the wave signal is a "continuous" square wave representation for 148 bits: b = conv(H,wave) b = b(1:1480); Is it correct to truncate the resulting waveform to 1480 data points or am I totally wrong here ? 2. The next step is to integrate the resulting signal and perform I/Q decomposition: time_index2 = 0:(T/10):((148*T)-(T/10)) ; c = cumtrapz(time_index2,b); I = cos(c); Q = sin(c); Is this the correct way to go ? 3. Final step is FM modulation: f_c = 900*10^6; m = (I.*sin(2*pi*f_c*time_index2)) + (Q.*cos(2*pi*f_c*time_index2)); Generally, I think that something is wrong with my approach but I cannot figure out what. Any help would be greatly appreciated ! thank you in advance for your time, John

# GMSK modulation

Started by ●February 8, 2007

Reply by ●February 12, 20072007-02-12

clc; close all; clear all; % 1. I am not sure that I understand correctly the convolution with the % Gaussian filter. What I do is : BT = 0.3; T = (3.69*10^-6); B = BT/T; time = -T:(T/10):T; sigma = sqrt(log(2))/(2*pi*B); H = (1/sigma)*(1/sqrt(2*pi))*exp((-time.^2)./(2*sigma^2)); wave = []; for ii = 1:1:10 insrt = (-2*round(rand)+1)*ones(1,148); wave = [wave insrt]; end % I use this as my Gaussian pulse (1X21) and perform convolution with my % (1X1480) wave signal. Note that the wave signal is a "continuous" square % wave representation for 148 bits: b = filter(H,1,wave); b = b(1:1480); % Is it correct to truncate the resulting waveform to 1480 data points or am % I totally wrong here ? % 2. The next step is to integrate the resulting signal and perform I/ Q % decomposition: time_index2 = 0:(T/10):((148*T)-(T/10)) ; c = cumtrapz(time_index2,b); I = cos(c); Q = sin(c); % Is this the correct way to go ? % 3. Final step is FM modulation: f_c = 900*10^6; m = (I.*sin(2*pi*f_c*time_index2)) + (Q.*cos(2*pi*f_c*time_index2)); figure; plot(abs(m));