常见问答
- M051 系列(95)
- M0518 系列(97)
- M0519 系列(43)
- M0564 系列(1)
- Mini51 系列(90)
- Nano100 / 102 系列(101)
- Nano103 Base 系列(10)
- Nano110 / 112 LCD 系列(100)
- Nano120 USB 系列(111)
- Nano130 USB+LCD 系列(110)
- NUC029 系列(94)
- NUC100 / 200 系列(102)
- NUC120 / 122 / 123 / 220 USB 系列(116)
- NUC121/125 系列(1)
- NUC126 USB 系列(2)
- NUC130 / 230 CAN 系列(103)
- NUC131/NUC1311 CAN 系列(98)
- NUC140 / 240 USB+CAN 系列(114)
- M451 Base 系列(118)
- M451M 系列(117)
- M452 USB 系列(130)
- M4521 USB 系列(1)
- M453 CAN 系列(128)
- M463 CAN FD/USB HS 系列(1)
- M467 Ethernet/Crypto 系列(1)
- M471 系列(1)
- M479 Motor Control Series(1)
- M481 Base 系列(4)
- M482 USB FS OTG 系列(4)
- M483 CAN 系列(4)
- M484 USB HS OTG 系列(4)
- M485 Crypto 系列(4)
- M487 Ethernet 系列(4)
- M4TK 触摸 IC 系列(25)
- NUC442 / 472 系列(130)
- NUC472 Series(1)
- NUC505 系列(138)
产品
功能
+
常见问答
如何使用NuMicro® M4的DSP功能做频谱分析? 日期:2017-02-02
- 详细范例程序可以参考以下链接: http://www.nuvoton.com/hq/resource-download.jsp?tp_GUID=EC0120160922110158
- 开启DSP功能:
1. 进入Keil后选择Target Options,切换至C/C++窗口,Define输入ARM_MATH_CM4=1。

2. 在Library部分需要加入arm_cortexM4lf_math.lib,其位置为\Library\CMSIS\Lib\ARM。
3. 在主程序里面include arm_math.h文件,完成后即可在主程序里面调用DSP函数库。
- 首先欲计算的数据格式偶数项为实数,奇数项为虚数,例如1+0.5i, 2+4i, 3+2i=>testinput={1, 0.5, 2, 4, 3, 2},FFTsize=3。
- 再来调用函数arm_cfft_radix4_init_f32(&S, fftSize, ifftFlag, doBitReverse)对快速傅立叶运算做初始设定,包括运算的数值个数,要进行快速傅立叶或反快速傅立叶变换。
- 调用函数arm_cfft_radix4_f32(&S, testinput)进行快速傅立叶变换运算,并把运算结果存在数组testinput,其运算结果为复数。
- 对复数取绝对值得到各频率强度大小,并输出结果到Output,由于结果为左右对称,因此计算量为fftSize/2, arm_cmplx_mag_f32(testinput, Output, fftSize/2)。
- 得到各频率强度后即为y轴数据,再来计算x轴各频率方程式为:
频率=(第几个数×取样频率)/FFT样本数 。 - 把计算结果值作图如下,即可得到此信号最高频率约为1 kHz。
产品: | 微控制器 ,Arm Cortex-M4 微控制器 ,M451 Base 系列 ,M451M 系列 ,M452 USB 系列 ,M453 CAN 系列 ,M4TK 触摸 IC 系列 ,NUC442 / 472 系列 ,NUC505 系列 |
---|---|
应用: | |
功能: | Peripherals,ARM,DSP,FPU,Connectivity,I2C |