Hyun's Wonderwall

[정보통신공학] Chap 5. Data Encoding, Modulation, Sampling 및 Quantization 본문

Subjects/정보통신공학

[정보통신공학] Chap 5. Data Encoding, Modulation, Sampling 및 Quantization

Hyun_! 2024. 4. 19. 15:52

예제: Maximum Data Rate
Telephone line: 주파수 범위 300~3300Hz. 대역폭: 3000Hz.
- Signal-to-noise ratio: 3162
- 이때 이론적으로 highedst data rate = C를 구하면 된다.


Encoding vs Modulation

Physical Layer의 핵심 두 요소: Encoding & Modulation (데이터: 아날로그/디지털 상관x)

- Encoding(인코딩): 데이터를 디지털 신호로 변환 (통신 channel을 통해 전송할 수 있는 포맷)

- Modulation(변조):  데이터를 아날로그 신호로 변환

- 인코딩된 데이터를 운반하기 위해 carrier signal을 사용 

(아날로그 신호에 싣기 위해. 주파수 fc로 carrier signal로 변환. sin(2π*fc*t + 세타) 

푸리에 분석하면 주파수 fc에 생김. 어떤 신호 곱하면 fc 주변에 내 신호 생김. 그것이 carrier signal.)

carrier signal에 encoded data 실어서 보내는 것이 modulation

 

Encoding vs Modulation

digital or analog -> [Encoder] -> digital -> [Decoder] ->

 

                               ↓fc(T) carrier freq 의해 고주파가 됨

digital or analog -> [Modulator] -> analog -> [Demodulator] ->

(b)에서 fc로 인해 고주파 대역으로 이동한 것이 핵심

