资源简介
Alamouti空时分组编码及运行结果,是研究Alamouti方案比较合适的matlab代码
代码片段和文件信息
clear all;
SNR=0:2:30;
snr=10.^(SNR/10);
sigma=sqrt(1./snr);%噪声与信号的幅度比值
K=200000;%未调制信号长度,信号越长,曲线越精确
data=randint(1K);
%%%%%%%%%%%%%%%%%%%%设置参数%%%%%%%%%%%%%%%%%%%%%%%%
nt=2;%发射天线数
nr=2;%接收天线数
n=4; %调制方式nPSK
%%%%%%%%%%%%%%%%%%%%NPSK信号调制%%%%%%%%%%%%%%%%%%%%
npskdata=npsk(ndata);%调用调制方式子函数
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(ntnr); %调用信道子函数
noise=sigma(k).*rey(ntnr);
R=sqrt(1/2).*H*X+noise;%接收信号矩阵
y1=0;y2=0;
for i=1:nr
y1=H(i1)‘*R(i1)+H(i2)*R(i2)‘+y1;
y2=H(i2)‘*R(i1)-H(i1)*R(i2)‘+y2;
end
%进行最大似然检测
DEC_X=judge(ny1y2);
%统计符号错误的总数
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(SNRSER‘b*-‘);
grid on
legend(‘Alamouti QPSK(2TX 2RX)‘)
title(‘QPSK调制下的Alamouti码方案在慢瑞利衰减信道上的误符号率性能‘)
xlabel(‘信噪比/dB‘);
ylabel(‘误符号率‘);
hold on
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 71168 2009-03-30 10:47 运行结果.doc
文件 449 2009-03-29 21:07 judge.m
文件 304 2009-03-29 21:02 npsk.m
文件 241 2009-03-29 21:00 rey.m
文件 1461 2009-03-29 21:34 alamouti.m
----------- --------- ---------- ----- ----
73623 5
- 上一篇:MATLAB实现信号的AM调制与解调
- 下一篇:自适应中值滤波算法matlab
评论
共有 条评论