CMSIS FIR 필터 함수를 이전 예제인 Low Pass Filter가 아닌 9.5~10.5KHz Band Pass Filter로 만들어서 Frequency Bin Example의 데이터에 적용해봤습니다. CMSIS FIR 인스턴스는 arm_fir_init_f32 함수를 사용하여 초기화할 때 입력한 필터 계수에 따라 다중 Band Pass Filter(BPF)를 포함한 여러가지 필터로 동작할 수 있습니다. 전 허용 주파수로 9.5~10.5KHz를 갖는 BPF를 만들기 위해 아래와 같은 매트랩 코드를 사용했습니다.
이것을 배열로 만들어 arm_fir_init_f32 함수의 pCoeffs 매개변수에 입력해 주면 됩니다. 그리고 Frequency Bin Example에서 FFT를 수행하기 전에 arm_fir_f32 함수를 사용하여 필터링한 결과입니다. 비교를 위해 원래 예제의 FFT 결과를 우측 상단에 추가했습니다.
허용 주파수를 9.99~10.01KHz로 해도 결과는 똑같았습니다. arm_fir_init_f32 함수의 numTaps 매개변수를 조절하여 필터의 차수를 높이면 더 정밀한 BPF 만들 수 있지 않을까 생각해 봤지만, 시도는 해보지 않았습니다.
'CMSIS DSP' 카테고리의 다른 글
CMSIS DSP 맛보기 목차 (0) | 2018.04.10 |
---|---|
자체 개발 BPF 함수와 CMSIS BPF 함수 속도 비교 (0) | 2018.04.09 |
FIR Lowpass Filter Example (0) | 2018.04.09 |
자체 개발한 Digital Band Pass Filter 함수 (0) | 2018.04.09 |
샘플링 주파수를 감소시켰을 때 Frequency Bin Example (0) | 2018.04.09 |