新闻中心

EEPW首页>嵌入式系统>设计应用> 一种基于FPGA的自适应谱线增强系统的设计

一种基于FPGA的自适应谱线增强系统的设计

作者: 时间:2010-07-13 来源:网络 收藏

  3.1 TLC5510的控制

  TLC5510是8位高速模数转换器,以流水线的工作方式进行采样,在每一个时钟周期启动1次采样、完成1次采样,采样在时钟下降沿进行,经过2.5个时钟周期后输出转换结果。设计中根据采样时序,用状态机来描述采样控制过程,实现了采样的控制。实现状态交替的VHDL代码如下:

  实现采样数据输出的VHDL代码如下:

  3.2 采样信号延迟

  为了实现延时,片内开辟了3个缓冲区,分别是输入、时延、权值缓冲区。采样后的数据首先存入片内数据缓存FIFO,进入待命状态。时延缓冲区实现△长度的时延,权值缓冲区储存权值。其中,时延缓冲区和输入缓冲区地址是连续的。时延缓冲区的长度由延迟△决定,输入缓冲区和权值缓冲区的长度由权值的维数决定。缓冲区的实现是在VHDL语言编写的程序中定义存储数据的向量,这些数据向量的数据类型定义如下:

  其中:ARRAY_N1BIF定义的是滤波器参数向量的数据类型;ARRAY_N1BIYX定义的延迟后信号向量的数据类型;ARRAY_N1BIT定义的是输入信号向量的数据类型;ARRAY_N2BIT定义的是谱线增强后信号向量的数据类型;W1是采样数据的宽度,这里为8;Delay是延时长度;L是滤波器阶数。

  3.3 LMS算法核心模块

  这是设计的核心部分也是设计中的难点。用实现复杂数字并不像DSP中那样简单,需要考虑时序同步、数据宽度以及如何舍入。该设计采用16阶器实现,滤波器初始权值全部为0,按照式(3)的算法进行迭代更新,算法实现中用到大量乘法运算。调用芯片内部嵌入的乘法器宏功能模块lpm_mult使实现这些乘法运算更加快速、高效的方案。lpm_mult模块输入采样的8位数据,因为在乘法运算中2个8位二进制数相乘得到的结果是1个16位二进制数,所以设计中将处理结果输出为16位二进制数。为了提高速度,设计中采用流水线的滤波器结构。流水线结构能够显著地提高处理的速度,但是要消耗更多的硬件资源,特别是硬件乘法器,如果LMS FIR滤波器的长的为L则需要2L个通用乘法器。设计中L=16,片内有36个片内乘法器可以胜任处理要求。编译结果显示片内应用于LMS核心算法的其他资源消耗全部小于或等于总消耗的6%,其余资源可以用于片内的采样、输出等时序控制。LMS算法硬件实现的流水线结构框图如图5所示。



评论


相关推荐

技术专区

关闭