有什么好的C/C++ DSP库吗?

Vie*_*iet 12 c++ audio signal-processing wave

您会推荐哪种C/C++ DSP库?我需要它用于实时嵌入式系统.伴随声音信号处理也很棒,但不是强制性的.如果您对任何DSP库有所了解,请分享.

Cli*_*ord 8

我们正在考虑AVR,ARM甚至一些中档芯片

两者都不是专为DSP设计的,但如果您的性能要求足够适中,那可能不是问题.你需要DSP做什么?我建议您首先选择您的平台并使用供应商的库,因为它将针对该平台进行优化.如果供应商没有DSP库,那么该部件可能不是一个好的DSP平台.

例如,Microchip的dsPIC器件是带有DSP子系统的微控制器,可为FIR算法(如FIR和FFT)提供每MHz的良好性能,Microchip提供针对该器件优化的DSP库.

ST为其STM32部件提供DSP库.这些是Cortex M3器件而不是DSP,但哈佛架构和乘法累加指令使它们在电机控制或语音频段音频处理等低端应用中足够强大.从技术上讲,由于DSP库是作为源代码提供的,它可能会移植到任何Thumb-2指令集设备,但可能不会被许可用于此类用途.虽然在相同的工作频率下这些比DSP算法上的dsPIC要慢得多(当使用优化的汇编程序库时),但它们在C代码执行时通常更快,但您的里程可能会有所不同,具体取决于代码和应用程​​序.

同样,Atmel为其AVR32提供DSP库.我没有这方面的直接经验,但期望与Cortex m3设备相当的性能.值得注意的是,Atmel的图书馆更为广泛,并且更好地记录了ST的图书馆.

如果你想要一个不是纯DSP的更快的东西,考虑一下Renesas的SH-2器件,每兆赫2 MIPS令人惊讶,在许多不是专用DSP的应用中都不是问题,有些部件在任何情况下都有DSP扩展.供应商再次提供优化的DSP库.

除了这些"通用型DSP功能"设备之外,您当然可以选择真正的DSP.TI生产从低端到高端的各种此类器件.然而,根据我的经验,由于TI对其开发工具的高额费用,开发成本很高,许多部分对片上外设有点不足.

[更新23 Apri l2012] 新的STM32F4xx器件基于Cortex-M4,因此包括DSP和浮点硬件.它们具有与Cortex-M3基本STM32F1xx/F2xx部件相同的DSP库API,但使用DSP内核可获得更好的性能.