arm_fir_init_q15関数
FIR(Finite Impulse Response)フィルタのインスタンスの初期化

関数のソース(CMSIS 2.0以上をダウンロード・インストールする必要あり)
CMSIS_2_00\CMSIS\DSP_Lib\Source\Cortex-M4-M3\FilteringFunctions\arm_fir_init_q15.c

サンプルソース(DFFSKN40基板付属CD-ROMに収録)
IARprojects\src\projects\arm_fir

引数と戻り値


説明(注意点)
pCoeff(係数の配列), pState(遅延素子の配列)のアドレスがインスタンスに渡される。
pStateの各要素が0に初期化される。
numTapは4以上かつ偶数。それ以外だとエラーになる。
pStateの要素数はnumTaps + blockSize - 1にする。

使用例(サンプルソースの一部)

#define numTaps 90
q15_t firCoeff [] = {
-11, -4, -3, 0, 3, 10, 19, 31,
44, 59, 74, 88, 99, 107, 108, 101,
85, 60, 24, -21, -75, -136, -199, -260,
-316, -360, -386, -391, -367, -312, -222, -95,
66, 261, 486, 734, 998, 1269, 1537, 1792,
2023, 2221, 2378, 2486, 2541, 2541, 2486, 2378,
2221, 2023, 1792, 1537, 1269, 998, 734, 486,
261, 66, -95, -222, -312, -367, -391, -386,
-360, -316, -260, -199, -136, -75, -21, 24,
60, 85, 101, 108, 107, 99, 88, 74,
59, 44, 31, 19, 10, 3, 0, -3,
-4, -11 };
q15_t firStateL[numTaps];
q15_t firStateR[numTaps];
arm_fir_instance_q15 firInstanceL;
arm_fir_instance_q15 firInstanceR;

 : 中略

arm_fir_init_q15(&firInstanceL, numTaps, firCoeff, firStateL, 1);
arm_fir_init_q15(&firInstanceR, numTaps, firCoeff, firStateR, 1);

ステレオ2chの場合はL/R別インスタンスで宣言し別々に初期化する。

戻る

Top Page