基于 Matlab 的 Alamouti 空时码及 MRC 接收分集仿真对比

基于 Matlab 的 Alamouti 空时码及 MRC 接收分集仿真对比

  • 1. 分集技术概述
    • 1.1 空间分集技术
      • 1.1.1 接收分集
      • 1.1.2 发射分集
  • 2. 基于 Matlab 的 BER 性能曲线仿真方案
    • 2.1 2×1 的 Alamouti 空时码仿真
    • 2.2 1×2 的 MRC 接收分集仿真
    • 2.3 2×2 的 Alamouti 空时码仿真与对比
    • 2.4 仿真曲线对比与分析

1. 分集技术概述

在移动通信系统中,受 多径效应阴影衰落 衰落的影响,如果在信号接收端有多个幅度和相位不同的信号相叠加,使得复合信号相互抵消或增强,就会产生较严重的失真。为了克服快衰落带来的影响,通常采用的抗衰落和抗干扰技术有:分集技术、均衡技术、编码技术 等。

在分集技术中,其基本原理是通过特性不同的多个信道(时间、频率或者空间特性等不同),接收到承载相同信息的多个发送信号的副本。由于多个信道的传输特性不同,信号每个副本受衰落的影响就会不同。使用接收到的多个信号副本,可以帮助接收端正确地恢复出原发送信号。分集技术充分利用原本造成干扰的信号多径特性,来提高接收信号的正确判决率。

如果不采用分集技术,为了克服快衰落带来的影响,发射端必须要提高发射功率。而手持移动终端的电池容量有限,所以反向链路中所能获得的功率也非常有限,而采用分集方法可以降低发射功率,延长移动终端的使用时间。

分集技术包括 2 个方面:一是 分散传输,使接收机能够获得多个统计独立的、携带同一信息的衰落信号;二是 集中处理,即把接收机收到的多个统计独立的衰落信号进行合并以降低衰落的影响。因此,要获得分集效果,最重要的条件是:各个信号之间需要是 “不相干” 的。

1.1 空间分集技术

分集技术主要包括 空间分集、频率分集、时间分集、极化分集 等。而这里主要讨论空间分集技术。

空间分集是一种常用的分集形式。所谓空间分集,是指将同一信息进行编码后从多根天线上发射出去的方式,接收端将信号区分出来并进行合并,从而获得分集增益,其模型如下图所示:

基于 Matlab 的 Alamouti 空时码及 MRC 接收分集仿真对比_第1张图片
在空间分集系统模型中,当发射天线间距大于长度 d 时,就可以认为不同子信道的信道增益相互独立,产生的信号路径也是不相关的。d 是与天线所处的散射环境和载波频率有关的常数。如果移动台接近地面散射丰富时,信道在很短的空间距离下就可以达到不相关。而对于位置比较高的基站来说,将需要 几个到十几 个波长的天线距离。

空间发射分集技术经常用于城市蜂窝系统中,因为它可以通过选择最好的接收信号或其合成信号以减少衰落的影响。随着环境密度的增加,可以通过改善移动台的接收增益 (3~5 dB) 使得链路预算达到平衡。

然而,安装天线所需空间较大是空间分集的一大缺点。在实际应用中,分集支路数目受到较大天线单元间距的限制,系统成本随着间距的增大而增大,各支路之间的平均接收功率的差异也因大间距而变大;而较小的天线间距又会让各单元间的相关性变大,因此天线单元间距过大或者过小均会导致空间分集性能下降。

1.1.1 接收分集

分集接收技术是一项主要的抗衰落技术,它可以大大提高多径衰落信道下的传输可靠性。其本质就是采用两种或两种以上的方法接收同一信号以克服衰落,它的作用是在不增加发射机功率或信道带宽的情况下充分利用传输带来的多径信号能量,以提高系统的接收性能。

其基本思路是将接收到的多径信号分离成不相关的(独立的)多路信号,即选取了一个信号的两个或多个独立的采样,这些样本的衰落是互不相关的,这意味着所有样本同时低于一个给定电平的概率比任何一个样本低于该值的概率要小得多;然后将这些信号的能量按一定规则合并起来,使接收到的有用信号能量最大。对数字系统而言,就是使接收端的误码率最小;而对模拟系统而言,就是提高接收端的 信噪比

