[Personal studies]

[Personal studies] DSP 관련 지식 정리(1)

dyk98 2025. 3. 7. 16:32

우선 내가 지금 만들고자 하는 프로젝트는, 과연 EEG, ECG 의 데이터를 보고 이상치를 탐지를 할수 있는가? 라는 생각에서 나왔다... 아무래도 내가 가지고 관심 있는 분야가 인공지능과 머신러닝을 활용해 의료 데이터를 읽어 내며 진단에 필요한 지식을 reference 혹은 의사들또한 놓칠수 있는 가능성을 탐지 하는것이다. 

 

그를 위해, EEG와 ECG 의 데이터들을 보고 정리해보며, 그럼 이 EEG 와 ECG 데이터를 어떻게 컴퓨터에 맞추어 높은 정확도를 높일수 있게 Machine Learning 아키텍처를 구축할수 있을까? 하다가 이전 내가 일했던 오디오에서 아날로그 신호를 디지털 신호를 탐지및 튜닝을 했던 기억이나 다시 상기도 할겸 관련 정보들을 읽고 정리 해볼까 한다.

 

우선 아날로그 신호란?

아날로그 신호는 시간과 진폭이 연속적으로 변하는 신호로, 시간축과 값 축 모두 연속적인 값을 갖는 신호이다. 예를 들어 우리가 흔히 휴대폰이나 노래부를때 사용하는 마이크로폰 즉 마이크로 얻는 아날로그 오디오 신호 ( 즉 우리들의 말할때 나오는 음파) 는 시간에 따라 연속적으로 변하는 전압으로 표현이 된다. 

 

그럼 이러한 아날로그 신호를 어떻게 컴퓨터나 기계에 인식을 할까?  기존에 있는 음파를 기계에 인식할때, 이 신호 또한 단순 아날로그식의 음파에서 기계가 인식할수 있도록 디지털 신호로 바꾸어야하는데 이를 DSP(Digital Signal Processing)이라고 한다. 이 디지털 신호는 연속적인 아날로그 신호를 샘플링 하고  양자화 하여 얻은 이산값(descrete values) 들의 열(Sequence) 로, 시간도 이산적이고 진폭 또한 유한한 레벨로 표현이 된다. 하지만 디지털 신호는 시간과 진폭 축이 이산적인 값을 가지는 신호로 0 과 1 등의 이산적인 기호의 연속적으로 표현 되는 가정에서 잡은에 강니하며 저장 복제에 용이 하지만 아날로그 신호와 같디 연속성으로 인해 정보 손실 없이 자연계를 표현할수 없다.

 

하지만 이러한 아날로그 신호들을 디지털로 변환을 하여 활용을 많이 한다. 특히나 DSP (Digital Signal Processin)는 실제 소리, 이미지 ,센서 데이터 등을 처리하기 위해 아날로그 신호를 디지털로 변환 후 수학적알고리즘을 적용하는 방식은 통신, 의료 등 의 다양한 분야에 적용이된다.

예를 들어,  

  • 통신 : 무선신호나 광신호를 디지털로 노이즈 필터링, 변조/복조, 압축 등을 할 수행하는데 WIFI, 5G, GPS, 스마트폰 통화 및 데이터 전송과 같은 역할을한다 .
  • 오디오 신호 처리 : 보톡 잡음 제거, 이퀄라이징, 음악신호의 스펙트럼 분석등 예를들어 음악을 녹음, 조율 등을 할때 이용한다.
  • 영상 처리 분야 : 디지털 필터를 통해, 이미지 향상 압축(JPEG, MPEG)등 을 할수 있다.
  • 이외 :레이터, 소리, 신호처리, 지진파 분석, 바이오 메디컬 신호 처리 등등 활용분야들이 있다.

그리고 난 그중 의료 분야의 EEG 뇌파나 , ECG(EKG) 심전도 와 같은 생체 신호를 분석하여 탐지를 해보고 싶어 이 DSP를 다시 정리며 공부하게 되었다. (apple 워치는 이 데이터로 뭔가를 하는것 같은데 ... ) 

 

여튼 이러한 실생활에서 탐지하는 아날로그 신호들은 Digital Signal Processing 즉 DSP 를 통해 기계나 컴퓨터에 저장이되는데 이러한 과정을 거치려면 Sampling 과 quantization 의 과정을 거쳐야 한다. 

그럼 Sampling 과 Quantization은 뭘까?

