ubuntu 使用FFTW快速计算离散傅里叶变换

前端之家收集整理的这篇文章主要介绍了ubuntu 使用FFTW快速计算离散傅里叶变换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开发。可计算一维或多维实和复数据以及任意规模的DFT。
FFTW 还包含对共享和分布式存储系统的并行变换,它可自动适应你的机器, 缓存,存储器大小,寄存器个数。
FFTW 通常比目前其它开源Fourier变换程序都要快,最新版本为fftw-3.3.5。
FFTW-logo

FFTW 的编码生成器采用面向对象设计技术和面向对象语言Caml 编写;它能自动适应系统硬件,因而可移植性很强。FFTW2.1.5 支持共享存储多线程并行和分布式存储 MPI 并行。FFTW 的运算性能远远领先于目前已有的其它 FFT 软件。
FFTW 为任意大小的模式生成一个计划(plan),通过对该计划施行各种运算完成各种模式的转换;内部结构及其复杂性对用户透明;速度快 (适合各种机器的内部编译器、代码生成器利用 AST 在运行时生成代码并自我优化,而且不占用编译时间,采用分层存储技术)。
FFTW 受到越来越多的科学研究和工程计算工作者的普遍青睐,并为量子物理、光谱分析、音视频流信号处理、石油勘探、地震预报、天气预报、概率论、编码理论、医学断层诊断等领域提供切实可行的大规模 FFT 计算。

sudo apt-get install fftw3 fftw3-dev pkg-config


arm系统上:

sudo apt-get install libgfftw3-dev pkg-config


文件
#include <fftw3.h>

undefined reference to `fftw_malloc'
undefined reference to `fftwf_malloc' 等错误解决办法:


LIBS += -lm -lstdc++ -lfftw3 -lfftw3f

-lstdc++ :包含 g++的部分库,
-lm :加上数学库 ,

-lfftw3 :加上fftw的库

异常:

libv4l2: error setting pixformat: Operation not permitted
VIDEOIO ERROR: libv4l unable to ioctl S_FMT

原因:调用摄像头,但是这个摄像头是系统自带的,但是是空的,解决换个摄像头就可以了。

猜你在找的Ubuntu相关文章