PCM_sampling_quantization_coding.md - Yunjong-Lee/WiKi GitHub Wiki

Pulse Code Modulation

PCM

  • analog μ‹ ν˜Έ(signal)λ₯Ό κ· μΌν•œ 주기둜 ν‘œλ³Έν™”μ™€ μ–‘μžν™”λ₯Ό 거친 λ””μ§€ν„Έ μ½”λ“œν™” μ²˜λ¦¬ν•œ μ‹ ν˜Έ λ³€ν™˜ λ°©λ²•μœΌλ‘œ,
  • μŒμ„±μ—μ„œ κ°€μž₯ 많이 μ‚¬μš©ν•˜λŠ” 방식이닀
  • PCM은 ν‘œλ³Έν™”, μ–‘μžν™”, λΆ€ν˜Έν™”λΌλŠ” 3개의 λ‹¨κ³„λ‘œ κ΅¬μ„±λœλ‹€.

Sampling (ν‘œλ³Έν™”)

  • μ•„λ‚ λ‘œκ·Έ μ‹ ν˜Έλ₯Ό μΌμ •ν•œ κ°„κ²©μœΌλ‘œ 값을 뽑아 Pulse Amplitude Modulation μ‹ ν˜Έλ₯Ό μ–»λŠ” λ°©λ²•μœΌλ‘œ
    ν‘œλ³Έν™”μ˜ μ£ΌκΈ°κ°€ 컀질수둝 λ°μ΄ν„°μ˜ 양이 μ¦κ°€ν•œλ‹€.

    • smapling theorem

      -. λŒ€μ—­ν­μ΄ μ œν•œλœ analog μ‹ ν˜Έλ₯Ό κ·Έ μ‹ ν˜Έκ°€ κ°–κ³  μžˆλŠ” 주파수 μ„±λΆ„μ˜ maximum frequency 2λ°° 보닀 λΉ λ₯Έ μ†λ„λ‘œ samplingν•˜λ©΄,
        sample된 discreteν•œ κ°’λ“€λ‘œλΆ€ν„° μ›λž˜μ˜ analog μ‹ ν˜Έλ₯Ό distortion 없이 볡ꡬ할 수 μžˆμŒμ„ Nyquistκ°€ 증λͺ…ν•œ μ΄λ‘ μž„
        ν˜„μž¬ μ˜€λ””μ˜€ 및 μ˜μƒμ‹ ν˜Έλ₯Ό λ””μ§€ν„Έ ν˜•νƒœλ‘œ λ°”κΎΈμ–΄ 전솑 λ˜λŠ” μ €μž₯ν•˜λŠ” μ‹œμŠ€ν…œμ—μ„œλŠ” λͺ¨λ‘ 이 이둠이 μ μš©λœλ‹€.
        예λ₯Ό λ“€λ©΄, μŒμ•… CD의 경우 μ‹ ν˜Έκ°€ ν¬ν•¨ν•˜λŠ” κ°€μž₯ 높은 μ£ΌνŒŒμˆ˜λŠ” μ‚¬λžŒμ˜ κ°€μ²­μ£ΌνŒŒμˆ˜ λ²”μœ„ 20 Hzμ—μ„œ κ°€μž₯ 높은 20,000 Hz에 ν•΄λ‹Ήν•˜λ―€λ‘œ,
        sampling theorem에 따라 2배보닀 λΉ λ₯Έ 속도, 즉, 40,000 Hz μ΄μƒμœΌλ‘œ sampling ν•˜μ—¬μ•Ό ν•œλ‹€.
        μ‹€μ œ μŒμ•… CDμ—μ„œλŠ” 44.1 kHz둜 samplingν•˜μ—¬ 각 sample을 16 bit둜 μ–‘μžν™”ν•œ PCM μ‹ ν˜Έλ‘œ κΈ°λ‘λ˜μ–΄ μžˆλ‹€.

      -. Fourier analysis 및 convolution theorem을 μ μš©ν•˜μ—¬ μ‹œκ°„-μ£ΌνŒŒμˆ˜μ˜μ—­μ—μ„œ sampling theorem을 μ‘μš©ν•  수 있으며,
        μ‹€μ œ 톡신 및 μ‹œμŠ€ ν…œ ν•΄μ„μ—μ„œ μ‚¬μš©λ˜λŠ” λŒ€μ—­ν­(bandwidth)에 λŒ€ν•œ λ‹€μ–‘ν•œ μ •μ˜μ— λŒ€ν•΄μ„œλ„ ν™œμš©λ  수 μžˆλ‹€.

Quantization (μ–‘μžν™”)

  • ν‘œλ³Έν™” 과정을 톡해 얻은 λ°μ΄ν„°λŠ” μ „κΈ° μ‹ ν˜Έμ˜ 크기값(숫자)이닀.
  • 이 크기 값을 κ·ΈλŒ€λ‘œ μ‚¬μš©ν•  경우 λ°μ΄ν„°μ˜ 크기도 맀우 μ»€μ§€κ²Œ λ˜λ―€λ‘œ κ³΅ν†΅λœ 규격의 ν˜•νƒœ κ°’μœΌλ‘œ mapping(λ§΅ν•‘)μ‹œν‚€λŠ” 절차λ₯Ό μˆ˜ν–‰ν•˜λŠ”λ°, 이 과정을 μ–‘μžν™”λΌκ³  ν•œλ‹€.
    • 16 bits (2 bytes) 데이터 전솑 규격으둜 μ–‘μžν™”ν•  경우, $2^{16}$개의 데이터λ₯Ό λ””μ§€ν„Έλ‘œ ν‘œν˜„ν•  수 μžˆλ‹€.

      • $2^{16} = 65,536$
    • μ–‘μžν™” 과정을 ν†΅ν•΄μ„œ λ²„λ €μ§€λŠ” 정보λ₯Ό μ–‘μžν™” μ—λŸ¬, λ˜λŠ” μ–‘μžν™” 작음이라고 ν•œλ‹€.

Coding