在分集接收中,在接收端从不同的 M 个独立信号支路所获得的信号,可以通过不同形式的合并技术来获得分集增益。从合并所处的位置来看:合并可以在检测器以前,即中频和射频上进行合并,且多半是在中频上合并;也可以在检测器以后,即在基带上进行合并。合并时采用的准则与方式主要可以分为三种:最大比合并等增益合并选择式合并

在这三种合并方式中,最大比合并的性能最好选择式合并的性能最差。当 M 较大时,等增益合并的合并增益接近于最大比合并的合并增益。

1.1.2 发射分集

发射分集作为抗衰落的主要方法,已成为近年来讨论的技术热点,并在一些移动通信中得到了很好的应用。此外,发射分集技术还易于与 空时编码、OFDM、干扰抑制 以及 智能天线 等技术相结合,最大程度地提高物理层信息传输的可靠性,因此具有非常高的理论价值及深远的现实意义。

发射分集的概念由接收分集技术引申而来。它是为了减弱信号衰落的效果,而使用多个独立的天线或相关天线阵列,把发射信号的副本以 空间冗余 的形式提供给接收端。它利用不同基站或同一基站中不同位置的天线发射信号到达移动台的不相关性,借助移动台的分集接收功能,分别接收由不同天线或不同基站发出的信号后再分集合并,从而提高系统的性能。

空时编码 (STC) 是近年来移动通信领域出现的一种编码和信号处理技术,在发射端和接收端同时使用多个天线进行信息的发射和接收,在不同天线发射信号之间引入时间域和空间域相关,综合利用时间域和空间域的二维信息,在接收端进行分集接收。空时编码将 空间分集、频率分集时间分集 结合在一起,从通信系统的整体出发,提高了多径衰落信道的通信质量和数量。

基于发射分集的空时分组码集发射分集与空时编码于一体,具有较好的频率和功率有效性,大大改善了移动通信系统的信息容量和信息率,充分利用了无线频谱资源。数据表明,基于发射分集的空时码频带利用率可达到 20~40 bps/Hz,可以达到系统提供的 最大分集增益

2. 基于 Matlab 的 BER 性能曲线仿真方案

2.1 2×1 的 Alamouti 空时码仿真

在第三代乃至后三代的移动通信系统中,无线信道的时变多径衰落是影响无线通信的一个重要因素。在理论上,功率控制是抵抗信道衰落的最佳方法。如果发射端预先知道信道条件,那么在发射的时候先将信号变形,以此来抵消衰落带来的影响。但是这种方法需要发射端有较大的动态范围;另外因为无线信道是时变的,所以发射端无法预先知道信道的条件。因此,在大多数散射环境中,对于功率和带宽受限的系统,采用天线分集的方法来抵消信道衰落,以降低衰落环境下传输的误码率是最好的方法。

通过仿真,我对 慢瑞利衰落信道 Alamouti 空时码的发射分集方案性能进行了评估。在仿真过程中,我假定每一发射天线的衰落都是相互独立的,并且接收机完全知道信道数。我使用相干 BPSK 调制来仿真 Alamouti 方案相对于每个接收天线信噪比 (SNR) 的 BER 性能,其发射天线数目为 2、接收天线数目为 1;每个符号码元周期内,各发射天线的信号平均功率为 1;噪声分量采用均值为 0,方差为 2/SNR 的复高斯随机变量;收发天线间的信道为独立平坦瑞利衰落信道,信道系数的实部和虚部均服从均值为 0、方差为 0.5 的 高斯分布,并在一个数据分组的发送时间内信道系数保持不变;接收端有理想的信道估计方法。

仿真结果如下图所示:

基于 Matlab 的 Alamouti 空时码及 MRC 接收分集仿真对比_第2张图片
附Matlab源代码:

%------------------------------------------------------------------------
%  ①2×1 Alamouti 空时码主函数
%-------------------------------------------------------------------------
L_frame=60;
N_iter=1000;      
M=2;                 %BPSK
SNRdBs=[2:1:10];
NT=2;NR=1;           %2×1 Alamouti空时码
gs=’-kp’;            
for i=1:length(SNRdBs)
  SNRdB=SNRdBs(i); 
  sigma=sqrt(0.5/(2*10^(SNRdB/10))); 
  for j=1:N_iter
      data=randi(1,L_frame ,M);
