📄 stbcmaintest.m
字号:
clc;clear;
N=2;
M=2; %% M >= N
TESTS=3000;
SNRL=0;
DSNR=3;
SNRH=15;
k=1;
tic;
for snr=SNRL:DSNR:SNRH
noisePwr=1/(10^(snr/10));
err=0;
for test=1:TESTS
x1 = 0.707 * ( randsrc(N,1)+j*randsrc(N,1) );
x2 = 0.707 * ( randsrc(N,1)+j*randsrc(N,1) );
H1 = 0.707 * ( randn(M,N)+j*randn(M,N) );
H2 = 0.707 * ( randn(M,N)+j*randn(M,N) );
v = sqrt(noisePwr/2)* ( randn(M,1)+j*randn(M,1) );
%y = H * x *sqrt(1/N)+ v
x3=conj(x1);
x4=conj(x2);
y1=H1*x1+H2*x2+v;
y2=-H1*x3 +H2*x4 +v;
y=[y1,conj(y2)]';
x=[x1,x2]';
v=[v,conj(v)]';
H=[H1, H2;
conj(H1) -conj(H2)];
y=H*x+v;
dec_x = OptimalOrdering_Decoder(y,H); %%%%%%
%dec_x = ML_Detect(y,H);
for n=1:N
if(x(n) ~= dec_x(n))
err=err+1;
end;
end;
end; % for test
SER(k) = err / (TESTS*N);
disp(['SNR=' num2str(snr) 'dB; SER=' num2str(SER(k)) char(13)]);
k=k+1;
end;% for snr
toc;
snr=SNRL:DSNR:SNRH;
figure(1);
semilogy(snr,SER,'.-');
xlabel('SNR(dB)');
ylabel('SER');
grid on;
hold on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -