首页 > 其他 > 详细

在zynq中利用neon做FFT运算

时间:2014-03-20 21:30:58      阅读:1648      评论:0      收藏:0      [点我收藏+]

ZYNQ中的双核处理器Cortex-A9中使用的Neon协处理器,

先了解一下neon,引用ARM的原文,

The ARM? NEON? general-purpose SIMD engine efficiently processes current and future multimedia formats, enhancing the user experience.

NEON technology can accelerate multimedia and signal processing algorithms such as video encode/decode, 2D/3D graphics, gaming, audio and speech processing, image processing, telephony, and sound synthesis by at least 3x the performance of ARMv5 and at least 2x the performance of ARMv6 SIMD.

http://www.arm.com/products/processors/technologies/neon.php

NEON利用SIMD(single Instruction,Multiple Data)结构,即单指令多数据的方式,看来就是将串行处理的方式改为并行处理,引用原图,

bubuko.com,布布扣

指令执行时,所以通道(Lane)同时进行运算(Operation),从而得到结果;

其中,Register可以为32个64位寄存器或是16*128bit的寄存器;

可接受的数据类型可以是有符号或无符号的8位,16位,32位,64位,单精度浮点数;

所以...既然ZYNQ内部有了,我们就可以利用NEON这个协处理器,

完成一些复杂的运算,比如FFT,

当然你可以用PL(FPGA fabric)部分去实现FFT,效率可能会高一些,

但开发难度大...而且不灵活;

那就尝试着用一下,网上有个开源项目,就是为NEON来写库函数的,叫用Ne10;

参考网址:http://projectne10.github.io/Ne10/

现在实现的函数有,

bubuko.com,布布扣

如下表.

bubuko.com,布布扣

bubuko.com,布布扣

 

那理论上,我们用xilinx的SDK编译了这个库,我们就可以使用Ne10的函数了;

我们的虚拟示波器中想加入频域的显示,所以我们测试一下FFT这个函数;

先去实践一下:)

2014.03.19

在zynq中利用neon做FFT运算,布布扣,bubuko.com

在zynq中利用neon做FFT运算

原文:http://www.cnblogs.com/jamesnt/p/3610786.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!