%BPSK调制
      symbol_data=pskmod(data,M);   
%Alamouti方案
      receive_symbol=alamouti(symbol_data,sigima,NR);
%解调
      receive_data=pskdemod(receive_symbol,M);
      noeb_p(j)=sum(sum(de2bi(data)~=de2bi(receive_data)));
    end
    BER(NT,NR,i)=sum(noeb_p)/(N_iter *L_frame *log2(M)); 
  end
  semilogy(SNRdBs,BER(NT,NR,: ),gs); 
  hold on;
end
title(‘2×1 Alamouti 空时码BER性能曲线’);
xlabel(‘信噪比 SNR(dB)’);ylabel(‘误码率 BER’);
grid on;

2.2 1×2 的 MRC 接收分集仿真

在 MRC 接收分集的接收端,是由多个分集支路经过 相位调整 后,按照适当的增益系数同相相加,再送入检测器进行检测的。在接收端,各个不相关的分集支路经过相位校正,并按适当的可变增益加权再相加后,被送入检测器中。我在仿真时设定第 i 个支路的可变增益加权系数为该分集支路的信号幅度与噪声功率之比。MRC 接收分集的合并方案在接收端只需对信号做 线性处理,然后利用 最大似然检测 即可还原出发送端的原始信息。其译码过程简单、易实现。合并增益与分集支路数 M正比

1×2 的 MRC 接收分集仿真结果如下图所示:

基于 Matlab 的 Alamouti 空时码及 MRC 接收分集仿真对比_第3张图片
附Matlab源代码:

%------------------------------------------------------------------------
%  ②1×2 MRC接收分集主函数
%-------------------------------------------------------------------------
clear all;clc;
L_frame=60;
N_iter=1000;
M=2;                           %BPSK调制
SNRdBs=[2: 1:10];
NT=1; NR=2; gs=’-k^’;          %2条接收天线
  for i=1:length(SNRdBs)
    SNRdB=SNRdBs(i);
    sigma=sqrt(0.5(2*10^(SNRdB/10)));
    for j=1: N_iter;
      data= randi(1, L_frame, M);
