1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
clear all
close all
SNR=10;
gamma=10^(-SNR/20);
gamma=0;
D=0.05;
T=1/D;
Ns=100;
M=2;
MOD='bpsk ';
m=log(M)/log(2);
Npts=Ns*T;
delay_gt=6;
roll_off=0.4;
gt=myrcosfir(roll_off,delay_gt,T,1,'sqrt/fir');
gt_delay=length(gt)/2;
Egt=sum(gt.^2);
gr=fliplr(gt);
gr_delay=length(gr)/2;
%------------------------------------------------------------------
%Emission
symbols=zeros(1,Npts);
em_symbols=(randint(1,Ns*m));
symbols(1:T:Npts)=mapping(em_symbols,MOD);
signal=filter(gt,1,symbols);
%---------------------------------------
%channel
r=signal+gamma/2*(randn(size(signal))+1i*0*randn(size(signal)));
%---------------------------------------------
%unique matcher filter
rsig=filter(gr,1,r);
rsig=awgn(rsig,10,'measured');
%------------------------------------------------------
%Eyediagram without transcient behaviour
myeyediagram(symbols(1:T:Npts),2,2)
myeyediagram(signal(round(gt_delay):Npts),2*T,2*T)
myeyediagram(rsig(gt_delay+gr_delay:Npts),2*T,2*T)
myeyediagram(rsig(gt_delay+gr_delay:T:Npts),2,2)
%-----------------------------------------------------
figure
plot(1:T:Npts,real(symbols(1:T:Npts)),'+')
hold on
plot(real(signal),'g')
plot(real(rsig),'r--')
plot(gt_delay+gr_delay:T:Npts,real(rsig(gt_delay+gr_delay:T:Npts)),'^c')
legend('Input Symbols I_n','Signal s(t)','Signal y(t)','Matched Filter Output Samples')
grid |
Partager