📄 pr10_21.m
字号:
%Problem 10.21;
%Efficiency of Alamouti coding;
clear all; close all;
Lbs=100000;
BS=2*unidrnd(2,1,Lbs)-3; %initial bitstream;
A=raylrnd(1/sqrt(2),1,Lbs); %Rayleigh fading;
Fi1=2*pi*rand(1,Lbs/2); Fi2=2*pi*rand(1,Lbs/2); %subchannel random phases;
H1=A(1:2:end).*exp(i*Fi1); H1=kron(H1,[1,1]); H2=A(2:2:end).*exp(i*Fi2); H2=kron(H2,[1,1]); %subchannel fading coefficients;
Q=[0.5:0.1:20]; Nq=length(Q); %range of SNR;
BER=zeros(2,Nq); %template for BER
for k=1:Nq
q=Q(k);
noise=(1/q)*normrnd(0,1,1,Lbs); %Gaussian noise;
Y=A.*BS+noise; %observation for uncoded system;
BSdm1=sign(Y); BERun=1-sum(BSdm1==BS)/Lbs; %BER for uncoded system;
BER(1,k)=BERun;
BS1=[BS(1:2:end);-BS(2:2:end)]; BS1=BS1(:)'; %1st antenna bitstream Alamouti encoded;
BS2=[BS(2:2:end);BS(1:2:end)]; BS2=BS2(:)'; %2d antenna bitstream Alamouti encoded;
Y=(H1.*BS1+H2.*BS2)./sqrt(2)+noise; %observation for encoded system;
z0=conj(H1(1:2:end)).*Y(1:2:end)+H2(1:2:end).*conj(Y(2:2:end)); %even bits decision statistic;
z1=conj(H2(1:2:end)).*Y(1:2:end)-H1(1:2:end).*conj(Y(2:2:end)); %odd bits decision statistic;
BSdm2=[sign(real(z0));sign(real(z1))]; BSdm2=BSdm2(:)'; %demodulated bitstream for Alamouti scheme;
BERal=1-sum(BSdm2==BS)/Lbs; %BER for Alamouti system;
BER(2,k)=BERal;
end;
plot(20*log10(Q),log10(BER+eps)); grid; xlim([-5,20]); xlabel('bit SNR, dB'); ylabel('bit error rate');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -