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

HLS非常适合一些信号处理模块的快速实现。下面是一个实际的例子,由于使用了HLS,非常高效的就完成了模块的rtl的实现,比用手工coding节约了大量的时间!

需求描述:

在一个项目里面,需要快速检测输入信号的几个特定频点。如下所示,输入信号来自于一个ADC,采样频率约为10MSample/s,位宽为16bits。

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

实现方案选择:

通常来说,计算信号的频谱可以采用快速傅里叶变换FFT,不过本例只需要求特定频点的信号能量,有一个更快捷的算法叫做Goertzel。Goertzel基本算法在每次采样后立即进行处理,其具体原理和推导过程在此不详述,感兴趣的朋友可以自行搜索。在此只给出其计算频谱的公式:

其中Vk[-1] = Vk[-2] = 0。频谱的平方幅度表示为:

这个公式全都是基于实数进行运算,因此非常好操作。

c语言描述:

把上述公式翻译成c语言是很简单的事情,假设采样点数N=256,那么c函数如下:

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

HLS实现:

上述代码基本不用做任何修改,直接丢到HLS里面去实现即可。实现后的资源使用情况如下:

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

Latency如下:

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

端口情况如下:

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

用户喜欢...

技术分享#CC2650开发板设计PCB原理图

一、开发板逻辑原理图 如前所述,CC2650是一个功能丰富,特点鲜明的全能型射频通讯管理芯片,简单地把主要的功能引脚引出的开发板设计是好的设计方案,不过不大符合不断地给自己找麻烦...


Edico Genome推出基于AWS EC2 F1实例的基因组分析应用

Edico Genome公司之前就曾开发出了基因组分析算法,为了实现算法加速,该公司原本打算开发一个ASIC(精简指令集)处理器,但是这种方案灵活性太差,尤其是随着算法的更新,计算性能需求...


RocketChip RISC-V 内核+ 亚马逊 AWS EC2 F1实例=FireSim云基硬件/软件协同开发环境

网络电子商务巨头亚马逊已经广泛的将多个赛灵思公司的基于16nm FinFET工艺的Virtex UltraScale VU9P FPGA部署到亚马逊弹性计算云(EC2)F1实例上。EC2是亚马逊云计算的基本平台,由于网络通信量复...


深鉴发布基于AWS EC2 F1实例的自动语音识别加速解决方案

深鉴科技(DeePhi Tech)由斯坦福与清华大学的深度学习硬件加速研究者创立,致力于为全世界提供更便捷、更高效、更经济的深度学习平台解决方案。人工智能是现在最热门的领域,最为该领...


C51编程经验汇总分享

在单片机的开发应用中,已逐渐开始引入高级语言,C语言就是其中的一种。用惯了汇编的人,总觉得高级语言“可控性”不好,不如汇编那样随心所欲。以下是笔者在C51编程中的几点经验,...


华为云在 XDF 上与 Xilinx 联合发布 FACS FP1 OpenCL 实例

2017年10月19日,华为云在参加北京举行的 2017 赛灵思开发者大会(XDF)期间,与 Xilinx 联合发布华为 FACS FP1 OpenCL 实例,并面向与会数百位 FPGA 开发者展示了华为云 FPGA 加速云服务器(FACS)及...


在FreeRTOS嵌入式操作系统中,如何设置STM32 Cortex M3和M4系列MCU的中断优先级

前言 本文将说明在FreeRTOS嵌入式操作系统中,如何设置STM32 Cortex M3和M4系列MCU的中断优先级。 总结 【1】STM32L1系列,STM32F1系列,STM32F4系列,设置NVIC时需要使用 NVIC_PriorityGroup_4 。 【2】抢占优...


【深入访谈系列】Jim Nicholas谈下一代技术:人类的智商与AI相结合(二)

作者:Benny Har-Even Imagination科技致力于帮助客户创造富有创新性的产品,甚至改变世界。我们一直在思考如何才能实现一个更好的未来——充满光明、勇敢和力量。这个伟大愿景的核心是我们...


MathWorks发布包含MATLAB和Simulink产品系列的Release 2017b

加强深度学习能力以简化设计、训练和部署模型 MathWorks今日推出了Release 2017b(R2017b),其中包括MATLAB和Simulink的若干新功能、六款新产品以及对其他86款产品的更新和修复补丁。此发行版还添...


Xilinx 宣布集成 RF 信号链的 Zynq UltraScale+ RFSoC 系列开始发货- 全面加速5G无线、有线Remote-PHY及其它应用

赛灵思公司(Xilinx, Inc. (NASDAQ:XLNX))今日宣布其 Zynq UltraScale+ RFSoC 系列开始发货,该系列是通过一个突破性的架构将 RF 信号链集成在一个单芯片SoC 中,致力于加速 5G 无线、有线 Remote-PHY 及其...


【深入访谈系列】Jim Nicholas谈下一代技术:人类的智商与AI相结合(一)

作者:Benny Har-Even Imagination科技致力于帮助客户创造富有创新性产品,甚至改变世界。我们一直在思考如何才能实现一个更好的未来——充满光明、勇敢和力量。这个伟大愿景的核心是我们的...


小可爱,大前途?—亚马逊echo dot二代全面评测

智能语音识别这一技术,在国外巨头厂商眼里越来越是个“香饽饽”了,一般大家熟悉的也在用的语音助手有苹果 Siri,微软小娜、Google Now。不过Amazon似乎也想分一杯羹,相继推出了带有智...


基于STM32F1系列的重要宝典RM0008参考手册

近日有客户反映,他在在使用STM32F103C8T6的时候遇到如下问题: I2C1使用PB6和PB7口,定时器TIM3使用PB0\PB1\PB4\PB5做4路PWM。但在使用的过程中,如果只初始化定时器就没有任何问题,但是一旦初始...


Xilinx Spartan-7 系列 FPGA 首款评估板荣耀登场

Arty S7 开发板搭载 Xilinx 最新的 Spartan-7 FPGA 芯片,是 DIGILENT Arty 家族系列产品的最新成员,该家族系列产品专门面向创客和FPGA兴趣爱好者开发设计。 基于 Xilinx 最新技术设计,Spartan®-7 FPGA 器...


赛灵思高管分享四大技术趋势未来

今天,赛灵思OPENHW2017教师峰会暨创新大赛决赛在新加坡科学技术大学举行。赛灵思亚太区高级副总裁兼亚太区总裁汤立人在会上分享了四大技术趋势。 汤立人首先介绍了赛灵思创始人ROSS F...


实战分享:LVDS接收在高温(≥100°C)不稳定的问题,分析及解决

这是一个真实的Case。 系统描述:使用FPGA普通IO做LVDS接收,一共四路,每一路有4路数据和一路时钟,数据速率约为700Mbps。LVDS接收部分的设计采用Xilinx XAPP585参考设计的源代码,基本没有做改...