新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 一种基于DSP的MIMO系统空时编码盲识别方法

一种基于DSP的MIMO系统空时编码盲识别方法

作者:时间:2015-04-21来源:网络收藏

  系统复位时,所有FLAG PIN置高电平,ADC采集完毕触发DMA中断,从SDRAM中读取数据,并进入到预白化处理,此时FLAG PIN1至低电平,依据算法,对白化后的数据进行时滞相关分析,并利用码字表判决响应码型时,并分别拉低FLAG PIN2和FLAG PIN3.

本文引用地址:http://www.eepw.com.cn/article/272884.htm

  该种方法配置灵活、软件简单,系统采用4个FLAGPIN来布置显示,拥有足够的IO接口使用,在设计时充分利用了硬件资源,同时利用DMA中断,有效提高了CPU的效率,也实现了资源的共享和并行处理,同时还在芯片运算过程中及时发现故障并定位处理。

  2系统软件设计

  2.1空时编码盲识别原理

  STBC通过在时间与空间进行联合编码达到提高系统传输性能的目的,因此在不同时刻从不同天线发送的数据具有一定的相关性,而不同空时编码之间的相关度并不同,因此可利用该相关度来区分不同的码型,从而将空时编码的模式识别出来。

  2.2空时编码盲识别方法

  (1)预白化。预白化的目的是去除信道对接收信号相关性的影响。白化矩阵W通过对分时相关矩阵P做特征值分解得到

  

 

  ,其中A-1为特征值矩阵Λ的广义逆。W与原数据相乘便可得到解相关矩阵Y.(2)计算时滞相关度。利用接收信号预白化后得到的解相关矩阵Y,依据统计学公式计算时滞相关范数

  

 

  空时编码矩阵的理论时滞相关特性仅与编码矩阵本身有关。因此,应用与式(1)相同的形式,可将编码矩阵不同的列进行矩阵乘加运算,并取F范数来表征。

  由此得出计算空时编码的时滞相关矩阵R(τ)

  

 

  其中,空时编码矩阵的每一列代表不同的发射时刻,A(u)是码型A编码矩阵的第u列,l为码型分组长度。已预白化后的接收信号矩阵与发送端编码矩阵,在时滞相关函数F范数上有如下关系

  

 

  (3)判决码型。遍历候选码集,计算出接收信号与候选码集中每一种空时码的相关度,取其中最相关的码型便为判决码型。

  2.3软件设计

  软件系统采用模块化结构软件系统采用模块化结构设计,程序流程如图5所示。包括系统启动、配置系统寄存器、设置全局变量和开启中断控制等。当ADC模块将采样数据全部写入SDRAM后,CPLD通知触发DMA中断1,将SDRAM中的数据读入,读取结束后DMA触发中断2,并对ADC采样数据进行处理:(1)预白化,去除新到对采样数据相关性的影响。(2)计算采样数据与候选集中每种码字的时滞相关度。(3)根据上述计算结果,选取使时滞相关度最小的码型为判决码型。

  

 

  图5 软件系统采用模块化结构

  通过对DMAC寄存器的设置,可控制DMA的流向、通道和方式,典型的数据读取关键代码如下:

  

 

  数据处理部分的关键函数包括白化和时滞相关量计算,数据传递采用了单维读入与多维传递的方式,即将多天线的数据按照天线顺序依次读入,但在DSP内部数据传递时,多根天线的数据按照时间顺序传递,在函数内部手动寻址,即符合算法要求,又加快了数据处理的速度。数据处理时包括大量的矩阵转置和乘加操作,在计算时优化为内积计算模式,使用ALU运算块X和Y,每个周期并行计算时滞矩阵两列之间的相关范数,这便节省了内存资源,减少了寻址次数,且加快了计算速度。

  本算法在不同参数下的Matlab性能仿真如图6所示,采样数据越长,接收天线数越多,识别性能也越好。实际测试证明与期望相一致,验证了设计的合理性和正确性。

  

 

  图6 算法在不同参数下的Matlab性能仿真

c++相关文章:c++教程


尘埃粒子计数器相关文章:尘埃粒子计数器原理
晶振相关文章:晶振原理
上拉电阻相关文章:上拉电阻原理


关键词: DSP MIMO

评论


相关推荐

技术专区

关闭