[멀티미디어신호] Fundamentals of Digital Signal Processing
1. Signal
- 우리 눈에 보이지 않는 추상적인 정보를 전류나 전하같은 전기적 파형으로 바꾸는 것
- 신호 자체가 정보를 전달함
- 모든 자연 신호(음성, 오디오, 이미지 등)는 아날로그 형태로 존재함
- 정보를 신호로 반환하는 예로 오실로스코프(osciloscope)가 있다.
2. Digital Hearing Aid System
- 변환기 (Transducer): 음파를 전기 신호로 변환하는 장치
- Diaphragm : 소리를 기계전 진동으로 받아전기 신호로 변화하는 매개체
- Amplifier : 미약한 신호를 사용 가능한 수준으로 증폭
3. 아날로그 vs 디지털 보청기
- 아날로그 보청기 : 단순히 소리 크기(amplitude)를 증폭
- 디지털 보청기 : 개인의 청력 편차를 분석하여, 사람마다 맞춤으로 소리를 증폭
4. signal flow Example
- Speech Input : 마이크로폰에 들어오는 소리 (사람이 실제로 들을 수 있는 파동 형태, 20Hz~ 20kHz)
- Transducer -> Diaphragm =-> Amplifier -> 개인 맞춤 디지털 처리 -> 스피커 출력
5. 아날로그 vs Digital
- 아날로그 신호 : 시간에 대해 연속적인 파형
- 디지털 신호 : 시간에 대해 이산적인 파형, 아날로그 신호를 샘플링한 형태, 0과 1로 표현되는 디지털 이진 신호
- 둘의 차이점 : 아날로그 신호는 시간에 따라 연속적인 값을 가지며, 증폭을 통해 신호의 크기를 키울 수 있다. 그러나 아날로그 신호는 전송 과정에서 외부 잡음에 매우 취약하며, 신호가 전달되는 동안 품질이 쉽게 저하될 수 있다. 반면 디지털 신호는 0과 1로 이루어진 이산적인 값을 가지며, 일정한 마진만 확보된다면 존재하더라도 원래 신호를 거의 완벽하게 복구할 수 있다. 이러한 특정 덕분에 디지털 신호는 높음 품질을 유지할 수 있다.
6. 아날로그 신호 (Analog Signal)
- 아날로그 신호는 정보가 신호의 진폭에 담겨 있다.
- 신호를 표현하는 요소에는 진폭(amplitude), 주파수(Frequency,f), 위상(phase)
- 1) 진폭 (Amplitude) : 신호의 세기 또는 강도 (소리의 크기 또는 세기)
- SPL로 측정한다
- SPL (dB)=20⋅log10(P0P)
- P : 측정된 음압
- P0 :기준 음압, 사람이 거의 들을 수 있는 최소 음압 2.5×10−5N/m²
- 측정된 음압이 2배로 커지게되면, 약 6db 증가하게 된다.
- 2) 주파수 (Frequency)
- 1초동안 반복되는 패턴의 횟수를 의미
- 단위는 Hz
- 주기(T)는 주파수의 역수로 정의 : T=1/f(단위:초)
- 사람이 들을 수 있는 소리 : 20Hz ~ 20kHz
- 시간 영역 (Time-domain) 파형 : 소리 신호를 시간에 따라 어떻게 변화하는지 보여주는 그래프 (x축 : 시간(초) , y축 : 진폭 (amplitude)
- 주파수(frequency)와 파형 : 높을 수록 빠르게 진동 -> 높은 음, 낮을 수록 느리게 진동 => 낮은 음
- f =1kHz, f=5 kHz : 1kHz는 시간 영역에서 파형 변화가 상대적으로 느리다. 우리가 들었을 때 상대적으로 낮은 톤으로 인식한다. 5kHz는 시간 영역에서 파형 변화가 상대적으로 빠르고 우리가 들었을 때 상대적으로 높은 톤으로 인식한다.
- 3) Phase)
7. 디지털 신호
- 디지털 신호는 정보를 0과 1로 나타낸다. 아날로그 신호처럼 연속적인 값이 아니라, 이진 값만 있다.
- 과거에는, 신호 전압이 1.25보다 크면 1, 작으면 0으로 판단했다고 한다 이 방식의 문제는 잡음(noise)이 생기면 전압이 흔들리면서 1과 0을 잘못 구분할 수 있다는 점이다. (기준점 하나만으로 판단하면 조금의 흔들림에도 오류 발생)
- 현대 디지털 신호는 0과 1 사이에 충분한 여유(마진)만 있으면, 잡음이 조금 끼어도 원래 값을 거의 정확하게 복원할 수 있다. 즉, 아날로그 신호보다 잡음에 강하고, 품질 유지가 쉽다는 뜻이다.
- 전압 차이가 클수록 잡음이 끼더라도 0과 1을 구분하기 쉬워지고, 마진이 생긴다
- 실제 디지털 회로에서는 충분한 마진 + 효율적인 전압 수준을 같이 고려
- 가장 중요한 특징 => 잡음에 강하기 때문에 high quality fof signal processing이 가능하다 !!!!
- 다음 특징 = programmable, multimedia, Low cost digital IC chip, Good security
8. 디지털 신호 vs 아날로그 신호
- 신호가 네트워크를 통해 전달될 때 signal attenuation (신호 약화) 문제가 발생
- 아날로그 신호는 전송 중에 크기가 줄어들기 때문에 과거에는 amplifier (증폭기)를 설치하여 약화된 신호를 증폭시킴 => 증폭과정에서 신호뿐만 아니라 잡음까지 증폭됨
- 또한 신호가 전송되는 동안 환경적 요인 때문에 추가적인 잡음 발생
- 디지털 신호는 repeater(재생기)를 설치하여 0과 1의 clean pulse 형태로 재생되므로, 전송 과정에서 악화되거나 잡음이 끼더라도 원래의 0과 1을 정확하게 복원할 수 있다. 최신 기술에서는 오류 확률 수준이 매우 낮아, 디지털 신호는 아날로그 신호보다 훨씬 잡음에 강하고 안정적인 전송이 가능하다.
9. DSP의 약점
- 대량의 디지털 데이터 처리가 필요 => 연상량이 많고 시스템 부담이 큼
- 데이터 압축이 필요
9. ADC (Aanalog to Digital Converter)
- 1) Sampling : 아날로그 신호를 일정한 시간 간격으로 측정하여 샘플을 추출
- Sampling Period Ts : $T_s = 0.001(초)라면, 1밀리초마다 한번씩 샘플링 하는 것
- Sampling Rate fs=Ts1 : 1초동안 몇 번 샘플링 하는가를 나타낸다 (Hz)
- 사람의 음성 : 8kHz, 음악 : 44.1kHz
- 샘플링 속도가 충분히 빠르지 않으면, 아날로그 신호의 고주파 성분을 놓치게 된다.
- 2) Quantization and Digitization
- Quantization : 추출된 샘플 값을 컴퓨터가 표현할 수 있는 값으로 반올림하거나 근사화
- 컴퓨터는 유하한 비트(bit)만 사용가능하다. 따라서 아날로그 값은 가장 가까운 디지털 단계로 반올림 된다.
- 항상 근사값이 되기 때문에 원래 값과 차이가 생긴다 => 양자화 오차
- 더 많은 비트를 쓰면, 단계가 많아져서 근사 오차가 줄어든다 => 그러나 완벽하게 0 오차를 만드려면 비트 수가 무한대여야 한다. (무한대 비트는 현실적으로 불가능하다)
- Digitization : 양자화된 값을 디지털 이진수 (0과 1)로 변환
10. ADC 표로 이해하기

