HLS系列–实例分享,用HLS实现Goertzel算法(快速频点检测)

hls非常适合一些信号处理模块的快速实现。下面是一个实际的例子,由于使用了hls,非常高效的就完成了模块的rtl的实现,比用手工coding节约了大量的时间!
需求描述:
在一个项目里面,需要快速检测输入信号的几个特定频点。如下所示,输入信号来自于一个adc,采样频率约为10msample/s,位宽为16bits。
实现方案选择:
通常来说,计算信号的频谱可以采用快速傅里叶变换fft,不过本例只需要求特定频点的信号能量,有一个更快捷的算法叫做goertzel。goertzel基本算法在每次采样后立即进行处理,其具体原理和推导过程在此不详述,感兴趣的朋友可以自行搜索。在此只给出其计算频谱的公式:
其中vk[-1] = vk[-2] = 0。频谱的平方幅度表示为:
这个公式全都是基于实数进行运算,因此非常好操作。
c语言描述:
把上述公式翻译成c语言是很简单的事情,假设采样点数n=256,那么c函数如下:
hls实现:
上述代码基本不用做任何修改,直接丢到hls里面去实现即可。实现后的资源使用情况如下:
latency如下:
端口情况如下:

讲解断路器当中N、M、H、L分别是什么意思
意法半导体新推出STBC02芯片整合了穿戴式和便携设备能源管理所需的最常用功能
DSP实验箱:音频处理_图像处理_教学实验箱:TL6748-PlusTEB
万达告别房地产!淘宝租房又来了,王建立、马云这两大佬又要搞事情?
高通5G芯片降低设计复杂性,提升厂商开发便利,促终端产品普及
HLS系列–实例分享,用HLS实现Goertzel算法(快速频点检测)
虹软科技:智能汽车市场需求助推AI视觉解决方案延期
MOSFET厂大中据传酝酿将从本季起调涨报价 尼克森、富鼎也将全面跟进
解析汽车芯片供应短缺的原因
终止科创板IPO后 功率半导体器件厂商瑞能半导拟北交所上市
交流电源线上的常见故障与保护解决方案
未来几年可穿戴设备影响最大的5大领域
详解光模块和光纤连接器应用指南
西门子S7-200PLC编程通信口参数设置
小米mix2确认支持面部识别功能,这年代手机也要看颜值了啊!
CKS32F4xx系列产品NVIC中断优先级管理单元讲解
HTC VR重拳出击 下周将发布首款VR游戏
高阻抗电弧炉的设计特点和应用
二季度全球智能手机增长放慢至15% 创6年来最低水平
用于Pt湿法蚀刻的铂薄膜图案化方案