신호의 표현
신호란 정확히 무엇이고, 어떻게 수학으로 다룰까? 신호를 여러 기준으로 나누고, 값과 시간축을 바꾸는 연산을 익힌 뒤, 단위 계단과 임펄스로 임의의 신호를 나타낸다. 마지막에 만드는 계단 윈도우(창 함수) 표현은 3장의 컨볼루션 계산에서 계속 쓴다.
신호의 정의
이 과목에서 말하는 신호는 정확히 무엇이고, 일상에서 쓰는 '신호'와 무엇이 다를까?
인터넷에서 "signals"로 이미지를 찾으면 신호등, 교통 표지판, 와이파이 막대, 철도 신호기, 파형 그림이 섞여 나온다. 일상에서 신호는 무언가를 알리는 표시이다. 이 과목의 신호는 이보다 좁고, 수학으로 다룰 수 있는 대상이다.
신호를 한 문장으로 정의하면 흔히 "시간에 따라 변화하는 어떤 물리적 현상을 함수 형태로 표현한 것"이라고 한다. 이 정의를 세 부분으로 나누어 따져 보자.
- 시간에 따라 변화한다(time-varying): 절반만 맞다. 많은 신호가 시간의 함수이지만, 사진은 가로·세로 위치의 함수이고 스펙트럼은 주파수의 함수이다. 독립변수가 꼭 시간일 필요는 없다.
- 물리적 현상(physical quantity): 맞다. 전압, 압력, 온도, 빛의 세기처럼 잴 수 있는 양이 신호가 된다.
- 함수(function): 맞다. 독립변수의 값 하나에 신호 값 하나가 대응한다. 그래서 미분이나 적분 같은 함수의 연산을 신호에 그대로 쓸 수 있다.
에서 적분의 시작점 를 고정하면 누적 적분 가 정의된다. 보다 큰 끝점 에서 는 부터 까지 가 양인 부분의 면적에서 음인 부분의 면적을 뺀 값이다. 독립변수가 시간이 아닌 여도 가 함수이므로 적분이 정의되고, 그 결과 도 또 하나의 함수가 된다. 를 받아 를 내놓는 누적 적분은 다음 절에서 정의할 시스템의 한 예이기도 하다.
소리는 신호의 대표적인 예이다. 소리는 공기 압력의 변화가 퍼져 나가는 파동이고, 마이크는 한 자리에서 그 압력을 전압으로 바꾼다. 그 전압을 시간의 함수로 적은 것이 신호 이다.
마이크 입력을 받아 파형과 주파수 성분을 실시간으로 그리는 Python 프로그램은 초당 44,100번(44.1 kHz) 재는 16비트 샘플을 1024개씩 읽는다. 읽을 때마다 FFT(fast Fourier transform, 7장의 DFT를 빠르게 계산하는 알고리즘)로 주파수 성분의 크기를 계산해 다시 그린다. 샘플 1024개는 ms 분량이고, FFT 결과에서 주파수 bin(7장)의 간격은 Hz이다. 파형의 가로축은 시간이고 FFT 크기의 가로축은 주파수이다. 같은 신호를 두 축에서 본 것이다.
음높이가 같은 두 소리가 다르게 들리는 까닭은 5장에서 본다. 기본 주파수가 같아도 거기에 더한 고조파(기본 주파수의 정수배 성분)의 구성이 다르면 파형이 달라지고, 귀는 그 차이를 음색으로 듣는다.
다음 문장이 참인지 거짓인지 고르라. "신호의 독립변수는 언제나 시간이다."
풀이
답 거짓
- 참 사진의 밝기는 가로·세로 위치의 함수이고, 스펙트럼은 주파수의 함수이다.
신호는 독립변수의 값 하나에 값 하나가 대응하는 함수이다. 많은 신호가 시간의 함수이지만 독립변수가 꼭 시간일 필요는 없다. 사진은 위치의 함수이고, FFT로 구한 주파수 성분의 크기는 주파수의 함수이다.
초당 48,000번(48 kHz) 잰 소리 샘플 2048개는 몇 ms 분량인가?
풀이
답 42.67 ms
힌트 1초에 48,000개를 재므로 샘플 하나는 1/48000 s이다.
s, 곧 약 42.67 ms이다. 같은 소리를 44.1 kHz로 1024개 읽은 앞의 프로그램은 23.2 ms 분량이었다.
시스템의 정의
신호를 받아 다른 신호를 내놓는 장치나 프로그램을 수학에서는 어떻게 나타낼까?
일상에서 시스템은 "서로 관련된 요소가 상호작용하며 하나의 목적을 이루는 집합"처럼 넓은 뜻으로 쓴다. 이 과목에서 시스템은 신호를 받아 처리하고 신호를 내놓는 것이다.
시스템은 신호의 함수일까? 보통의 함수는 수 하나를 받아 수 하나를 내놓지만, 시스템은 입력 신호 전체를 받아 출력 신호 전체를 내놓는다. 시각 의 출력이 같은 시각의 입력 하나로만 정해질 필요도 없다. 지난 입력을 기억하는 시스템도 많다.
가장 단순한 예는 입력에 상수를 곱하고 더하는 시스템 이다. 입력과 출력의 관계를 그래프로 그리면 직선이라 "선형"이라고 부르고 싶어진다. 그러나 이면 선형 시스템이 아니다. 입력이 0일 때 출력이 이고, 입력을 두 배로 하면 출력은 가 되어 원래 출력의 두 배 와 다르다. 일 때만 선형이다. 선형성의 정확한 정의는 3장에서 다룬다.
다음 문장이 참인지 거짓인지 고르라. "는 입력과 출력의 관계를 그리면 직선이므로 선형 시스템이다."
풀이
답 거짓
- 참 입력이 0이어도 출력이 2이다. 입력을 두 배로 하면 출력이 두 배가 되는지 계산해 본다.
입력을 두 배로 하면 출력은 이고, 원래 출력의 두 배는 이다. 둘이 다르므로 선형이 아니다. 관계가 직선이어도 원점을 지나지 않으면() 선형 시스템이 아니다.
실제 시스템은 대개 입력과 출력이 여러 개이다. 자율주행 차량의 입력은 GPS, IMU, 차량 내부 네트워크, 카메라 두 대, 가로·세로 방향 레이저 스캐너가 보내는 신호 묶음이다. 출력은 조향, 제동, 가속을 명령하는 제어 신호 묶음이다. 그 사이의 위치 추정, 물체 인식, 경로 계획, 차량 제어도 각각 신호를 받아 신호를 내놓는 작은 시스템이다.
강의 노트