基于复数浮点运算的协方差矩阵的基于复数浮点运算的协方差矩阵的FPGA实现实现
协方差矩阵的计算是信号处理领域的典型运算,是实现多级嵌套维纳滤波器、空间谱估计、相干源个数估计以
及仿射不变量模式识别的关键部分,广泛应用于雷达、声呐、数字图像处理等领域。采用FPGA(Field
Programmable Gate Array)可以提高该类数字信号处理运算的实时性,是算法工程化的重要环节。但是FPGA不
适宜对浮点数的处理,对复杂的不规则计算开发起来也比较困难。故目前国内外协方差运算的FPGA实现都是采
用定点运算方式。
O 引言引言
协方差矩阵协方差矩阵的计算是信号处理领域的典型运算,是实现多级嵌套维纳滤波器、空间谱估计、相干源个数估计以及仿射不变
量模式识别的关键部分,广泛应用于雷达、声呐、数字图像处理等领域。采用FPGA不适宜对浮点数的处理,对复杂的不规则
计算开发起来也比较困难。故目前国内外协方差运算的FPGA实现都是采用定点运算方式。
在充分应用FPGA并行处理能力的同时,为了扩展数据处理的动态范围,减少数据溢出机率,避免数据截断所产生的误
差,提高
本文以空间谱估计作为研究背景,研究了复数据运算和
1 求解复数浮点协方差矩阵求解复数浮点协方差矩阵
以11阵元的均匀圆阵为例,其协方差矩阵的求解方案原理框图如图1所示。
1.1 FIF0数据缓存器数据缓存器
在该设计方案中选择FIFO作为数据存储器,这是因为一旦多路接收机有数据输出,就会启动FIFO进行存储,进而FIFO的
不空信号有效(empty=O),触发后续的矩阵运算;否则,运算停止,一切状态清零,FPGA恢复idle(空闲)状态,等待新的快拍采
样数据的到来。
这样可以很方便地控制运算的开始和结束。矩阵运算所需要的同步时钟需要设计一个类似于单稳态触发器的模块。当检测
到empty=‘0’时,就触发一个含有121个clk(对于串行方案而言)时钟信号周期长度的高电平。该高电平与主时钟相与便可以得到
运算的同步时钟。
1.2 数据共轭转换数据共轭转换
由于测向阵列的输出矢量X(t)是一个复矢量,对其求协方差矩阵需用阵列输出列矢量X(t)与其共轭转置矢量XH(n)对应相
乘。如式(1)所示:
1.3 定点数到浮点数的转换定点数到浮点数的转换
定点计算在硬件上实现简单,计算速度比浮点计算要快,但是表示操作数的动态范围受到限制,浮点数计算硬件实现比较
困难;一次计算花费的时间也远大于定点计算的花费,但是其表示的操作数动态范围大,精度高。在本设计中,考虑到系统的
评论0