-
SONAR (Sound Of Navigation And Ranging, 음파탐지기) 구현 - 003사이드 프로젝트 2026. 4. 12. 16:40
이전 글에서 얘기했듯 발생한 신호와 녹음된 신호를 이용해 물체와의 거리를 계산하기 위해서는 두 신호 간 상관관계를 먼저 계산해야 한다.corr = np.correlate(recording, signal, mode='full')은 신호와 녹음된 값들 사이의 correlation(상과관계) 를 계산하는 것이다. signal = [s0, s1, s2]recording = [r0, r1, r2, r3, r4]일때, np.correlate(recording, signal, mode='full') 는 아래와 같이 계산된다.corr 인덱스사용되는 recording사용되는 signalcorr 값0r0s2r0 * s21r0, r1s1, s2r0s1 + r1s22r0, r1, r2s0, s1, s2r0s0 + r1s1 +..
-
SONAR (Sound Of Navigation And Ranging, 음파탐지기) 구현 - 002사이드 프로젝트 2026. 4. 12. 15:09
코드가 길지 않으니 한줄씩 살펴보겠다.import matplotlib.pyplot as pltimport numpy as npfrom scipy.signal import chirpimport sounddevice as sdmatplotlib, numpy 는 설명할 필요 없을것 같고, chirp 는 scipy 안의 signal 이라는 신호처리용 라이브러리의 chirp를 사용한다.그리고 sounddevice 는 소리 관련 장치를 사용하기 위한 라이브러리이다.fs = 44100t = np.linspace(0, 0.02, int(fs*0.02)) # 20ms# chirp 생성 (100Hz → 8kHz)signal = chirp(t, f0=100, f1=8000, t1=0.02)fs 는 sampling rate..
-
SONAR (Sound Of Navigation And Ranging, 음파탐지기) 구현 - 001사이드 프로젝트 2026. 4. 11. 22:43
밑도 끝도 없지만, SONAR 를 구현해 보려 한다. 내 나름의 이유는 있지만 그걸 구구절절 설명할 필요는 없으니, 바로 본론으로 들어가겠다. 블로그 글은 구현하면서 막혔던 모든 문제를 기록하는 용도로 사용하려고 한다. chatgpt, claude 등의 AI 의 도움을 받을 예정이다.코드는 https://github.com/kstkcy/my-sonar 에 업로드하고 관리할 것이다.import numpy as npfrom scipy.signal import chirpimport sounddevice as sdfs = 44100t = np.linspace(0, 0.02, int(fs*0.02)) # 20ms# chirp 생성 (100Hz → 8kHz)signal = chirp(t, f0=100, f1=80..
-
고치고 싶은 습관생각 2022. 10. 7. 13:29
고치고 싶은 습관들이 있다.지금 당장 생각나는 것은 아래의 두 가지이다. 나는 잠깐이라도 시간이 나면 십중팔구 둘 중 한가지 행동을 한다. 1. 손으로 얼굴에 난 털 뽑기2. 무의식적으로 핸드폰 하기 위 두 습관을 고치기 위해서는 어떻게 해야 할까.개리 마커스가 쓴 책의 제목이기도 한 "클루지 (Kluge)" 라는 개념이 있다. 불나방은 과거에 생존에 유리하여 빛을 향해 날아가도록 진화했지만 현대의 도시에서 이 행동은 가로등에 갇혀 죽는 결과만을 낳는다. 한가지 예시로 간단하게 설명하면 이것이 바로 클루지이다. 이는 인간에게도 적용되어, 클루지를 인식하고 바꾸는 것이 현대 사회에서 더 나은 인간으로 나아갈 수 있는 방법 중 하나라고 역행자라는 책에서 자청은 얘기한다. 1. 손으로 얼굴에 난 털 뽑기1번..