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

基于FPGA的数字滤波设计

基于FPGA的数字滤波设计

对数据路径单元进行控制的部分由状态机完成。状态说明在表格4.4中,状态转换图如图4.4所示。

4.4 各个状态功能说明
在状态转换图中可以看出,此状态机中有两个循环,大的循环中(蓝色线标识)完成一次采样周期里对3ADC数据进行IIR滤波计算。大循环内部有一个小循环(红线标识),蓝色循环每执行一次红色循环执行3次,红色循环一次完成对一路ADC的计算。

4.4 状态转换图4.4.4 RAM中存储调度

4.3所示的数据路径图中的RAM对应的地址空间分配如图4.5所示。为每个模拟通道分配8个存储空间,存储调度如图4.6所示。

4.5 每个ADC对应的RAM地址空间 4.6 存储调度
指针在每一帧(24个通道)开始前加2,完成XnXn+1的保存。

1.
SAVE状态时,保存当前的Xn

2.
READ状态时,按顺序读出Xn-2Yn-2Xn-1Yn-1Xn

3.
OUT状态时,保存Yn

4.
MAC计算乘累加时,连续读5个数据,读地址在指针的基础上加4

5.
存入Yn值时,写入地址在指针基础上加1

6.
指针每次按照2自增。

4.4.5时间余量计算


系统需求,在每个AD_data_ok有效时,采集3个通道值,并在下一个AD_data_ok有效之前完成IIR计算。


AD_clk=2.5MHz,采样间隔为(1/2.5M*22=8.8us


IIR计算所需时间为(1/30M*187=6.17us

IIR计算时间小于采样间隔,所以能够完成优化后32bitsIIR滤波功能。


1、
总结164FIR并不能完成来时提出的指标要求;
218bits位宽IIR,容易产生溢出,增益需要调整;
3、结构优化后的32bits位宽IIR能够满足指标要求,同时硬件资源可以胜任。
返回列表