반응형

NumPy 4

[09] 푸리에 변환(DFT/FFT): 시간에서 주파수로, 물리적 의미의 재해석

들어가며지금까지 Part 1을 통해 아날로그 신호가 시간(샘플링)과 진폭(양자화) 측면에서 어떻게 디지털로 변환되는지 그 근간을 살펴보았습니다. 아날로그가 0과 1의 세계로 들어오는 관문을 통과했으니, 이제 그 디지털 데이터를 본격적으로 다루어 볼 차례입니다.피아노 건반 앞에 앉아 도·미·솔 화음을 칩니다. 귀에는 하나의 소리로 들리지만, 그 소리 속에는 분명히 세 개의 음이 녹아 있습니다. 사람의 청각은 복잡하게 뒤섞인 신호에서 각각의 주파수 성분을 자연스럽게 분리해 냅니다. 푸리에 변환(Fourier Transform)은 바로 이 능력을 수학적으로 구현한 도구입니다.이번 글에서는 신호 처리의 꽃이자, 시간 영역의 신호를 주파수 영역으로 분해하여 물리적 의미를 재해석하는 핵심 이론인 푸리에 변환(Fou..

[05] 디지털 신호의 기초: 기본 파형 생성 및 시각화

들어가며지난 글에서 우리는 10Hz 사인파를 만들어보며 디지털 신호의 6가지 핵심 파라미터를 배웠습니다. 하지만 실제 세계의 소리와 영상은 단순한 사인파가 아닙니다. 피아노 건반을 누를 때 나는 소리, 사각형 펄스로 동작하는 디지털 회로, 복잡하게 얽힌 음악 신호까지, 모든 것은 다양한 파형의 조합입니다.이번 시간에는 이 파라미터들을 활용해 DSP에서 가장 기본이 되는 파형 사인파(Sine Wave), 코사인파(Cosine Wave), 구형파(Square Wave), 삼각파(Triangle Wave), 톱니파(Sawtooth Wave)를 직접 생성해 보겠습니다. 단순히 하나를 그리는 것에 그치지 않고, 서로 다른 주파수의 신호를 합쳤을 때 어떤 변화가 일어나는지도 함께 확인해 보며 신호의 합성(Synth..

[04] Python 신호 처리 생태계: 기초 파라미터 이해와 첫 번째 신호 생성

들어가며실험실 구축을 마쳤다면, 이제 본격적으로 디지털 신호라는 재료를 다뤄볼 시간입니다. 우리가 일상에서 듣는 소리나 보는 영상은 모두 연속적인 아날로그 형태이지만, 컴퓨터가 이를 처리하기 위해서는 일정한 규칙에 따라 '숫자의 나열'로 변환해야 합니다. 이번 글에서는 신호 생성의 가장 기본이 되는 파라미터를 이해하고, Python 코드로 우리의 첫 번째 디지털 신호를 만들어 보겠습니다. 1. Python 신호 처리 생태계 과거 DSP는 C/C++ 또는 MATLAB으로 구현하고 결과를 확인했습니다. 하지만 현재는 Python으로 대체하고 있으며, 신호처리를 위해 주로 사용하게 될 도구는 아래와 같이 3가지로 정리할 수 있습니다.NumPy: 모든 신호를 저장하는 메모리(배열)와 빠른 벡터연산을 지원합니다...

[03] 환경 설정: Anaconda, VS Code 및 필수 라이브러리 구축

들어가며: Python을 이용하여 DSP 이론을 실습하기 전에 개발 환경을 구축합시다.지난 글에서 우리는 왜 현대 AI 시스템에서 DSP가 다시 중요해졌는지 살펴보았습니다. 이제부터 실제로 실험해 볼 차례입니다.우리가 DSP 알고리즘을 설계하고 그 결과를 투영해 보기 위해서는 안정적인 실험실이 필요합니다. 이번 글에서는 가장 표준적이면서도 강력한 도구인 Anaconda와 Visual Studio Code(VS Code)를 이용해 Python 개발 환경을 구축해 보겠습니다. 1. Anaconda 설치 및 가상 환경 생성DSP 작업은 다양한 라이브러리의 조합으로 이루어집니다. 때로는 특정 라이브러리의 버전 충돌로 인해 공들여 만든 코드가 작동하지 않기도 합니다. Anaconda를 사용하는 이유는 바로 전용 ..

반응형