본문 바로가기

저역통과필터

(7)
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차 저역통과필터가 필..
Python으로 구현해 보는 디지털 저역통과필터 (1차 Low Pass Filter) 2016. 8. 26. 08:00 1차 필터는 생각보다 블로그에서 많이 다루었더라구요^^. 처음 1차 저역/고역 통과필터를 C로 구현하는 방법에 대한 이야기[바로가기]때 부터 MATLAB[바로가기]뿐만 아나라 Python에서도 어떻게 구현할 것인지 이야기[바로가기]했지요. 심지어 전 엑셀에서 저역통과필터를 구현하는 것도 이야기[바로가기]를 했던 적이 있습니다.^^. 오늘은 그 대상이 Python입니다만, 실제로는 디지털 필터를 어떻게 구현할 것인지를 한 번 정리하는 것을 목적으로 합니다. 일단 1차 저역통과필터를 대상으로 차단주파수를 결정했을 때, 어떻게 디지털 필터로 변환하며 또 어떻게 실제 코드로 구현할 것인지를 보는 것이 목적입니다.^^. 연속시간 영역에서의 1차 저역통과필터 앞 선 필터 관련 글들에서도 참 자주 나온 수식이지만, ..
Python을 이용한 위치에서 속도를 구하는 여러가지 방법에 대한 예제 2015. 8. 26. 07:00 엔코더를 데리고 여러가지 작업을 하다보면 엔코더를 이용해서 각도를 구하는 거야 당연한 이야기이지만, 그걸 이용해서 또 속도를 구하게 됩니다. 물론 아날로그적 세계에서야 미분을 하면 속도가 나오지만... 디지털의 세상에서는 그렇지 못하죠. 차분을 수행해야 합니다. 그런데.. 이 차분이 직접 수행해서 속도를 구해보면 살짝 실망하는 경우가 아~주 많습니다. 그건 위치를 측정하는 샘플 시간이 짧거나 ...엔코더의 분해능이 충분하지 않다면 아주아주아주 엄~~~청난 노이즈를 만나게 됩니다.^^ 이번에는 그런 노이즈를 경험하고도 어떻게 속도를 잘~ 구하는지 확인해보도록 하죠~^^ 데이터 준비하기 일단 위의 예제 파일을 받아서 사용하시면 이 글을 따라하실 수 있습니다. import pandas as pd import ..
간단히 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차 저역통과필터를 코드로 간편히 보여준 것이구요. 이제 시작해보죠^^..
저역통과필터와 고역통과필터를 C로 구현 2011. 6. 1. 08:35 오늘은 비가 많이 오네요. 날씨가 좀 꿉꿉합니다.^^. 어제는 제가 입사한지 123일만에 쳤던 대형사고의 마지막 심사인 프리젠테이션 발표를 했습니다. 분명 다친 다리[관련글]의 철심을 제거하는게 예상으로는 지지난주였어야하는데요. 우리의 쿨~한 의사선생님께서 좀 더 있어야겠다... 라는 한마디에 아직도 철심을 제거를 못한채, 휠체어를 타고 대전까지 내려갔었네요.ㅠㅠ 발표하려는 다른 분들도 많아서 차를 건물안에 주차를 못해서 이 무거운 몸이 앉은 휠체어를 같이간 연구원이 끄느라 참... 미안했습니다.ㅠㅠ ... 하여간 이제 심사결과를 기다리는 처지가 되었네요^^. 뭐.. 안되면 다음에 또 하면 되죠.. 클클.. 비오는 오늘은... 흔히들 MATLAB에서 많이들 사용하는 저역통과필터와 고역통과필터를 C로 구현..

반응형