(encoded 된 데이터가 modulation이 되어서 analog 상태로 이동함.

demodulation할 때는 fc로 올라갔던걸 다시 낮춰야 함(carrier frequency 성분 빼야) 그럼 내거 얻어짐

modulation: 서로 주파수 겹치지 않으면서 잘 나누어 쓸 수 있도록 하는 역할!

Digital Data, Digital Signal

Digital signal: 시간 측면에서 discrete(개별적), 값 측면에서 불연속적인 전압 펄스들의 시퀀스

- 각 펄스는 신호 요소이다

- 이진 데이터는 각 데이터 비트를 신호 요소로 인코딩하여 전송된다.

Key Data Transmission Terms

Data Element: a single binary 1/0

- 단위: bits

Data rate: data elements가 전송되는 속도

- 단위: bps 

Signal element: 신호 코드의 가장 짧은 간격을 차지하는 신호 부분

(digital) - 단위: constant amplitude의 하나의 voltage pulse

(analog) - 단위: frequency, phase, amplitude

Signaling rate or modulation rate: signal element가 전송되는 속도

- 초당 signal element 수 (baud)

 

Data rate와 Signaling rate가 다른 경우 존재!

Manchester와 같은 경우는 신호 속도가 2배, S = 2*D. (같은 bit에 더 많은 신호-오버헤드)

Interpreting Signals

* RX에서 디지털 신호를 해석하는 데 수반되는 작업:
- 비트의 타이밍 - 언제 보낼거고 끝낼건가

- 신호 레벨 (0, 1 몇퍼센트인지)
* 신호 해석에 영향을 미치는 요인:
- 신호 대 잡음비 (신호가 얼마나 강한지)
- 데이터 속도
- 대역폭

Definition of Digital Signal Encoding Formats

  • NRZ: 0은 low / 1은 high
  • NRZ-L: 0은 high / 1은 low
  • NRZI: 0은 유지 / 1은 flip (transition)
  • Bipolar-AMI: 0은 0 / 1은 1 또는 -1을 왔다갔다 (앞것에 alternating하게)
  • Pseudoternary: 0은 1 또는 -1 왔다갔다 / 1은 0 (B-AMI에 반대)
  • Manchester: 0은 high->low / 1은 low->high
  • Differential Manchester: 0일때 인터벌 시작에서 transition / 1일때 no-transition

Bipolar-AMI와 Pseudoternary는 이전 bit 몰라도 큰 문제 없음 (정보 달라지지x)

그러나! NRZI와 Differential Manchester는 이전 정보가 무엇이었는지가 wave에 큰 영향

이전 Signal이 0이었냐 1이었냐에 따라서 두개의 답이 있을 수 있다.

 

아 얘네들이 어떤게 왜 좋고,,

- 빨리 변하는 거 = 고주파 성분 포함 (differential manchester 등)

- 이미지도 색이 확 바뀌면 고주파

 

Encoding Schemes // 안봄

Signal Spectrum: 주어져있는 대역폭에 transmission power을 실을 수 있게 해야 (너무 고주파: 인코딩 의미x)

Clocking: TX랑 RX 서로 맞출수있게

Error Detection: physical layer에서도 할 수 있어야 함

Signal interference and noise immunity

Cost and complexity: 한 bit 전달 위해 너무 많이 signal하면 cost 높

 

NRZ: 0이면 0 / 1이면 +V.

NRZ-L: 0이면 +V / 1이면 0.

NRZI: 0일때 no transition / 1일때 transition(low to high, high to low)

- 데이터는 레벨보다 변화로 표현된다.

- 변화는 노이즈 있는 상황에서 (임계값 비교하는 것보다) 감지 신뢰성 높음

- polarity를 잃기 쉽다 (시작되는 값 달라지면 0, 1달라짐)

 

Spectral Density of Various Signal Encoding Schemes

* 가로축: Normalized frequency(f/R), 세로축: 단위 대역폭당 평균 제곱 "전압"

 

Manchester, Differential Manchester: 빠르게 보내서 고주파성분 가짐 (내가 쓸 수 있는 대역폭 적으면 못 쓸수도)

NRZ, NRZ-L, NRZI: f=0 voltage가 존재 = 전력소모 많음. (평균내면 일정한 constant voltage를 계속 쓰고 있음)

AMI, Pseudoternary, Man~, Diff~ Man~ -  f=0일때 값이 없음. 전력소모 크지않음

 

 

정리

인코딩: 데이터 bits를 modulation 하기 전에 digital signal로 (voltage pulse로) 바꾸는 것

NRZ, NRZ-L, NRZI: 직류 전압 계속 소모되어 전력 소모 큼

AMI, Pseudoternary : 전력 소모 적음. 대역폭 작음.

Manchester, Differential Manchester: 전력 소모 적은데 고주파 성분이 있어서 overhead 있을 수 있음. 대역폭 큼.

 

 

Multilevel Binary Bipolar-AMI

- 0: no line signal

- 1: +V 또는 -V (alternate in polarity)

- no loss of sync if a long string of 1s occurs (clock처럼 쓰일 수 있음)

- no det dc component (f=0일때 0)

- lower bandwidth

- error correction이 쉬움

 

Multilevel Binary Pseudoternary

- 0: +V 또는 -V (alternate in polarity)

- 1: no line signal

- 장단점은 B-AMI와 같음

 

Theoretical Bit Error Rate for Various Encoding Schemes

가로축: Eb/N0 (비트당 SNR. 한 비트당 에너지) - 작을 수록 좋다.

세로축: BER (Probability of bit error) - 작을 수록 좋다.

즉 왼쪽 아래로 갈수록 좋다 (같은 BER: Eb/N0작은 것. 같은 SNR: Eb/N0 작은 것.)

번외) SNR: 내가 noise 대비 얼마만큼 "세게" 쏘는지.

NRZ, biphase PSK, OPSK가 좋다

 

 

Manchester Encoding

- 각 비트 주기 중간에 transition 존재
- Midbit transition -> clocking 매커니즘과 data 역할 가능

- 0: High to low

- 1: low to high

Ø High-Low 전환은 0을 나타냅니다

 

Differential Manchester Encoding

- Midbit transition은 clocking에서만 쓰고 0, 1엔 관계없음

- 0: interval의 시작에서 transition 있음

- 1: transition 없음 (이어서함)

 

Biphase Pros and Cons (Man, Diff Man)

장점: midbit로 동기화. dc component 없음. 에러 감지 잘 됨.

단점: 한 비트에 적어도 하나의 transition(혹은 둘).

- 최대 modulation rate이 NRZ의 두배 (signal element를 1bit당 2개 요구하므로/신호 대비 데이터는 NRZ의 1/2배) 

- 더 많은 대역폭을 요구한다.

 

NRZI와 Manchester

- NRZI: 한 bit 한 signal element. signal이 하나로 유지됨.

- Manchester: 한 bit가 2 signal element

 

Normalized Signal Transition Rate of Various Digital Signal Encoding

(signal elements의 수 / bits의 수)

= (transition의 수 / bits의 수)로 생각해보기


Modulation 주제 시작