- 가로축 : 시간 , 세로축 : 진폭 , 검은 곡선 : 아날로그 신호
- 파란점은 일정주기마다 측정한 샘플이다.
- 양자화는 각 샘플의 연속 진폭을 가장 가까운 값으로 반올림하는 과정이다.
- 그림의 3비트 예처럼 비트수가 n이면 가능한 레벨수는 2n이고, 3비트면 8단계로 표시된다.
- 비트 수를 늘리면 더 촘촘하게 아날로그 값을 근사 가능
- 비트 수를 많이 늘리면 저장해야할 데이터와 처리해야할 데이터량이 증가한다는 단점이 있음
- 사람 소리는 8bit면 충분하고, 음악은 16bit면 충분하다.
11. ADC 과정에서 에러가 발생할 수 밖에 없는 이유
- 아날로그 신호는 연속적이지만, 디지털 신호는 불연속적으로 표현해야 함
- 샘플링은 시간 연속성을 끊고, 양자화는 값 연속성을 끊음 → 근사와 반올림 과정에서 필연적으로 오차 발생
- 비트 수를 늘리면 양자화 오차는 줄일 수 있지만, 데이터량이 늘어나고 처리 부담이 증가 → 항상 완벽하게 표현할 수는 없음
12. System I/O - convolution
- 컨볼루션 : 임펄스 응답과 입력 신호를 결합해 출력 신호를 계산하는 방법
- 1) Impulse Response (임펄스 응답)
- 2) Linear difference Equation (선형 차분 방정식)
13. Frequency-domain sepctrum analysis
- 남성/여성 음성 구별 : 신호가 고주파 성분을 포함하는지 또는 저주파 성분을 포함하는지 주파수 스펙트럼 확인
- 예시 1) DTMF 전화 => 주파수 스펙트럼을 확인하여 주파수 성분 식별
- 숫자 5를 누르면 신호는 770Hz(저주파)와 1336Hz(고주파)로 구성
- 수신 측 – 신호에 대한 푸리에 변환 수행
- 예시 2) 부부젤라(Vuvuzelas) 소음
- 부부젤라는 일정한 음높이(주파수) 235Hz를 가짐 => 노치 필터 (Notch Filter) 사용
- 대역폭(Bandwidth, BW) : 0Hz에서 최대 주파수 성분까지의 거리
- DSP에서 신호의 두 가지 표현 - time-domain waveform, frequency-domain spectrum
- 푸리에 변화을 사용하면 time-domian waveform을 frequency-domian spectrum으로 변환 가능
- FFT는 푸리에 변환을 빠르게 계산하는 알고리즘이다.
- time - domain : Amplitude , frequency : Magnitude
- 2 피크 = 10Hz, 20Hz
- 3 피크 = 40Hz, 50Hz, 60Hz (상대적으로 고주파)

