FPGA|CPLD|ASICwilliam hill官网
直播中

battyson

10年用户 48经验值
擅长:MEMS/传感技术 制造/封装 模拟技术
私信 关注
[问答]

高速峰值检测模块求问

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

回帖(4)

runileking

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

battyson

2016-4-21 15:15:59
引用: runileking 发表于 2016-4-19 09:29
峰值这块类似于一个九宫格,首先写一个九宫格求峰值的模块,然后复用这个模块把以每一个数据为中心的九宫格峰值算出来,顺便通过比较器比大小,选择器留下最大的五个,其他的丢弃

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

qiaoxulong01

2016-4-21 15:18:20
求解啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
举报

runileking

2016-4-21 17:02:47
引用: battyson 发表于 2016-4-21 15:15
如果数少的话,可以这样,但是要是一个32*20的矩阵中的数,那不是要算32*20次九宫格,这样就太浪费时间了。有没有稍微可以改进的算法

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

更多回帖

发帖
×
20
完善资料,
赚取积分