首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

用插值查找表实现FPGA的DSP功能(3)

用插值查找表实现FPGA的DSP功能(3)

跟踪高速运动系统的目标物体(比如导弹)是一项极富挑战性的工作,需要非常复杂的DSP算法以及诸如合成孔径雷达 (SAR) 等各种不同类型的探测介质。作为典型的相干电磁源(如激光),SAR成像器件也受斑点噪声的影响。因此,任何基于SAR的DSP链的第一级都是二维 (2D) 自适应FIR滤波器,用以降低这种噪声(但不可能完全消除)。图6显示了斑点噪声的MATLAB仿真。该噪音对左边图像的画质造成了综合性的不良影响。右边的图像是2D FIR滤波器黄金模型的输出结果。
  

  图 6. 斑点噪声对左边图像画质造成了影响,右边的是滤波后的图像
  斑点噪声是一种倍增噪声,呈指数分布,完全由其方差值σ决定。因此,广泛使用的抗斑点噪声的方法就是Frost滤波器(由发明者 V.S.Frost的名字命名而来)。V.S.Frost 在1981年发表的论文对这个现象进行了探讨。在一个3x3的矩阵中,可以用下列公式进行建模:
  

  其中xij和yij分别代表Frost滤波器的输入和输出采样。K 是控制滤波强度的增益系数(为方便起见,我在下面假定K=1),μ1和σ分别是2D内核的平均值和方差值,Tij是中心输出像素(系数ij=22)及所有周边像素的距离矩阵。下面的等式说明实施这个滤波器的关键因素是R1,即3x3矩阵中的一阶μ1和二阶μ2之间的比值:
  

  R1的取值范围在0和1之间。根据实验发现要取得良好的数值精度,R1可以使用16位至20位二进制数来表示。
  我在system Generator for DSP中设计R1计算步骤后,我决定通过内插LUT来实施滤波系数的归一化。LUT的内容以下列MATLAB代码表示:
  

  图7显示的是归一化后的系数沿R1输入信号分布的曲线。这里只有三条曲线,因为 Tij矩阵在系数 ij="22的中心像素周围呈对称分布"。根据曲线,与纯浮点参考模型相比,数值结果显示信噪比介于81.28至83.38dB之间。对有兴趣的读者,下面的 MATLAB分段码说明了2D滤波器的处理过程(为简便起见,没有包括ILUT函数)。
  

  图7 沿斑点噪声降噪滤波参数R1分布的归一化系数
  简言之,这些例子说明插值查找表是实施赛灵思FPGA的DSP功能的简便而强大的方法。插值查找表可帮助您在保持面积占用相对较低的情况下实现极高数值精度 (SNR) 和高数据速率。
继承事业,薪火相传
返回列表