Terminology
신호(Signals)
도입부에서 계속 언급했듯이 우리는 신호처리에 관한 공부를 하려하고있습니다. 신호란 무엇일까요?신호를 처리하면 어떤 일들을 할 수 있을까요?
신호 (Signal)는 시간, 공간, 혹은 다른 독립변수들에 의해 변하는 물리적인 값으로 정의됩니다. 수학적으로 우리는 신호를 하나 혹은 여러 개의 독립 변수를 입력으로 받는 함수로 표현할 수 있습니다. 예를 들면, 다음 두 신호는 하나의 독립 변수 t 에 의해 변화됩니다.
혹은 다음과 같이, 두 개 이상의 변수에 의해 변화하는 신호도 포현할 수 있습니다.
아직 너무 추상적입니다. 좀 더 실생활과 관련된 예시를 들어보도록 하겠습니다. 우리의 목소리도 신호입니다. 일반적으로 목소리 신호는 각각 다른 주기와 진폭을 갖는 사인파의 합성으로 다음과 같이 표현할 수 있습니다.
는 각각 사인파(sinusoids)의 시간에 따른 진폭, 주파수, 위상 함수입니다.
자연 신호의 또 다른 예로 심전도(ECG, Electrocardiogram)을 들 수 있습니다. 이는 의사에게 환자 심장의 상태 정보를 제공합니다. 마찬가지로 뇌전도(EEG, Electroencephalogram) 또한 뇌의 활동 정보를 제공해주는 신호입니다.
위에서 설명한 신호들(목소리, 심전도, 뇌전도)에게는 공통점이 있습니다. 오직 하나의 독립변수, 시간 에 대해 변화하면서 어떤 정보를 전달 한다는 점입니다. 그렇다면, 두 개의 독립변수를 갖는 일상생활에서 볼 수 있는 신호로는 무엇이 있을까요? 바로 이미지가 있습니다. 이미지는 x, y 두 공간상의 좌표에 의해 결정되는 신호입니다. 앞서 소개한 신호들은 자연 신호(natural signals)의 극히 일부분일 뿐입니다. 실제로 셀 수 없이 많은 신호들이 우리 주변에 있습니다. 그리고 우리는 그 신호들로부터 정보를 얻고, 또 신호를 통해 정보를 보내며 생활하고 있는 것입니다. 즉 신호를 처리한다는 것은 곧 정보를 담은 신호로부터 정보를 얻는 과정이라고도 할 수 있겠습니다.
시스템(Systems)
위에서 살펴본 자연 신호들은 모두 어디선가로부터 생성(generated)됩니다. 목소리 신호는 우리의 폐가 공기를 성도에 밀어넣음으로써 생성됩니다. 이미지 신호는 사진 필름을 풍경이나 물체에 노출시킴으로써 얻을 수 있습니다. 심전도와 뇌전도도 마찬가지로 각각 심장과 뇌의 활동으로부터 생성되는 신호입니다. 이런 신호의 생성은 대부분 자극 혹은 힘에 대한 시스템의 반응 과 연관이 있습니다. 예를 들면, 목소리 신호에 대한 시스템은 성대와 성도로 이루어져있습니다. 여기서 시스템에 들어가는 자극 은 신호의 원천(signal source)이라고 불립니다. 그러므로 우리는 목소리의 원천, 이미지 원천, 그리고 다양한 종류의 신호 원천들을 알 수 있습니다.
시스템은 신호에 대한 연산을 수행하는 물리적인 기기로 정의할 수도 있습니다. 필터가 대표적인 예입니다. 신호의 정보를 손실시키지 않으면서 노이즈를 줄여주거나, 간섭을 막아주는 필터를 우리는 시스템이라고 부릅니다. 그 과정에서 필터는 신호에 어떤 연산을 수행하기 때문이죠.
신호 처리(Signal Processing)
우리가 신호를 시스템에 통과시킬 때, 우리는 신호를 처리했다고 이야기합니다. 예를 들면, 잡음을 제거하기 위해 신호를 노이즈 캔슬링 필터에 통과시키는 경우가 있습니다. 이럴 때 시스템이 갖는 성질은, 시스템이 신호에 취하는 연산에 의해 정해집니다. 이를테면 연산이 모두 선형(Linear)으로 이루어져있으면 해당 시스템을 선형 시스템(Linear system)이라고 부릅니다. 반대의 경우에는 비선형 시스템(Nonlinear system)이라고 부르겠죠. 이런 연산들을 신호처리(Signal processing)라고 부릅니다.
디지털 신호처리 (Digital Signal Processing)
우리는 1. Introduction 에서 이야기했던 것 처럼 신호와 시스템을 아날로그보다는 디지털로 다루고 싶습니다. 따라서 시스템의 정의를 물리적 기기로부터 신호연산에 대한 소프트웨어적 구현까지 확장시키려 합니다. 예를 들면, 디지털 컴퓨터는 신호에 대한 디지털 필터링을 수행하도록 소프트웨어적으로 프로그램될 수 있습니다. 또한 논리회로와 같은 디지털 하드웨어를 통해 특정 연산을 디지털 신호에 수행하도록 할 수도 있습니다. 이를 디지털 하드웨어라고 부릅니다. 따라서 넓은 관점에서, 디지털 시스템은 디지털 하드웨어와 소프트웨어의 조합으로 구현될 수 있습니다.
Basic Elements of a Digital Signal Processing System
과학과 공학에서 만날 수 있는 대부분의 신호들은 자연에서 발생한 아날로그 신호입니다. 즉, 시간이나 공간 등 변수에 대한 신호 함수의 치역이 연속적입니다. 이런 아날로그 신호들은 곧바로 아날로그 시스템에 의해 처리될 수 있습니다만, 위에서 언급한 이점을 얻기 위해서 우리는 디지털로 신호를 처리하기를 원합니다. 따라서 우리는 먼저 아날로그 신호를 디지털로 바꿔줄 수 있는 A/D 컨버터 가 필요합니다. 그리고 이렇게 얻은 디지털 신호를 프로그램적으로 처리할 수 있는 디지털 컴퓨터 혹은 마이크로 프로세서가 필요합니다. 이를 디지털 신호 처리기 라고 합니다. 그리고 마지막으로 디지털 신호를 다시 아날로그 신호로 변환해주는 D/A 컨버터 가 있어야겠지요.