DSP_Lib是st官方给st系列单片机提供的dsp库,用来替换c标准库一些常用函数,比如sin,cos....,当然也加入了很多其他的算法,fft,pid等等
dsp_lib不仅仅能够更好利用stm32F4系列自动的fpu,带来更好的计算性能,同时也在函数的执行更适合单片机使用,包括没有fpu的f1系列。
先看看st给提供的4个库
上面是路径,下面就是四个库了
注意这里选用哪一个,后面的后缀有说明
b后缀表示大端模式,l表示小端模式
f表示浮点运算,没有f表示定点运算,也就是整数。
dsp_lib库是提供源码的,并且带有例程
进入source目录
可以看到包含挺多函数模块的
基本数学函数,复数运算,控制系列函数,快速数学函数,滤波函数等等
在例程中包含了他们的用法。
如何使用
可以直接包含源码文件,这样显然比较麻烦,因此可以编译成库,st为了方便已经编译好了,就是最上面的那些,我们可以直接使用,并且里面包含了所有的函数
头文件arm_math.h 在include目录里面。
因此包含一个头文件,一个lib库。keil会自动链接你所使用的函数,其他的并不会包含到最后的hex文件里面,为了减少hex文件的大小。
在建立工程并且包含上述文件后,最后还有一步,告诉编译器,你要使用fpu和arm-math库。因此加上宏定义,(在)
__FPU_PRESENT,__FPU_USED,ARM_MATH_CM4
试试吧,根据官方实测,fft那是相当的快
|