From: Bogdan Mikhailets on
I have the question. I need to test BER of my coherent correlative
type GMSK detector. But to simplify understanding I first need to
consider my detector for detection of MSK signal which I get as
output of my GMSk modulator with BT=infinity( say 10000). I use
coherent orthogonal FSK type detector, so I know I lose 3dB in SNR in
comparison with the QPSK-like detector for MSK signals. The method I
want to try is detection of MSK using its I/Q components. At the
output of GMSK(BT=infinity) modulator I have MSK I/Q signals. Than I
add noise to complex signal S=I+j*Q, and at the demodulator take real
and imaginary parts of Snoisy to get Inoisy and Qnoisy. At the
detector side I have 2 reference I/Q signals: one for '1' and the
other for '-1'. At the detector I bring I/Q(noisy) signal
corresponding to each bit interval to the same phase. Then using ML
correlative type detecion I make the decision and mapping to the
maximum signal in the arm. I do this by the operations of scalar
product Inoisy*Iref[i]+Qnoisy*Qref[i],i=1..2 and integration over one
bit interval. The resulting BER is strongly worse then the BER I got
with the second( as I think equivalent) detector. Here I get bandpass
signal as output of modulator s. Then I add noise. I consider the
fact that the first case was adding noise to a complex signal, and in
the second- to the real signal. At the detector I use 2 bandpass
signals sref as reference signals corresponding to '1' and '-1'. I
also use correlation type detector getting first scalar products in
the 2 arms of detector Snoisy*Sref[i],i=1..2 and then integration and
the rest is the same as the previous scenario. But the BER agrees
with theory ( for FSK coherent orthogonal detection). Please explain
why these 2 detection schemes are inequivalent, or why I get such bad
results in the first case although it seems theory allows me to do
such vector representation with I/Q coordinates. Please help. My
matlab code has one common m-file 1. gmsk modulator and 2. different
file for adding noise 3. different detectors. 2 . 1st case
SNRset=-10;% SNR in dB +20dB so resulting in 10dB snr
scompl=IIorig+sqrt(-1)*QQorig;
scompln=awgn(scompl,SNRset,'measured',123,'dB'); II=real(scompln);
QQ=imag(scompln); 2. 2nd case bpsksig=sorig; SNRset=-10+3;% SNR in dB
s=awgn(bpsksig,SNRset,'measured',123,'dB');% adding noise to signal
%resulting Eb/No[dB]=10log(Tsymbol/Tsample)+SNR[dB] %in my case
Tsymbol=T,Tsample=0.01*T; so Eb/No[dB]=20+SNR[dB] 3. 1st case T=1;
t=0:0.01*T:10*T; B=10000; dlt2=2^(0.5)*pi*B/((log(2))^(0.5));
IIdpdata=zeros(N-4,100+1); QQdpdata=zeros(N-4,100+1);
cosintegral=zeros(N-4,2,100); cossum=zeros(N-4,2);
cosdata=zeros(1,(N-4)*100); sindata=zeros(1,(N-4)*100); i=301; for
k=1:2 for m=2:101 i=i+1;
cosdelta(k,m-1)=IItr(i).*IItr(i-1)+QQtr(i).*QQtr(i-1);
sindelta(k,m-1)=QQtr(i).*IItr(i-1)-IItr(i).*QQtr(i-1); end; end;
j=0; IIdp=[]; QQdp=[]; IIdp(1)=1; QQdp(1)=0; i=0; for k=1:2
IIdprom(k,1)=1; QQdprom(k,1)=0; for m=2:101 i=i+1;

IIdprom(k,m)=IIdprom(k,m-1).*cosdelta(k,m-1)-QQdprom(k,m-1).*sindelta(
k,m-1);
QQdprom(k,m)=QQdprom(k,m-1).*cosdelta(k,m-1)+IIdprom(k,m-1).*sindelta(
k,m-1); %reference signals end; end; i=0; for k=1:size(aar,2)-4
for m=(k-1)*100+2:k*100+1 i=i+1;
cosdata(i)=II(m).*II(m-1)+QQ(m).*QQ(m-1);
sindata(i)=QQ(m).*II(m-1)-II(m).*QQ(m-1); end; end; i=0; for
k=1:size(aar,2)-4 IIdpdata(k,1)=1; QQdpdata(k,1)=0; for
m=2:101 i=i+1;
IIdpdata(k,m)=IIdpdata(k,m-1).*cosdata(i)-QQdpdata(k,m-1).*sindata(i);

QQdpdata(k,m)=QQdpdata(k,m-1).*cosdata(i)+IIdpdata(k,m-1).*sindata(i);
end; end; clear j; for k=1:size(aar,2)-4 for
i=1:2 for jj=1:100
cosintegral(k,i,jj)=IIdpdata(k,jj).*IIdprom(i,jj)+QQdpdata(k,jj).*QQdp
rom(i,jj); %scalar product end; end; end; j=0; for
k=1:size(aar,2)-4 for i=1:2
cossum(k,i)=sum(cosintegral(k,i,:)); %integratio