본문 바로가기

python

(170)
데이터 과학? 나도나도 시작해보자... Anaconda로 Python 설치하기 2016. 10. 11. 08:00 요즘 데이터 과학이 이슈죠? 그래서 살짝 시작해볼려고 합니다. 데이터 과학^^. 뭐 언어는 Python으로~ Python은 설치와 유지보수가 살짝 까다로우니 배우는 단계에서는 한 번 이야기한 적이 있는 아나콘다(anaconda)로 할려고 합니다. 예전과 달라진 부분이 있어서 살짝꿍 다시 이야기할려구요~. 이번은 좀 길게 보고가는 연재입니다. 데이터 과학 이야기를 할려구요. 그런데... 저처럼 Python도, 수학적 지식도, 이론도 (데이터 과학분야에서는) 잘 모르는 분들을 대상으로 (당장 저도 모르니까요^^) 시작합니다. 데이터 과학이 이런거구나... 하는 개념입니다. 그래서 도구로 Python을 사용할려는 겁니다. 이제 연재를 시작해볼까요~~^^일단... 아나콘다라는 아이로 Python을 설치하고자 합..
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차 고역통과필터 2016. 9. 1. 08:00 Python에서 구현해 보는 1차 저역통과필터[바로가기]를 이야기했었는데요. 제가 블로그에서 저역통과필터는 많이 이야기했지만, 고역통과필터는 그에 반해 별이야기를 안했더군요. 사실 일반적으로는 신호의 노이즈 등을 제거하는 용도로 저역통과필터를 많이 사용하기 때문에 상대적으로 고역통과필터는 좀 들 다뤄지긴 한듯 합니다. 그래서 이번에는 1차 고역통과필터를 Python에서 구현하는 방법에 대해 이야기를 하겠습니다. 그런데 많은 내용이 지난번 글[바로가기]과 꽤 겹칩니다.^^ 연속시간 영역에서의 1차 고역통과필터 사실 저역과 고역통과필터는 꽤 닮았습니다. 1차 고역통과필터의 라플라스 표현은입니다. 여기서 tau를 구하는 방법은에서를 이용하면 차단주파수를 결정하고 난 후 tau를 구할 수 있습니다.만약 100H..
2차계 시스템의 응답 특성 간편히 확인해 보기 2016. 8. 29. 08:00 이제 더위도 지나가려는 것 같습니다.(이 글을 쓰고 있는 시점에서는 비도오고 선선하네요^^) 저는 최근 예전에 배웠던 것들을 다시 확인하고 있는데요. 의외로 아주 재미있습니다.^^. 오늘은 2차계 시스템의 응답특성의 원리와 개념 등등 말고^^ 그냥 결과만 간략하게 정리를 해볼까 합니다. 뭐 전 그게 좋아용^^궤환 시스템 중에서 2차 궤환시스템의 블럭 선도입니다. 심플하죠^^입력과 출력을 s-domain에서 표현하면 위 수식처럼 될 것입니다.2차계의 표준형으로 표현될 수도 있습니다.^^여기에 입력을 단위계단을 넣으면 시스템의 단위계단 응답 특성을 알 수 있습니다.R(s)에 대입해서 정리하면 위와 같이 되겠죠...그걸 라플라스 역변환을 하면 위와 같이 됩니다. 저 식을 MATLAB이나 Python으로 그려보..
Python으로 구현해 보는 디지털 저역통과필터 (1차 Low Pass Filter) 2016. 8. 26. 08:00 1차 필터는 생각보다 블로그에서 많이 다루었더라구요^^. 처음 1차 저역/고역 통과필터를 C로 구현하는 방법에 대한 이야기[바로가기]때 부터 MATLAB[바로가기]뿐만 아나라 Python에서도 어떻게 구현할 것인지 이야기[바로가기]했지요. 심지어 전 엑셀에서 저역통과필터를 구현하는 것도 이야기[바로가기]를 했던 적이 있습니다.^^. 오늘은 그 대상이 Python입니다만, 실제로는 디지털 필터를 어떻게 구현할 것인지를 한 번 정리하는 것을 목적으로 합니다. 일단 1차 저역통과필터를 대상으로 차단주파수를 결정했을 때, 어떻게 디지털 필터로 변환하며 또 어떻게 실제 코드로 구현할 것인지를 보는 것이 목적입니다.^^. 연속시간 영역에서의 1차 저역통과필터 앞 선 필터 관련 글들에서도 참 자주 나온 수식이지만, ..
Python에서 보드 선도 Bode Plot 그려보고 그래프 있는 척 치장하기^^ 2016. 8. 24. 08:00 얼마전에 보드선도를 그리는 것에 대한 기초를 이야기[바로바기] 했었는데요. 그 때 그 글에서 보여주었던 예쁘장한(^^) 그래프는 Python에서 그렸었습니다. 오늘은 Bode 선도를 Python에서 어떻게 그리는가와 그 때 그 글에서처럼 그래프로 표현을 어떻게 하는가를 이야기할까 합니다.^^ import numpy as np from scipy import signal import matplotlib.pyplot as plt 일단 수치연산에서는 뭐 필수라고 하는 numpy와 그래프 표현에 필요한 matplotlib를 import하구요. 추가로 scipy의 signal을 import 하도록 하겠습니다. 그리고, 나서 s1 = signal.lti([1], [1, 1]) w, mag, phase = signa..
IPython Notebook에서 Markdown 사용하기... 2016. 8. 19. 08:00 IPython 이야기를 꺼낸게 벌써 1년이 넘었네요... [바로가기] 그 때는 참 설치하는 과정이 재미있기도 했습니다^^. 그러다가.. Anaconda를 이용해서 설치하면 매우 편하다는 이야기도 드렸었죠^^[바로가기] 그런데... 편한 IPython Notebook에 더 편한 Markdown이라는 기능이 있습니다. 저는 주로 매우 자세한 주석을 처리할 때 사용하는데요. 이를 보관하기도 편하며, 소스코드의 원리를 저장할 때도 매우 편하답니다.^^ 그런데 이 Markdown 중에서도 확장 기능을 사용하기 위해 뭘 하나 설치하도록 하죠^^[바로가기]에 가면 안내해주는 데로 깔끔하게 설치를 시작합니다. 그러고 보면 확장팩의 설치는 Python의 경우 참 편한것 같습니다.^^그리고 IPython 혹은 Jupyte..

반응형