%调制
      symbol_data=pskmod(data, M);  
      H=(randn(NR, L_frame)+i*randn(NR, L_frame))/sqrt(2);
      Z=0;
      for k=1:NR
        noise=sigma*(randn(1, L_frame+i*randn(1, L_frame));
        R(k,:)=H(k,:).*symbol_data+noise;
        Z=Z+R(k,:).*conj(H(k, :));
      end
      receive_data=pskdemod(Z, M);
      noeb_p(j)=sum(sum(de2bi(data)~=de2bi(receive_data)));
    end
    BER(NT,NR, i)=sum(noeb_p)/(N_iter*L_frame*log 2(M));
    end
    semilogy(SNRdBs, BER(NT,NR, :) ,gs);
    hold on;
end
title(‘1×2 MRC接收分集BER性能曲线’);
xlabel(‘信噪比 SNR(dB)’);
ylabel(‘误码率 BER’);

2.3 2×2 的 Alamouti 空时码仿真与对比

在上述 BER 曲线中加入 2×2 Alamouti 空时码性能曲线,仿真结果如下图所示:

基于 Matlab 的 Alamouti 空时码及 MRC 接收分集仿真对比_第4张图片
附Matlab源代码:

%------------------------------------------------------------------------
%  ③加入2×2 Alamouti 空时码主函数
%-------------------------------------------------------------------------
L_frame=60;
N_iter=1000;      
M=2;                %BPSK
SNRdBs=[2:1:10];
for number=1:2
  if number==1
    NT=2;NR=1;
    gs=’-kp’;       %2×1 Alamouti空时码
  else
    NT=2;NR=2;
    gs=’-k*’;       %2×2 Alamouti空时码
end         
for i=1:length(SNRdBs)
    SNRdB=SNRdBs(i); 
    sigma=sqrt(0.5/(2*10^(SNRdB/10))); 
    for j=1:N_iter
      data=randi(1,L_frame ,M);
%BPSK调制
      symbol_data=pskmod(data,M);   
%Alamouti方案
      receive_symbol=alamouti(symbol_data,sigima,NR);
%解调
      receive_data=pskdemod(receive_symbol,M);
      noeb_p(j)=sum(sum(de2bi(data)~=de2bi(receive_data)));
    end
    BER(number,i)=sum(noeb_p)/(N_iter *L_frame *log2(M)); 
  end
  semilogy(SNRdBs,BER(number,: ),gs); 
  hold on;
end
title('MRC接收分集及Alamouti 空时码BER性能曲线');
legend('2×1 Alamouti空时码','1×2 MRC接收分集','2×2 Alamouti空时码');
xlabel(‘信噪比 SNR(dB)’);
ylabel(‘误码率 BER’);
grid on;
%------------------------------------------------------------------------
%  ④alamouti空时分组码功能函数
%-------------------------------------------------------------------------
function y=alamouti(x,sigma,NR) 
n=length(x);
y=[];
for i=1:n/2
  x1=x( 1,2*i-1 );
  x2=x( 1,2*i); 
  if NR==1
%接收符号
    h=(randn( 1,2)+i*randn(1,2))/sqrt(2); 
    y1=h( 1,1 )*x1+h(1,2)*x2+sigma*(randn+ i*randn); 
    y2=-h( 1,1 )*conj(x2)+h(1,2)*conj(x1)+sigma*(randn+ i*randn); 
%最大似然检测
    H=[h(1,1) h(1,2);conj(h(1,2)) -conj(h(1,1))];
    Y1=[y1;conj(y2)];
    X=H' * Y1 /(abs(h( 1,1 ))^2+abs(h(1,2))^2); 
    decode_symbol=[X( 1,1) X(2,1)];
    y=[y,decode_symbol];
  else
    h=(randn( 1,2)+i*randn( 1,2))/sqrt (2); 
    y1=h( 1,1 )*x1+h( 1,2)*x2+sigma*(randn+ i*randn); 
    y2=-h( 1,1 )*conj (x2)+ h( 1,2)*conj (x1)+sigma*(randn+i *randn); 
%构造矩阵
    H=[h( 1,1) h( 1,2);conj(h( 1,2)) -conj(h( 1,1))];
    Y1=[y1;conj(y2)];
    X=H’ * Y1 /(abs(h( 1,1 ))^2+abs(h( 1,2))^2);
    decode_symbol1=[X( 1,1) X(2,1)];
    h1=(randn( 1,2)+i *randn( 1,2))/sqrt( 2);
    y3=h1 (1,1 )*x1+h1 (1,2)*x2+sigma*(randn+ i*randn);
    y4=-hl1(1,1 )*conj (x2)+h1 (1,2)*conj(x1 )+sigma*(randn+ i*randn);
    H1=[h1(1,1) h1(1,2);conj(h1(l,2)) -conj(h1(1,1))];
    Y2=[y3;conj(y4)];
    X1=H1’* Y2/(abs(h1(1,1 ))^2+abs(h1(1,2))^2); 
    decode_symbol2=[X1 (1,1) X1 (2,1)]; 
    y=[y,(decode_symbol1+decode_symbol2)/2];
  end
end

2.4 仿真曲线对比与分析

由上述仿真结果图可以分析得出:

  1. 在接收天线的增益(即信噪比 SNR)逐渐增大时,所接收信号的误码率是逐步降低的。也就是说,天线增益越大,信号的接收质量就越高。接收信号的误码率呈递减趋势,说明 接收天线的增益越大,接收到信号的质量就越好,并且可以看出其信号误码率随增益的变化基本上是 单调的

  2. 由上图还可以看出,在相同的天线增益下,接收天线为一条的误码率比接收天线为两条的误码率高,也就是说,在相同条件下天线数目越多,其收到的信号质量就越好

  3. 同时,由仿真图可知,2×1 发射分集的仿真图像显示的规律与 1×2 的接收分集相似。通过比较也可以得出,在相同的发射分集条件下,接收天线的条数越多,接收信号的误码率越低,也就是说,信号的质量越高。

你可能感兴趣的:(通信原理)