본문 바로가기

필터

(16)
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차 디지털 Band Pass, Band Stop 필터 2017. 1. 11. 08:00 요즘 필터 연재를 진행중이네요. 이제 이 글이 발행되고 나면 남은 글은 두 개?^^ 오늘은 2차 디지털 Band Pass Filter와 Notch 필터로 알려진 Band Stop Filter인데요. 근데 연재를 처음 시작하기 전에 Python에서 Filter를 어떻게 다룰것인가라는 생각에 정리했던 글이 이미 있답니다. Band Pass Filter[바로가기], Band Stop Filter[바로가기]. 그 글에서 이미 다루었던 내용을 하나로 합치고, 연재의 전체 흐름에 맞게 살짝꿍 조절만하는 것이 이번 글이 되겠네요^^ Filter [필터연재] 1차 디지털 저역/고역 통과필터 Filter [필터연재] 2차 디지털 저역/고역 통과필터 Filter [필터연재] 2차 디지털 Band Pass, Band Sto..
[필터연재] 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으로 구현해 보는 Band Stop Filter 2016. 9. 22. 08:00 어쩌다 보니 Python으로 필터를 구현하는 법에 대해 꽤 많은 글을 적고 있네요^^. 그 시작은 아마, 1차 저역 통과 필터(1st order Low Pass Filter)[바로가기]일겁니다. 그리고 1차 고역통과필터(1st order High Pass Filter)[바로가기]를 이야기했구요. 그리고 나서 2차 Band Pass Filter[바로가기]를 이야기했습니다. 그러나 이제 Band Stop Filter로 오는건 당연한 일이겠죠^^. 특정한 Band만 저지(stop)하는 필터로 Notch라고 불리기도 합니다. 연속시간 영역에서의 Band Stop Filter 먼저연속시간 영역에서 s-domain으로 표현된 Band Stop Filter는 위 식과 같이 표현됩니다.stop시킬 구간의 peak를 f..
Python으로 구현해보는 Band Pass Filter 2016. 9. 8. 08:00 MATLAB에서 보통 많이 하는 필터 설계나 확인을 Python으로도 할 수 있다는 걸 살짝 보여줄려고 시작한 글이 이제 세 번째네요. 처음 1차 저역통과필터[바로가기]였구요. 그 다음 1차 고역통과필터[바로가기]였습니다. 이제 이번에는 Band Pass Filter를 이야기할려고 합니다. 연속시간 영역에서의 Band Pass Filter 연속시간 영역의 s-domain에서 표현된 Band Pass Filter는와 같이 2차로 나타납니다. 그 중에서 분자(num)에 s 일차항이 있으면 band pass입니다. 여러가지 접근법이 있지만, 위 수식처럼 표현하는 방법이 그 중 하나입니다.Band pass filter의 경우 cut-off frequency라고 하지 않고, 통과시킬 band의 폭의 가운데를 pe..
Python으로 구현해 보는 디지털 저역통과필터 (1차 Low Pass Filter) 2016. 8. 26. 08:00 1차 필터는 생각보다 블로그에서 많이 다루었더라구요^^. 처음 1차 저역/고역 통과필터를 C로 구현하는 방법에 대한 이야기[바로가기]때 부터 MATLAB[바로가기]뿐만 아나라 Python에서도 어떻게 구현할 것인지 이야기[바로가기]했지요. 심지어 전 엑셀에서 저역통과필터를 구현하는 것도 이야기[바로가기]를 했던 적이 있습니다.^^. 오늘은 그 대상이 Python입니다만, 실제로는 디지털 필터를 어떻게 구현할 것인지를 한 번 정리하는 것을 목적으로 합니다. 일단 1차 저역통과필터를 대상으로 차단주파수를 결정했을 때, 어떻게 디지털 필터로 변환하며 또 어떻게 실제 코드로 구현할 것인지를 보는 것이 목적입니다.^^. 연속시간 영역에서의 1차 저역통과필터 앞 선 필터 관련 글들에서도 참 자주 나온 수식이지만, ..
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차 저역통과필터를 코드로 간편히 보여준 것이구요. 이제 시작해보죠^^..

반응형