📄 dstbcsim.m
字号:
%function dstbcsim
%Main routine for differential space time block code simulator
%This version is for 2 transmitters, 1 receiver only, Mary PSK only.
clear; clc;
snr = 10:16; %snr range in dB
nsymb = 1e4; %number of symbols
L = 10; %Time we assume channel is constant
Mary = 4; %(2=BPSK, 4=QPSK, 8=8PSK)
%Possible Symbol Set
Set=[0:Mary-1]';
Smap=dmodce(Set,1,1,'psk',Mary)/sqrt(2);
%Form mapping to V-space, set a1, a2 = Smap(1)
k = 0;
a1 = Smap(1); a2 = Smap(1);
M = zeros(Mary^2,2);
V = zeros(Mary^2,2);
for a = 1:Mary,
for b = 1:Mary,
k = k + 1;
M(k,:) = [Smap(a) Smap(b)];
V(k,1) = Smap(a)*a1' + Smap(b)*a2';
V(k,2) = -Smap(a)*a2 + Smap(b)*a1;
end
end
Erate = zeros(length(snr),1);
for P = 1:length(snr),
Error = 0; symb = 0;
%Call coding-decoding routine
for t = 1:nsymb
if mod(t,L) == 1,
[err] = dcode2(M,V,Mary,L,snr(P));
symb = symb + L-2;
Error = Error + err;
end
end
Erate(P) = Error/symb
end
semilogy(snr,Erate,'*')
grid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -