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