1. 샘플링 (Sampling)

  • 정의: 연속적인 시간축을 가진 아날로그 신호를 일정한 시간 간격으로 측정하여 이산 시간 신호(discrete-time signal)로 변환하는 과정입니다.
  • 샘플링 정리 (Nyquist Theorem):
    • 신호를 정확하게 복원하려면, 최고 주파수 성분의 두 배 이상의 샘플링 속도(Nyquist rate)가 필요하다.
    • 이를 준수하지 않으면 앨리어싱(aliasing)이 발생하는데, 이는 고주파 성분이 저주파로 잘못 변환되는 왜곡 현상이라고 한다.
  • 앨리어싱 방지: 샘플링 전에 저역 통과 필터(anti-aliasing filter)를 적용하여 신호의 절반 이상(샘플링 속도의 1/2)을 초과하는 주파수를 제거합니다.

2. 양자화 (Quantization)

  • 정의: 샘플링된 신호의 진폭을 유한한 개수의 이산 값(discrete levels)으로 변환하는 과정이다.
  • 양자화 오차 (Quantization Error):
    • 아날로그 신호는 연속적인 진폭 값을 가지지만, 디지털 표현에서는 유한한 단계로 반올림해야 한다.
    • 이 과정에서 실제 신호 값과 변환된 값 사이의 차이가 발생하며, 이를 양자화 오차(quantization error)라고 한다.
  • 비트 수와 정밀도:
    • 비트 수가 클수록 더 세밀한 단계로 표현할 수 있으며, 신호의 정확도가 증가합니다.
    • 예를 들어, 8비트 양자화는 28=2562^8 = 256개의 서로 다른 진폭 레벨을 가집니다.
    • 16비트 양자화는 216=65,5362^{16} = 65,536개의 수준을 제공하여 훨씬 높은 정밀도를 제공한다.

그래서 샘플링과 양자화를 거친 Digital data 로 변환이 되며 이를 통해 신호를 저장, 전송, 처리가 가능하게 되며, 다소 정보의 소실(양자화 오차) 는 존재하지만 디지털 처리를 통해 다양한 신호 개선 및 변조가 가능해짐.  또한 나이퀴트 샘플링 에 따르면, 샘플링으로 인한 왜곡을 최소화하며, 원래의 아날로그 신호를 복원할수 잇다고 한다. 이를 통해 아날로그 신호를 디지털 신호로 만들고 디지털신호를 다시 아날로그 신호로 복원이 가능하다는것이다.

 

그렇다면 이러한 샘플링과 양자화가 된 데이터들을 어떻게 분석 및 변형을 할수 잇을까?

대표적으로 디지털 필터링, FTT, Convolution 등의 기법들을 활용하여 신호를 분석하고 변형할수 잇다.

 

1. 디지털 필터링 (Digital Filtering)

디지털 필터는 신호의 특정 주파수 성분을 제거하거나 강조하는 역할을 합니다. 크게 두 가지 유형이 있습니다.

(1) FIR (Finite Impulse Response) 필터

- 유한한 길이의 임펄스 응답을 가지는 필터로, 입력 신호에 대한 응답이 일정한 후 완전히 0 으로 감쇠함. 

  • 특징: 유한한 계수를 가짐, 선형 위상 보장
  • 장점: 항상 안정적(과거 입력들에 대한 피드백이 없음), 위상 왜곡이 없음
  • 단점: 같은 성능을 가진 IIR 필터보다 많은 계수가 필요
  • 설계 기법: 창 방법(Window method), 주파수 샘플링법 등
  • 주로 통신에서의 신호 왜곡 최소화등에 사용됨 혹은 오디오 이퀄라이저, 정밀 신호처리등

(2) IIR (Infinite Impulse Response) 필터

  • 특징: 내부 피드백을 가지며, 무한한 계수 이론적으로 가능
  • 장점: FIR보다 적은 계수로 날카로운 주파수 응답 구현 가능
  • 단점: 피드백으로 인해 불안정할 가능성이 있음(과거에 입력들에 대한 피드백이 잇음), 위상 왜곡 가능
  • 설계 기법: 버터워스(Butterworth), 체비셰프(Chebyshev), 타원(Elliptic) 필터
  • 여럿사용도가 있지만, 의료 신호에서 특정주파수 대역을 분것하거나 제거하는 데 필수이기에 의쇼 신호 분석에 사용 혹은 실시간 신호처리나 노이즈 제거에도 사용됨.

2. 컨볼루션 (Convolution)

  • 신호와 시스템의 임펄스 응답을 결합하는 수학적 연산
  • FIR 필터링을 수행할 때 기본적으로 사용됨
  • 시간 도메인과 주파수 도메인에서 동일한 연산 가능

3. 이산 푸리에 변환 (DFT) & FT

  • 시간 도메인의 이산 시간 샘플을 주파수 도메인으로 변환하여 신호의 주파수 내용을 분석한다. 
    • 예시 알고리즘으로 FFT (Fast Fourier Trnasform) 이 잇음

