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

📄 alamouti.m

📁 2发射天线n接收天线MPSK调制下的AlamoutiMATLAB编码及仿真结果
💻 M
字号:
clear all;
SNR=0:2:30;
snr=10.^(SNR/10);
sigma=sqrt(1./snr);%噪声与信号的幅度比值
K=200000;%未调制信号长度,信号越长,曲线越精确
data=randint(1,K);
%%%%%%%%%%%%%%%%%%%%设置参数%%%%%%%%%%%%%%%%%%%%%%%%
nt=2;%发射天线数
nr=2;%接收天线数
n=4; %调制方式nPSK

%%%%%%%%%%%%%%%%%%%%NPSK信号调制%%%%%%%%%%%%%%%%%%%%
npskdata=npsk(n,data);%调用调制方式子函数
x=npskdata;           %调制后信号

%%%%%%%%%%%%%%%%%%%Alamouti%%%%%%%%%%%%%%%%%%%%%%%%
for k=1:length(SNR)
    error_symbol=0;%对每一个信噪比下的误符号率清零
	for i=1:length(npskdata)/2
    	x1=x(2*i-1);
        x2=x(2*i);         %对信源进行空时操作,每两个数据符号一起
        X=[x1 -x2';x2 x1'];%空时发射信号矩阵
		H=rey(nt,nr);      %调用信道子函数
		noise=sigma(k).*rey(nt,nr);
        R=sqrt(1/2).*H*X+noise;%接收信号矩阵
        y1=0;y2=0;
		for i=1:nr
		    y1=H(i,1)'*R(i,1)+H(i,2)*R(i,2)'+y1;
		    y2=H(i,2)'*R(i,1)-H(i,1)*R(i,2)'+y2;
		end  

	    %进行最大似然检测
	    DEC_X=judge(n,y1,y2);

        %统计符号错误的总数
	    if DEC_X(1)~=x1
	    error_symbol=error_symbol+1;
	    end
	    if DEC_X(2)~=x2
	    error_symbol=error_symbol+1;
	    end
	end
     SER(k)=error_symbol/length(npskdata);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%画图%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
semilogy(SNR,SER,'b*-');
grid on
legend('Alamouti QPSK(2TX 2RX)')
title('QPSK调制下的Alamouti码方案在慢瑞利衰减信道上的误符号率性能')
xlabel('信噪比/dB');
ylabel('误符号率');
hold on

⌨️ 快捷键说明

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