본문 바로가기

LPF

(9)
Python class로 만드는 1차 저역통과필터 Low Pass Filter 2021. 3. 19. 08:00 디지털 필터에 대해서는 예전에 많이 다루었는데요. 당시에 다룰때는 간단히 Python의 함수(def)를 사용해서 많이 다루었습니다. 이번에는 class를 이용해서 조금 사용성을 높인 코드를 보여드리는 것이 어떨까하고 글을 작성합니다. 일단 1차 저역통과필터는 예전에 소개한 글에서 수식을 가져오겠습니다. 저 식을 코드로 단순 변환 시켜보면 out = (tau * pre_out + ts * data) / (tau + ts) 입니다. 수식에서 분모가 같으니 tau + ts는 빼서 보면 저렇게 되죠. 문제는 pre_out입니다. 현재 출력값 out, 수식에서는 yn의 이전 값이거든요. 그래서 저 코드가 실행된 직후 현재 출력을 별도로 저장해야 합니다. 만약 class를 사용하지 않는다면, 1차 저역통과필터가 필..
[필터연재] 2차 디지털 저역/고역 통과필터 2017. 1. 6. 08:00 1차 저역/고역 통과필터를 디지털로 구현하는 것에 대해 지난번[바로가기]에 이야기를 했었습니다. 저는 거의 대부분의 잡음 제거용 필터는 1차만 사용을 하게 되더군요. 그런데 지금은 연재~^^이니 또 다음으로 Band Pass와 Band Stop 필터도 다룰거라~ 의미상 2차 저역/고역 통과필터도 다룰려고 합니다.^^ Filter [필터연재] 1차 디지털 저역/고역 통과필터 Filter [필터연재] 2차 디지털 저역/고역 통과필터 Filter [필터연재] 2차 디지털 Band Pass, Band Stop 필터 일단...Cut-off 차단 주파수를 결정했다고 하면~각 주파수를 계산하게 되죠^^2차는 공진(resonant point)점이 있기 때문에 그 부분을 조절하는 Quality Factor라는 것을 사용..
[필터연재] 1차 디지털 저역/고역 통과필터 2017. 1. 5. 12:16 전 아주 예전부터 제 블로그에 필터에 관한 글을 올리고 있었습니다. 물론 단편적인 글들이었지만요. 그 중에는 실제 자이로센서와 가속도센서를 융합하는 상보필터[바로가기]를 다루기 시작했고, 그 후 MATLAB이나 Python으로 구현하는 1차 혹은 2차 필터들에 대한 글들을 올렸습니다. 물론 이전에 올린 글들이 많지만, 문득 필터들에 대한 이야기를 1차 저역/고역 통과필터, 2차 필터, Band Pass, Band Stop 필터등등에 대해 한 번 쫘~악 정리하고 싶어지더라구요. 그래서 이런 것들을 정리할 겸 필터를 대상으로 연재를 시작할까 합니다.^^ Filter [필터연재] 1차 디지털 저역/고역 통과필터 Filter [필터연재] 2차 디지털 저역/고역 통과필터 Filter [필터연재] 2차 디지털 Ba..
Python으로 구현해 보는 디지털 저역통과필터 (1차 Low Pass Filter) 2016. 8. 26. 08:00 1차 필터는 생각보다 블로그에서 많이 다루었더라구요^^. 처음 1차 저역/고역 통과필터를 C로 구현하는 방법에 대한 이야기[바로가기]때 부터 MATLAB[바로가기]뿐만 아나라 Python에서도 어떻게 구현할 것인지 이야기[바로가기]했지요. 심지어 전 엑셀에서 저역통과필터를 구현하는 것도 이야기[바로가기]를 했던 적이 있습니다.^^. 오늘은 그 대상이 Python입니다만, 실제로는 디지털 필터를 어떻게 구현할 것인지를 한 번 정리하는 것을 목적으로 합니다. 일단 1차 저역통과필터를 대상으로 차단주파수를 결정했을 때, 어떻게 디지털 필터로 변환하며 또 어떻게 실제 코드로 구현할 것인지를 보는 것이 목적입니다.^^. 연속시간 영역에서의 1차 저역통과필터 앞 선 필터 관련 글들에서도 참 자주 나온 수식이지만, ..
간단히 MATLAB을 이용하여 체비세프 ChebyShev 저역통과 필터 구현해보기 2015. 6. 19. 07:00 사실... 저역통과필터는 뭐 원체 많이들 사용하고 있는거라 어려울게 없습니다만.... 그걸 저는 또 구지~~~ C Code로 구현하는 것에 대해 한 번 다룬적[바로가기]이 있었죠... 그리고는 그걸 다시 Python으로 구현하는 법을 이야기[바로가기]를 했구요. 또.. MATLAB으로 구현하는 것도 각각 FFT까지 수행해 가면서 다루었지요.[바로가기] 심지어는 엑셀에서 구현하는 방법마저도... 또 다루었습니다^^[바로가기] 이제 끝나나 하셨겠지만~~~^^ 이번에는 ChebyShev 체비세프 저역통과필터를 한 번 이야기해볼려고 합니다. 이 글을 쓰는 카테고리가 Program Language로... MATLAB에서 그냥 간편히 빠르게 어떻게 구현할 것인가가 목적입니다. 그러니 뭐 유도과정 원리... 등등의 ..
MATLAB에서 1차 저역통과필터를 구현해보자 2015. 6. 11. 07:00 앗... 무쟈게 바쁜(^^) 와중에도 블로그의 스킨을 변경했습니다. ㅎㅎㅎ. 그러나 이전의 글들이 너무 주먹구구식으로 관리가 되다보니... 이전 글들은 틈나는 데로 조금씩 새로운 스킨에 맞게 바꾸어야겠어요....ㅠㅠ. 그래도 반응형 심플한 스킨을 적용해서 좋네요. 좀더 써보고 괜찮으면 결재해야죠^^ (사용 후 지급하는 유료형 스킨이라는..ㅠㅠ 그래도 이쁘니까요^^)오늘은 요근래 좀 이야기했던 저역통과필터 중에서도 가장 간단한 1차 저역통과필터입니다. 이 이야기는 참 오래된 이야기인데요. 아~~~주 예전에 1차 저역통과필터(LPF)를 C로 구현하는 이야기를 먼저 헀거든요. [The Robot/Prog.Lang.] - 저역통과필터와 고역통과필터를 C로 구현 그리고 나서.. 좀 잠잠이 있다가... 그 후에 난..
Python - IPython에서 구현하는 저역통과필터 Low Pass Filter 2015. 5. 15. 07:00 갑자기 요즘에 저역통과필터(LPF)를 자주 다루게 되네요... 아주 예전에 저역통과필터를 C로 간편히 구현하는 법에 대해 다루었었는데요...[The Robot/Prog.Lang.] - 저역통과필터와 고역통과필터를 C로 구현하는 위 글이었죠.. 그리고 불과 몇일전에 이걸 엑셀에서 한 번 해보는 것을 또[The Robot/Prog.Lang.] - 엑셀에서 저역통과필터 (Low Pass Filter) 구현하기다루었죠... 같은 데이터를 이용해서 이번에는 이걸 최근에 세팅한 [The Robot/Prog.Lang.] - Win8에서 IPython Notebook 사용하기IPython 환경에서 살짝 구현해볼까 해용^^위 수식은 이전 글에서 다룬 1차 저역통과필터를 코드로 간편히 보여준 것이구요. 이제 시작해보죠^^..
엑셀에서 저역통과필터 (Low Pass Filter) 구현하기 2015. 5. 12. 07:00 데이터를 분석하다가 보면 여러가지 이유에서 노이즈 성분, 혹은 노이즈 성분으로 취급해도 될 정도로 지저분한 신호가 같이 실려들어올때가 있습니다. 물론 이런 성분이라도 중요하다면 분석을 해야지만, 그렇지 않을 때가 있죠. 이럴때 간편히 저역통과필터(Low Pass Filter)를 사용하면 깔끔합니다. 그 중에서도 상당히 깔끔히 사용할 수 있는 아이가 1차 저역통과필터입니다. 이 아이를 간편히 프로그램으로 구현하는 것을 아주 예전에 한 번 다루었었는데요.[바로가기] 1차 저역통과필터의 라플라스 표현이 위와 같구요... 그걸 discrete하게 표현한 것이위 수식이었습니다. 이걸 아~주 간편히 코드로 구현했던 것이...이렇게 되었네요.^^. 여기서 pre_y는 필터의 이전 결과값이고, x는 그 순간의 필터의 ..

반응형