(1) 푸리에 변환 (Fourier Transform)

  • 연속 신호의 경우 푸리에 적분 변환(Fourier Integral Transform)
  • 이산 신호의 경우 이산 푸리에 변환(DFT)

(2) 고속 푸리에 변환 (FFT, Fast Fourier Transform)

  • DFT의 계산 속도를 향상시키는 알고리즘
  • DFT 시간복잡도: O(N2)O(N^2)
  • FFT 시간복잡도: O(Nlog⁡N)O(N \log N)
  • 응용 분야: 오디오 처리, 이미지 분석, 스펙트럼 분석, 통신 시스템 등

4. 웨이블릿 변환 (Wavelet Transform)

푸리에 변환은 전체 신호의 주파수 성분을 분석하지만, 시간 정보를 잃어버립니다. 웨이블릿 변환은 이를 보완하여 시간-주파수 분석을 제공합니다.

(1) 연속 웨이블릿 변환 (CWT, Continuous Wavelet Transform)

  • 모든 시간 위치와 주파수 스케일에서 변환 수행
  • 높은 계산 비용

(2) 이산 웨이블릿 변환 (DWT, Discrete Wavelet Transform)

  • 다단계 필터 뱅크 구조를 활용한 신호 분해
  • JPEG2000 등의 이미지 압축 기술에 사용됨
  • 신호의 특이점 탐지, 뇌전증 EEG 분석 등에 활용

또한 이를 좀더 알기 위해 수학적 배경이 필요한데 및 에 있는것들을 다시 정리할필요가 잇는것들을 나열 해보았다.

  • 푸리에 변환: 연속 시간 신호의 주파수 분석에 사용되며, 신호를 주파수 성분으로 분해합니다. 이는 주파수 도메인에서 신호를 이해할수 있음 그러므로 필수적이기때문.
  • Z-변환: 이산 시간 시스템의 분석에 사용되며, 시스템의 안정성과 응답을 평가하는 데 유용합니다. 이는 IIR 필터 설계에 필요.
  • 주파수 분석 : 신호 속에 포함된 다양한 주파수 성분들의 강도를 파악하는 것
  • 스펙트럼 분석 :  주파수 분석후 얻은 주파수 도메인 정보를 활용하여 신호의 특징을 추출하거나 이상 여부를 판단하는 과정

일단 내가 이해한대로 정리를 하긴했는데 계속 관련 된걸 찾아보며 보다 깊히 이해할 필요가 있다고 생각된다. 

 

 

 

출처:

https://workforce.libretexts.org/Bookshelves/Information_Technology/Information_Technology_Hardware/Advanced_Computer_Organization_Architecture_(Njoroge)/05%3A_The_Peripheral_Devices/5.01%3A_-_Representation_of_digital_and_analog_values_-_sampling_and_quantization#:~:text=Digital%20signals%20on%20the%20other,In%20this%20discussion%2C%20time

 

5.1: Representation of digital and analog values - Sampling and Quantization

This section introduces the learner to sampling and quantization. This is where signals are represented into horizontal and vertical values (axes).

workforce.libretexts.org

https://pmc.ncbi.nlm.nih.gov/articles/PMC1122394/#:~:text=The%20sinoatrial%20node%20lies%20high,12%20s

https://www.dspguide.com/

 

The Scientist and Engineer's Guide to Digital Signal Processing

How to order your own hardcover copy Wouldn't you rather have a bound book instead of 640 loose pages? Your laser printer will thank you! Order from Amazon.com. 640 Pages, Hardcover Over 500 graphs and illustrations Clear explanations Very readable - low m

www.dspguide.com

https://ocw.mit.edu/courses/res-6-008-digital-signal-processing-spring-2011/pages/study-materials/

 

Study Materials | Digital Signal Processing | Electrical Engineering and Computer Science | MIT OpenCourseWare

MIT OpenCourseWare is a web based publication of virtually all MIT course content. OCW is open and available to the world and is a permanent MIT activity

ocw.mit.edu

https://dsp.stackexchange.com/questions/427/what-resources-are-recommended-for-an-introduction-to-signal-processing-dsp

 

What Resources Are Recommended for an Introduction to Signal Processing (DSP)?

What are some recommended resources (books, tutorials, lectures, etc.) on digital signal processing, and how to begin working with it on a technical level?

dsp.stackexchange.com

https://legacy.cs.indiana.edu/~port/teach/541/sig.proc.html

 

Digital Signal Processing Overview

Digital Signal Processing Overview R. Port, February 21, 2007 I. Digital Representation of a Waveform A digital signal processing system takes a continuous sound wave as input, feeds it through an analog low-pass filter (an anti-aliassing filter) to remove

legacy.cs.indiana.edu