微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 高速峰值检测模块求问

高速峰值检测模块求问

时间:10-02 整理:3721RD 点击:
640个16位宽的有符号数里,快速找到最高的5个峰值的位置,并将5个峰值点的行坐标及列坐标作为模块的输出。640个数据是按照32行20列的方式存储于单口RAM里。峰值是指该数据的绝对值大于自己周围的8个数据的绝对值。求算法或者您的理解

峰值这块类似于一个九宫格,首先写一个九宫格求峰值的模块,然后复用这个模块把以每一个数据为中心的九宫格峰值算出来,顺便通过比较器比大小,选择器留下最大的五个,其他的丢弃

如果数少的话,可以这样,但是要是一个32*20的矩阵中的数,那不是要算32*20次九宫格,这样就太浪费时间了。有没有稍微可以改进的算法

求解啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

不知道了,你自己可以研究研究,FPGA可以并行操作啊,无非就是面积和速度的平衡,如果你不嫌费面积,想快的话一次把所有的都算了也不是不可以,但不管怎么样比大小这块没有什么更优化的算法了吧,至少这些数你都得比一遍吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top