论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
FPGA将所有滤波结果值存入ROM,将每个滤波结果值所对应的基带码组合作为该滤波结果值的存储地址。系统运行时,用一个C位移位寄存器存储C个基带码,作为地址选通ROM,则ROM输出的滤波结果值是C个基带码的中间码的滤波结果值。随着基带码依次到达移位寄存器,移位寄存器中C个基带码的中间码也被后面的基带码依次替换,ROM输出的将是依次到达的中间码的滤波结果值,从而实现基带码的滤波成型。
图2中ROM存储的数据是设计一个成型滤波器得到的波形数据,为了与下面成型滤波器组的存储数据相区别,将图2中ROM存储的所有波形数据统称为一个子波形。
3 在FPGA中用成型滤波器组调整发送时刻的方法
图3是成型滤波器组的实现方案图。图中的FPGA的ROM中存储了E个子波形,称为一个成型滤波器组。第一个子波形就是图2所设计的子波形,称为原来的子波形。之后的E-1个子波形是原来的子波形以时钟周期的1/E循环左移1,2,…,E-1次得到的。如果得到这些移位后的子波形是设计的关键。由于波形的移位在MATLAB中是以数值的变化体现出来的,而通过MATLAB计算可以得到数值精度很高的波形数据,所以用MATLAB设计的波形,移位可以远小于时钟周期,因此可以很容易用MATLAB得到以时钟周期的1/E循环左移后的各个子波形。
各移位后的子波形按循环左移大小依次存储在ROM中。因此一个时钟周期的延时被划分成了E个区间,将测距误差除以时钟周期,得到余数R,计算出R落在了E个区间中的哪个。选择该区间的子波形,将该子波形送到调整步长降到时钟周期的1/E。实际设计时,在MATLAB中将FIR滤波器的冲激响应以时钟周期的1/E循环左移,再与插