一、原理
BAQ算法是一种自适应的动态量化编码算法,SAR原始数据的I和Q均服从零均值的高斯分布,方差随时间缓慢变化,原始数据的不同位置处方差不同。若是将信号沿方位相和距离向做分块处理,在数据块大小合适的情况下,单个数据块内数据的幅度变化量与整个数据块幅度变化量相比很小,可以认为是平稳恒定的。先将I/Q两路数据分成若干小块,求每块数据的幅度均值,用所得均值查表得到标准差,根据标准差得到最佳量化判决门限,再将块内数据与判决门限比较得到编码,编码中包含一位符号位,将编码值与对应的均值一起打包下传至地面。地面根据接收到的数据中的编码值及均值进行解压缩、数据重构。
首先对数据进行分块,数据分块不能太大,否则不能满足量化器对量化数据平稳性的要求,不能很好地跟踪数据的动态变化;同时数据分块也不能太小,否则块内数据不能满足高斯分布的特性,无法用标准差估计方差,另外整个数据块是分块数据的整数倍,以便于实现。

BAQ算法的重要实现部分是Max-Lloyd算法产生的判决门限和量化电平。对于满足高斯分布的信号可以根据其概率密度函数的形状实现最优量化,Max-Lloyd算法就是利用了高斯分布函数的形状特性,在概率密度函数较大的时候缩小量化间隔,小的时候增大量化间隔,进而达到减小量化误差MSQE的目的,对于不同的压缩比,根据不同的压缩输出位数R,可以求得2(R-1)-1个判决门限和2 (R-1)个量化电平。以3bit编码为例,下表是由Max-Lloyd方法求得的编码和译码对应关系,其中为标准差。

所以,我们只要求出标准差问题就迎刃而解,标准差公式如下:

二、FPGA实现
使用system generator搭建算法模型如下:

三、实现效果
没有可用的SAR回波数据,生成了正弦波数据,进行了数据压缩仿真,采用3BIT量化编码,16bit原始数据与“压缩—解压”后的数据如下所示:从效果来,BAQ算法还是挺不错的。


资源消耗与时序如下:



2万+

被折叠的 条评论
为什么被折叠?



