High pass(하이 패스) 필터를 c코드로 구현해보록 하겠습니다.
0. High pass filter(고역통과 필터) 란
- 주파수 도메인에서 저주파 성분을 제거하고자 할때 사용
1. 라플라스 도메인에서의 High pass filter 형태
ω_c (Cut off frequency) : 필터가 작동하는 기준 주파수, -3db가 되는 시점
Cut off frequency보다 낮은 주파수 대역의 입력은 해당 필터를 지나서 절반 이하의 출력을 내보냄
- ω_c = 2*π*f_c
** f_c : high pass filter를 치고 싶은 기준 주파수
2. 타임 도메인에서의 Low pass filter 형태
라플라스 도메인에서 입력과 출력을 함께 표시해 보았다.
수식적으로 보면 아래와 같음
s는 타임도메인에서 미분텀이기 때문에 s에 미분 인자 대입
타임도메인에서 수식을 다시 정리하면 다음과 같다.
이 수식을 y_k에 대해 정리하면 아래와 같다.
3. C 코딩
위 타임 도메인에서의 필터 형태를 그대로 코드로 옮기면 됨
coeff_a = 1 / (1 + wc * T_s);
lpf_y = coeff_a * lpf_y_ex + coeff_a * (input_x - input_x_ex) ;
lpf_y_ex = lpf_y ;
input_x_ex = input_x ;
'공학' 카테고리의 다른 글
Low pass(로우 패스) 필터 - 라플라스 도메인, 타임 도메인, C코딩 (0) | 2024.05.20 |
---|---|
제어 공학 튜토리얼 : Control Tutorials - Introduction system modeling (동적 시스템이란?, 상태공간표현식?(State-Space Representation) (0) | 2024.04.16 |
임베디드 소프트웨어 컴파일러란?obj, asm (5) | 2024.04.15 |