arm_add_q15関数 |
2つの配列の各要素を加算する |
関数のソース(CMSIS 2.0以上をダウンロード・インストールする必要あり) CMSIS_2_00\CMSIS\DSP_Lib\Source\Cortex-M4-M3\BasicMathFunctions\arm_add_q15.c サンプルソース(DFFSKN40基板付属CD-ROMに収録) IARprojects\src\projects\arm_add 引数と戻り値 説明(イメージ) 使用例(サンプルソースの一部)
実験 上記のサンプルソースをDFFSKN40基板(デジタルフィルター社)にて実験した。Cortex-M4マイコンはPK40X256VMD100(Kinetis, フリースケール社)搭載。演算結果をLCDに16進数で表示している。 下の写真はn = 0のとき。 a[0] = 10,000, b[0] = 20,000なので、 10進数で: 10,000 + 20,000 = 30,000 = c[0] 16進数で: 0x 7530 下の写真はn = 1のとき。 a[1] = -12,345, b[1] = 22,222なので、 10進数で: -12,345 + 22,222 = 9,877 = c[1] 16進数で: 0x 2695 下の写真はn = 2のとき。 a[2] = -10,000, b[2] = -13,579なので、 10進数で: -10,000 + (-13,579) = -23,579 = c[2] 16進数で: 0x A3E5 下の写真はn = 3のとき。 a[3] = -30,000, b[3] = -10,000なので、 10進数で: -30,000 + (-10,000) = -40,000 ←Q15の範囲を超えている。 この場合、負の最大値で飽和させる。-32,768 = c[3] 16進数で: 0x 8000 |