⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dstbcsim.m

📁 DSTBC源码
💻 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 + -