m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集

目录

1.算法概述

2.仿真效果预览

3.MATLAB部分代码预览

4.完整MATLAB程序


1.算法概述

·MIMO信道容量

平均功率分配的MIMO信道容量:通过Matlab仿真在加性高斯白噪声情况下的SISO (1*1)、SIMO(1*6)、MISO(4*1)、MIMO(3*3)、MIMO(4*4)系统的信道容量进行分析。

·关于空间复用

主要通过基于码本的预编码技术和非码本的预编码技术:

码本的预编码技术:基于TxAA模式的码本、基于DFT的码本

    这里主要涉及到码本的设计,

非码本的预编码技术:SVD,GMD,UCD技术。

·把空间分集

SFBC和FSTD-SFBC。就是空频编码和频率切换分集与空频编码结合的,对这两种方式进行仿真。

    整个系统的设计流程:

·步骤一:

对不同的天线数目的MIMO系统进行仿真,主要包括:

SISO (1*1)、SIMO(1*4)、MISO(4*1)、MIMO(2*2)、MIMO(4*4),对上面的五个部分进行仿真,获得系统的信道容量进行仿真。

·步骤二:

空间复用,在步骤一的基础上,选择性能较好的一组仿真环境,然后在此基础上,进行基于非码本的预编码和基于码本的预编码。分别进行性能对比分析。

非码本的预编码:SVD,GMD;

码本的预编码:DFT,基于TxAA模式的码本;

·步骤三:

空间分集,重点仿真2发一收的SFBC(空频编码)和FSTD-SFBC(频率切换分集与空频编码),对两种方式进行仿真。

1步骤一:对不同的天线数目的MIMO系统进行仿真:

主要包括:SISO (1*1)、SIMO(1*4)、MISO(4*1)、MIMO(2*2)、MIMO(4*4),对上面的五个部分进行仿真,获得系统的信道容量进行仿真。

2.仿真效果预览

matlab2010b仿真

1步骤一:对不同的天线数目的MIMO系统进行仿真:

主要包括:SISO (1*1)、SIMO(1*4)、MISO(4*1)、MIMO(2*2)、MIMO(4*4),对上面的五个部分进行仿真,获得系统的信道容量进行仿真。

得到的仿真结果如下所示:

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第1张图片

 m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第2张图片

2步骤二:空间复用:

在步骤一的基础上,选择性能较好的一组仿真环境,然后在此基础上,进行基于非码本的预编码和基于码本的预编码。分别进行性能对比分析。

非码本的预编码:SVD,GMD;

码本的预编码:DFT,基于TxAA模式的码本;

2.1破零均衡,MMSE均衡

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第3张图片

·SVD分解的预编码 

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第4张图片

·GMD分解的预编码 

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第5张图片

3码本的预编码:DFT,基于TxAA模式的码本;

·DFT码本

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第6张图片

·TxAA码本

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第7张图片

空间分集:

仿真2发一收的SFBC(空频编码)和FSTD-SFBC(频率切换分集与空频编码),对两种方式进行仿真。

3.1 SFBC(空频编码)

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第8张图片

3.2  FSTD-SFBC(频率切换分集与空频编码)

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集_第9张图片

3.MATLAB部分代码预览

SNR = 0:2:10;
%OFDM参数
fs1         = 1e6;               %OFDM采样频率
fs2         = 0.8e6;               %OFDM采样频率
Num_Carrier = 128;               %子载波个数
GIlen       = 160;               %保护间隔长度
CPlen       = GIlen - Num_Carrier;     %循环前缀长度
fm          = 66;                %频偏
d           = 1;                 %时偏
M           = 6;                 %多径数量
Stime       = 1000;

for i = 1:length(SNR)
    BER_sum = 0;
    for k = 1:Stime
        i
        k
        %产生随机的BPSK信号
        X   = 2*randint(1,Num_Carrier) - 1;     
        S_receive2 = func_FSTD_SFBC(X,SNR(i),fm,d,M,fs1,fs2,Num_Carrier,GIlen,CPlen);
        [bit,ratio]= biterr((X+1)/2,S_receive2); 
        BER_sum = BER_sum + ratio;
    end
    
    BER(i) = BER_sum/Stime;
end
01-43m

4.完整MATLAB程序

matlab源码说明_我爱C编程的博客-CSDN博客

V

你可能感兴趣的:(Matlab通信和信号,matlab源码,matlab程序设计,码本预编码TxAA,非码本预编码SVD-GMD)