Data bits (010101...)을 보내기 위해 voltage pulse로 인코딩하는 방법을 배웠어요

변환된 Signal Element을 아날로그 신호에 싣는 것을 Modulation이라고 합니다

Data bits -> [ Encoder ] -> signal element -> [Modulator] -> 아날로그 신호 -> [Demodulator] -> -> [Decoder] ->

Digial Data, Analog Signal

주 용도는 public telephone system
- 아날로그 신호를 수신, 전환 및 전송하도록 설계됨
- 300Hz ~ 3400Hz 주파수 범위

- (modulator-demodulator)을 사용하여 디지털 데이터를 아날로그 신호로 변환하고 그 반대의 경우도 변환한다.

 

Modulation of Analog Signals for Digital Data

NRZ-L로 0과 1 예제

ASK: Amplitude, FSK: Frequency, PSK: Phase

  • ASK: analog signal의 진폭(크기)으로 구별.
    - 0: A가 0인 것이고 1: Asin(2πft)
  • BFSK: 주파수를 0=저주파, 1=고주파
    - 0:  Asin(2πf1t), 1: Asin(2πf2t)로 놓았을 때 f1<f2. (예제에서는 f1=f2/2)
  • BPSK: 1이 그냥 Asin(2πft) 였다면 0은 Asin(2πft+π) = - Asin(2πft)

ASK - Amplitude Shift Keying: carrier 진폭을 다르게 함 (보통 하나 진폭이 0)

- 전반적으로 비효율적. 노이즈에 취약

 

BFSK - Binary Frequency Shift Keying- FSK의 가장 일반적인 형태
- 두 개의 이진 값은 두 개의 서로 다른 주파수로 표시된다 (carrier frequency의 주변으로*)

- 0 : f1 = fc - Δ (fc보다 조금 작음)

- 1 : f2 = fc + Δ (fc보다 조금 큼)
- ASK보다 오류 발생 가능성이 작다.

- 사용처: 음성 등급 회선에서 최대 1200bps, 고주파 라디오, coaxial 케이블을 사용하는 LAN에서 더 높은 주파수

 

아래의 이미지 - Full-Duplex FSK Transmission on a Voice-Grade Line 에서는

fc를 기준으로 좌우로 보내는/받는 영역을 나누었다.

왼쪽이 내가 보내는 signal 스펙트럼, 오른쪽이 내가 받는 signal 스펙트럼.

- 왼쪽(보냄) 1070: '0', 1270: '1'

- 오른쪽(받음) 2025: '0', 2225: '1'

BFSK는 1 bit (0/1) 나타내는데 2개 주파수 사용. 한번에 더 많은 bit 받으려면? -> MFSK

 

MFSK - Multilevel FSK

- 각 signaling element는 2개 이상의 비트를 나타낸다. (1개면 BFSK)

- 2개보다 많은 주파수가 사용된다.

- 대역폭 효율이 향상된다.

- 오류에 더 취약하다.

 

n개 bit 나타내려면 2^n개 주파수 필요 (2 bit (00/01/10/11) - 4개 주파수)

(예시) 00: fc-3fd, 01: fc-fd, 10: fc+fd, 11: fc+3fd // 11일 때 그래프에서 fc+3fd가 솟음

 

PSK - Phase Shift Keying

- carrier signal의 위상(phase)이 데이터를 나타내기 위해 이동한다.

BPSK: 2개 phases가 2bit 나타냄 (ex. phase가 π, 0)

DPSK: Differential,  이전 전송에 의해 위상이 전환됨. (0일때: 유지 / 1일때: phase 바꿈)
MPSK: phase 여러개

+) QPSK: M=4

 

Multilevel FSK와 Multilevel PSK의 이론적인 BER 비교

M: different signal elements의 수 (L: 나타내는 bit 수 라고 할 때 M=2^L)

M=2, M=4일때는 PSK가 좋다. M이 커질수록(M=8) FSK가 좋다. PSK는 너무 촘촘하게 하면 문제.

Multilevel FSK와 Multilevel PSK의 이론적인 BER 비교. M=2일 때는 PSK가 좋음.&nbsp; M=4일 때는 비슷. M=8일 때는 FSK가 좋음.

 

Bandwidth of modulated signal (B_T)

Bandwidth 측면에서는 MPSK가 유리함. (근데 BER이 안좋아질 수 있음.)

R = bit rate. r = 신호가 필터링된 정도를 나타냄 (0 < r < 1)