- away의 음성 신호를 FFT로 변환하면, 저주파 쪽에 피크가 많으며 고주파 쪽에서 피크가 작아지는 것을 확인할 수 있다.

- 주기적 특성을 가지고 있음 => 모음은 성대가 떨려서 그럼

- 단일 주파수 소리를 내고 있음
14. 악기와 주파수 스펙트럼
- 악악기에서 소리가 나는 과정은 먼저 기본음(tone signal)의 발생으로 시작된다. 예를 들어, 기타 줄 하나를 튕기면 줄은 특정한 기본 주파수로 진동하게 된다. 이 기본음만 존재한다면 소리는 매우 단조로운 삐 소리처럼 들린다.
- 하지만 실제 악기에서는 줄이나 관의 진동이 울림통을 통해 전달되면서 소리가 증폭된다. 울림통은 기본 주파수 외에도 정수배 주파수의 배수 진동을 함께 증폭시켜, 이들이 동시에 들리도록 만든다. 이러한 현상이 바로 하모닉(Harmonics)이며, 기본음과 하모닉이 함께 울리면서 악기 특유의 풍부하고 아름다운 음색을 형성한다.
15. DTET, DFT, FFT, Z-변환
- 1) DTET (Discrete-Time Fourier Transform, 이산시간 푸리에 변환)
- DTEF는 연속적인 주파수 함수이므로 디지털 컴퓨터에서는 정확히 계산하기 어렵다
- 따라서 실제 컴퓨터에서는 근사값으로만 계산 가능하며, 대신 DET를 사용한다
- 2) DET (Discreate Fourier Transform, 이산 푸리에 변환)
- 컴퓨터에서 유한 연산으로 계산 가능하다
- 하지만, 계산량이 많아, 실시간 DSP 시스템에서는 사용이 어렵다
- 3) FFT (Fast Fourier Transform, 고속 푸리에 변환)
- DFT를 빠르게 계산하는 알고리즘 => DSP 시스템 구현을 가능하게 만듬
- 4) Z-Transform
14. Digital filter
- 음성 신호에서 불필요한 고주파 잡음을 제거하고, 특정 주파수 대역만 추출할 수 있다.
- filter은 frequency domain을 통해 작동
- LPF (Loss Pass Filter , 저역 통과 필터) : 낮은 주파수는 통과, 높은 주파수는 차단
- HPF (High-Pass Filter, 고역 통과 필터)
- BPF (Band-Pass Filter, 대역 통과 필터) : 특정 주파수 대역만 통과, 나머지는 차단
- BSF (Band-Stop Filter, 대역 차단 필터 / Notch Filter) : 특정 주파수 대역만 차단, 나머지는 통과
- 이상적인 필터 => 위의 4개의 필터는 현실에서 만들 수 없음
15. DSP hardware
- DSP 알고리즘은 곱셈, 나눗셈과 같은 연산량이 많은 계산 포함 => 이를 위해 DSP 하드웨어가 필요
- ASIC (Application Specific IC, 맞춤형 칩)
- 특정 기능만 하도록 수행, 대량 생산 시 가격이 저렴, 한 번 설계되면 다른 용도로 변경 불가능
- General Purpose DSP Chip (범용 DSP 칩)
- 기능 변경 가능, 범용 연산 지원, 실시간 처리가 가능하며 다양한 DSP 애플리케이션을 지원, ASIC 보다 비용이 비쌈