My Profile Photo

DongChanS's blog


수학과 학생의 개발일지


Signal processing (0) - Background

다음 강의를 이해하기 위해서는 음성 신호에 대한 백그라운드가 필요할 것 같아서 미리 정리를 하고 가려고 합니다.

1) Background

음파는 공기 중에서 발생하는 압력의 흐름이라고 할 수 있습니다.

음파가 공기중에서 흐르다가 마이크와 접촉하게 되면, 전기 신호로 변환되는데요.

이 전기신호는 아날로그(Analog, 연속적인 신호) 신호이기 때문에 양이 매우 많아서 이 데이터를 전부 전송할 수는 없습니다.

그래서 아날로그 신호에 몇몇 처리를 거쳐서 디지털 신호(Digital, 불연속적인 신호)로 변환하는데요.

이러한 신호를 처리하는 과정에 대해서 공부해보도록 하겠습니다.

1-1. 신호 전송의 과정

11

  • 송신의 과정 : 아날로그 신호를 디지털 신호로 만드는 과정

    1. 표본화(Sampling) : 일정한 주기로 신호의 일부를 추출함.

      • Sampling rate : 1초에 추출되는 샘플의 개수

      • 이렇게 추출된 펄스의 Sequence를 PAM(Pulse Amplitude Modulation, 펄스 진폭 변조)이라고 함.

        • PAM 신호 : 시간축에서는 불연속이지만, 진폭축에서는 연속인 함수
    2. 양자화(Quantization) : PAM 신호의 진폭을 일정 범위 이내로 근사시킴

    • 표본화가 시간에 대한 이산화(discretization)라면, 양자화는 진폭에 대한 이산화라고 봐도 무방합니다.
    1. 부호화(Coding)

      양자화된 신호는 전송 시 잡음에 민감하므로, 전송 및 처리에 적합하도록 만듬.

    12

  • 채널 : 신호가 송신기에서 수신기까지 이동하기 위한 통로

    • 외부 잡음과 왜곡에 의해서 신호가 변형되기도 함
    • 제약사항 : 주파수 대역폭
  • 수신 : 채널을 통해서 전송된 디지털 신호를 복원하여 실제 아날로그 신호를 듣는 과정

    • 복원을 위해서는 양자화와 부호화의 역과정인 복호화 & 표본화를 거친다.

    • 샘플들을 통해서 아날로그 신호를 복원할 수 있어야 한다.

      14

지금은 모든 과정을 이해하지 않아도 상관없습니다.

그냥 "연속적인 음파를 몇몇 조각으로 쪼개서 전송하고, 그것을 우리 귀에서 다시 복원해서 소리를 듣게 된다." 라고만 이해해도 충분합니다.

이제 이 신호처리 과정을 이해하기 위한 몇몇 용어들에 대해서 살펴보겠습니다.

1-2. Time domain & Frequency domain

18

기존에 알고 있었던 음파의 형태는 Time domain, 왼쪽 그림입니다.

저 함수가 삼각함수처럼 생겼기 때문에 진동수를 쉽게 알 수 있었지만,

가변적으로 변하는 음성신호의 그래프라면 진동수를 쉽게 파악할 수 없을 것입니다.

하지만, 음성신호에서 진동수와 진폭이 갖는 의미가 매우 중요하기 때문에 음파를 진동수에 대해서 해석할 수 있어야 합니다.

  • 진동수 : 음의 높낮이가 변하는 정도
  • 진폭 : 공기가 가지는 압력의 정도

그렇게 음파를 진동수-진폭의 그래프로 나타낸 것을 Frequency domain이라고 합니다.

Time domain의 그래프를 Frequency domain으로 나타내기 위해서는 다음에 알아볼 푸리에 변환에 대해서 알아야 합니다.

1-2. 푸리에 변환 (Fourier transform)

12

푸리에 변환을 이용하면,

임의의 음성신호 x(t)를 어떤 함수의 적분으로 표현이 가능합니다.

적분기호 안에 있는 함수들에 대해서 생각해봅시다.

  1. Exponential 항 : 진동수가 f로 일정한 삼각함수
  2. X(f) : 진동수 f를 가지는 음파의 성분

그렇습니다. 바로 X(f)가 해당 음성신호의 진동수 f에 대한 성분이 되겠습니다.

X(f)를 음성신호x(t)의 푸리에 변환이라고 하며, 반대로 x(t)X(f)의 푸리에 역변환이라고 부릅니다.

이제 X(f)를 그대로 그리면 frequency domain의 그래프를 얻을 수 있을 것 같지만,

X(f)는 복소함수이기 때문에 |X(f)|의 그래프를 그리면 frequency domain으로 음성신호를 표현할 수 있습니다.

11

1-4. Nyquist theorem (표본화 정리)의 직관적인 이해

이번에는 표본화된 아날로그 신호를 수신단에서 복원하기 위한 조건에 대해서 알아보겠습니다.

Nyquist theorem

해당 신호의 최대 진동수(bandwidth)의 2배에 해당하는 Sampling rate로 샘플링을 하면, 신호를 완벽히 복원할 수 있다.

상식적으로 접근해봅시다.

샘플들로 신호를 복원하기 위해서는 당연히 샘플이 많아야 합니다.

예를 들어서, 다음과 같이 표본의 개수가 적다면, 원래 신호를 제대로 복원할 수가 없습니다.

16

주기가 일정한 파동에 대해서 생각해봅시다.

다음 그림과 같이, 샘플을 통해서 원래 신호를 복원하려면 적어도 한 주기 내에 샘플이 3개는 있어야 합니다.

17

신호가 삼각함수라는걸 알고 있다면, 점 3개를 잘 구불구불하게 이어서 원래 삼각함수를 만들 수 있기 때문입니다.

그말인 즉슨, 샘플과 샘플간의 시간 간격원래 신호의 1/2주기보다 짧아야 한다는 뜻이 됩니다.

=> 이 말을 식으로 옮기면, T_s <= 1/2 * T_m (T_s : 샘플의 주기, T_m : 신호의 주기)

즉, 역수를 취하면

f_s >= 2 * f_m (f_s : 주파수, Sampling rate, f_m : 아날로그 신호의 진동수)

가 되며 이것을 Nyquist theorem이라고 합니다.

comments powered by Disqus