Math (3) 썸네일형 리스트형 센서 노이즈 제거 (low-pass filter, kalman filter) 속도나 가속도 센서 등에서 데이터를 처음 읽어보면 생각보다 노이즈가 많은 것에 놀라곤 한다. 어쩌겠는가? 그 데이터라도 들어오는 것을 감사하고 써야지. 그래도 센서값을 잘 보면, 전체적인 경향성은 잘 맞는 것 같다. 노이즈를 제거하고 나면 꽤 쓸만할 것 같다는 생각이 든다. 자, 그럼 노이즈를 제거하는 예제를 하나 만들어보자. 가속도값에서 노이즈를 제거하는 예제를 만들건데,예제를 보기 전에 일반적인 내용부터 한번 보자. 먼저, 보통 노이즈를 줄인다고 하면 아래와 같은 방법을 사용한다. 1) 저역통과 필터 (Low-pass Filter)가장 간단하고 많이 쓰는 방법예: 1차 IIR 필터alpha = 0.1 # 0~1 사이 값 (작을수록 부드러움)filtered_accel = alpha * measur.. 한 점에서부터 곡선까지의 최단거리 한 점과 곡선까지의 최단거리를 구해보자. 일단 귀찮으니 쳇지피티에게 물어보고 시작하자. 그리고 알려준 예제 코드는 아래와 같다. import numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import minimize# 점과 곡선 정의point = np.array([2, 3])def curve(x): return x ** 2# 거리 함수 정의def distance(x): return np.sqrt((x - point[0]) ** 2 + (curve(x) - point[1]) ** 2)# 최단 거리의 x 좌표 찾기result = minimize(distance, 0)nearest_x = result.x[0]nearest_point .. 평면에서의 좌표 회전 vs 좌표축 회전(Rotation) 평면에서의 회전은 2가지가 있다. 좌표 회전(점회전)과 좌표축 회전(축회전)이다. 좌표 회전(점회전)이라는 것은 평면 상의 한 점을 일정 각도만큼 회전하는 것이고, 좌표축 회전(축회전)이라는 것은 평면을 구성하는 x축, y축 자체를 회전시키는 것이다. 이게 은근히 헷갈린다. 일단 쳇지피티에게 한번 물어보자. 가장 많이 들었던 회전변환 공식이 나왔다. cos -sin; sin cos 형태. 쳇지피티에게 그림을 그려서 설명해달라고 하면 아래처럼 그림도 잘 그려준다. 점 (1,0)을 원점을 기준으로 30도 회전하면 (0.87, 0.5)로 이동한 다는 것은 생각해보면 이해할 수 있다. 아, 회전시 보통 기준은 x축을 기준으로 하고, CCW 방향을 +방향으로의 회전으로 한다. 자 이제 앞에서 말했던 좌표.. 이전 1 다음