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

📄 stbc4.asv

📁 4发射天线1接收天线BPSK调制下的正交空时编码
💻 ASV
字号:
clear all;
SNR=0:3:30;
snr=10.^(SNR/10);
sigma=sqrt(2./snr);%噪声与信号的幅度比值
K=4000;           %未调制信号长度,信号越长,曲线越精确
data=randint(1,K);
%%%%%%%%%%%%%%%%%%%%设置参数%%%%%%%%%%%%%%%%%%%%%%%%
nt=4;%发射天线数
nr=1;%接收天线数
n=2; %调制方式BPSK

%%%%%%%%%%%%%%%%%%%%BPSK信号调制%%%%%%%%%%%%%%%%%%%%

bpskdata=zeros(1,K);
for i=1:K
    bpskdata(i)=(-1)^data(i);
end
x=bpskdata;           %调制后信号

%%%%%%%%%%%%%%%%%%%Alamouti%%%%%%%%%%%%%%%%%%%%%%%%
for k=1:length(SNR)
    error_symbol=0;%对每一个信噪比下的误符号率清零
	for i=1:length(bpskdata)/4
    	x1=x(4*i-3);
        x2=x(4*i-2);         %对信源进行空时操作,每两个数据符号一起
     	x3=x(4*i-1);
        x4=x(4*i);         %对信源进行空时操作,每两个数据符号一起
        X=[x1 -x2 -x3 -x4
           x2  x1  x4 -x3
           x3 -x4  x1  x2 
           x4  x3 -x2  x1];%空时发射信号矩阵
		h=rey(nt,nr);      %调用信道子函数
		noise=sigma(k).*rey(nt,nr);
        r=sqrt(1/2).*H*X+noise;
        H=[h(1)  h(2)  h(3)  h(4)
           h(2) -h(1)  h(4) -h(3)
           h(3) -h(4) -h(1)  h(2)
           h(4)  h(3) -h(2) -h(1)]    %接收信号矩阵
        y=zeros(nt,1);
        y(1)= r(1,1)*H(1,1)'+r(1,2)*H(1,2)'+r(1,3)*H(1,3)'+r(1,4)*H(1,4)';
        y(2)= r(1,1)*H(1,2)'-r(1,2)*H(1,1)'-r(1,3)*H(1,4)'+r(1,4)*H(1,3)';
        y(3)= r(1,1)*H(1,3)'+r(1,2)*H(1,4)'-r(1,3)*H(1,1)'-r(1,2)*H(1,2)';
        y(4)= r(1,1)*H(1,4)'-r(1,2)*H(1,3)'+r(1,3)*H(1,2)'-r(1,2)*H(1,1)';
	    %进行最大似然检测
	    DEC_X=judge(y);

        %统计符号错误的总数
	    if DEC_X(1)~=x1
	    error_symbol=error_symbol+1;
	    end
	    if DEC_X(2)~=x2
	    error_symbol=error_symbol+1;
        end
        if DEC_X(3)~=x3
	    error_symbol=error_symbol+1;
	    end
	    if DEC_X(4)~=x4
	    error_symbol=error_symbol+1;
	    end
	end
     SER(k)=error_symbol/length(bpskdata);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%画图%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
semilogy(SNR,SER,'b*-');
grid on
legend('STBC4 BPSK(4TX 1RX)')
title('BPSK调制下的4天线实信号STBC在慢瑞利衰减信道上的误符号率性能')
xlabel('信噪比/dB');
ylabel('误符号率');
hold on

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -