일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 전국대학생게임개발동아리연합회
- 게임개발동아리
- 백엔드
- AWS
- 생활코딩
- RDS
- 프로그래밍
- 백엔드개발자
- 스프링부트
- Developer
- 오블완
- 개발공부
- CICD
- 인프라
- UNICON2023
- 라피신
- UNIDEV
- 배포
- UNICON
- 자바개발자
- 인디게임
- 42서울
- 스프링
- 도커
- 위키북스
- EC2
- 프리티어
- 온라인테스트
- 티스토리챌린지
- 체크인미팅
- Today
- Total
Hyun's Wonderwall
[정보통신공학] Chap 5. Data Encoding, Modulation, Sampling 및 Quantization 본문
[정보통신공학] 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] ->
(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 대비 얼마만큼 "세게" 쏘는지.
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는 너무 촘촘하게 하면 문제.
Bandwidth of modulated signal (B_T)
Bandwidth 측면에서는 MPSK가 유리함. (근데 BER이 안좋아질 수 있음.)
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들이 연속적으로 늘어서는 간격.
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.
'Subjects > 정보통신공학' 카테고리의 다른 글
[정보통신공학] Chap 7. Data Link Protocols (0) | 2024.04.21 |
---|---|
[정보통신공학] Chap 6. Error Detection & Correction (0) | 2024.04.20 |
[정보통신공학] Chap 4. Transmission Media (0) | 2024.04.19 |
[정보통신공학] Chap 3. Data Transmission (0) | 2024.04.19 |
[정보통신공학] Chap 2.(2) HTTP, SMTP, Socket Programming (0) | 2024.04.19 |