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

📄 alamoutiwork.m

📁 程序的主要功能是做了一定范围的信噪比下
💻 M
字号:
%*************************************************************************
%***程序的主要功能是做了一定范围的信噪比下,对每个信噪比:随机信号QPSK调制;
%***根据Alamouti方案的矩阵进行编码;发送信号经过瑞利信道和加入高斯白噪声;
%***接收信号采用最大比合并的方法;最后对合并信号进行最大似然判决并
clc
clear all;
SNR=0:20;
snr=10.^(SNR/10);
% sigma=1./snr;

Es=1;
sgma=sqrt(0.5*Es./snr);  % variance of the Gaussian white noise
N=1000000;
error_symbols=zeros(1,length(SNR));
% constel=exp(j*[pi/4 3*pi/4 7*pi/4 5*pi/4]);
for SNR=0:20
    SNR
  for k=1:(N/2)
	temp_num1=rand;
	if (temp_num1<0.25)
		source1(k)=1+i;
	elseif (temp_num1<0.5)
		source1(k)=-1+i;
	elseif (temp_num1<0.75)
		source1(k)=-1-i;
	else
		source1(k)=1-i;
	end
	temp_num2=rand;
	if (temp_num2<0.25)
		source2(k)=1+i;
	elseif (temp_num2<0.5)
		source2(k)=-1+i;
	elseif (temp_num2<0.75)
		source2(k)=-1-i;
	else
		source2(k)=1-i;
    end

% source=[source1 source2];
    TX=[source1(k) -conj(source2(k)); source2(k) conj(source1(k))];%2*2
%through rayleigh channel and a w noise---
    H=randn(1,2)/sqrt(2)+i*randn(1,2)/sqrt(2);%1*2
    R=H*TX+ sgma(SNR+1)*randn(1,2)+i*sgma(SNR+1)*randn(1,2);%(1*2)*(2*2)+1*2 
%Maximum Ratio combiner forms two signal
    x1=conj(H(1))*R(1)+H(2)*conj(R(2));
    x2=conj(H(2))*R(1)-H(1)*conj(R(2));
    S=[x1 x2];
    dh = [1+j -1+j -1-j 1-j];
    D1=abs(S(1)*[1 1 1 1]-dh).^2;
    [v pos]=min(D1);
    Xdec1=dh(pos);
    D2=abs(S(2)*[1 1 1 1]-dh).^2;
    [v pos]=min(D2);
    Xdec2=dh(pos);
    Xdec=[Xdec1;Xdec2];
    if (Xdec1~=source1(k)|source2(k)~=Xdec2)
		error_symbols(SNR+1)=error_symbols(SNR+1)+1;
    end
  end
end
semilogy(0:SNR,error_symbols/N,'b*-');
   

⌨️ 快捷键说明

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