ASK: B_T = (1+r) * R    // 여러개 보낼 수 없어서 M 없음

MFSK: B_T = ( (1+r) * M / log_2(M) ) * R    // M에 비례해 대역폭 증가

MPSK: B_T = ( (1+r) / L ) * R = ( (1+r) / log_2(M) ) * R    // M이 커지면 대역폭 감소

 

 

Digital to Analog Modulation Schemes의 성능

  • Bandwidth 측면
    - ASK/PSK 대역폭은 비트 전송률과 직접적인 관련이 있다.
    - Multilevel PSK에서 M 커지면 대역폭 감소해 굿.
  • Noise (Error) 측면
    - PSK, QPSK의 BER이 ASK, FSK보다 약 3dB 우수하다.

    - MFSK와 MPSK는 대역폭 효율성과 애러 성능 사이에서 tradeoff

Sampling & Quantization (아날로그->디지털) 주제 시작

Analog Data, Digital Signal
- Digitization은 아날로그 데이터를 디지털 데이터로 변환하는 것 (디지털 데이터: 인코딩, 변조 될 수 있)

- 아날로그->디지털 변환은 코덱에서 수행한다

- analog를 digital로 바꾸는 과정에서의 변조: Pulse code modulation, Delta modulation

(이 modulation은 아날로그 데이터에 싣는 변조와 다름)

 

Digitizing Analog Data (TX에서 일어남)

Analog data -[Digitizer, ADC]-> Digital data -[Encoder, Modulator]-> Analog Signal (ASK)이 날라감

// doc, image 데이터는 Digitizing 과정 없을수도 있

 

Pulse Code Modulation (PCM)

- 샘플링 이론에 기반한다.

- fs > 2*fM 으로 해야 aliasing effect 없이 sample된 function에서 원래 신호를 완전히 복원 가능.

-  "신호 f(t)가 일정한 시간 간격으로 최고 주파수의 두 배 이상의 속도로 샘플링되면, 샘플에는 오리지널 신호의 모든 정보가 포함된다."

- Samping 주기 Ts = 1/fs.  |  fs: sampling rate  |  fM: signal의 최고 주파수

- 함수 f(t)는 lowpass filter를 사용해 이러한 샘플로부터 재구성될 수 있다.

-  lowpass filter(LPF): idel한 원래 신호 주파수 부분만 잘라냄.

+ 잘 이해 안되어서 읽은 글: https://velog.io/@ynwag09/aliasing

Sampling하는 간격(impulse train) -> Frequency domain에서 fourier transform된 signal들이 연속적으로 늘어서는 간격.

fs, fm 비교

 

Pulse Amplitude Modulation (PAM)

- PAM signal: sampling을 마친 analog samples. time은 이산적이게 바뀌었으나 값이 연속적.

- 디지털로 변환하려면 이 아날로그 샘플에 각각 이진 코드를 할당해야 한다.

 

Quantization

- linear: 균등하게 쪼갬

- non-linear: 많이 쓰이는 아랫부분 디테일하게 쪼개고 잘 쓰이지 않는 윗부분 듬성듬성

 

Pulse-Code Modulation Example

- 4bit. 0~15, 16개 구간 표현 가능.

- PCM code: PAM signal에 quantizing을 해서 나온 것

- 예시에서는 quantized code number 계산을 내림으로 설정함 (올림, 반올림도 가능)

+) 왼쪽 Code Number와 오른쪽 Normalized magnitude 값 다름 주의

 

PCM Block Diagram

(연속적 시간, 연속적 값(진폭)의 analog 입력 신호)

-[PAM sampler]-> (이산적 시간, 연속적 값의 analog 신호. PAM pulses)

-[Quantizer]-> (이산적 시간, 이산적 값의 신호(PCM pulses)) 

-[Encoder]-> (디지털 비트스트림 출력 신호)

 

이것이 아날로그 데이터가 어떻게 디지털까지 나가게 되는지

Encoder에서 NRZ 시리즈 등 통해서 output signal 바뀜

 

Non-linear coding

자주 쓰이는 +-0주변은 촘촘하게, 자주 안 쓰이는 0이랑 먼 쪽은 듬성듬성한 값으로

정리

인코딩: 디지털 데이터->디지털 시그널

Shifting: 디지털 시그널->아날로그 시그널

Sampling, Quantizing (PCM, PAM): 아날로그 데이터->디지털 시그널

ADC. DAC.