직관 · 무엇이 보이나?
보호, 운반 크기 조정, 무작위화는 서로 다른 작업입니다.
CRC는 남은 오류를 찾고, channel code는 복구에 쓸 구조적 중복을 만들며, rate matching은 현재 자원 수에 맞춰 coded bit를 고릅니다. Scrambling은 선택된 bit를 알려진 sequence와 XOR합니다.
- LTE UL-SCH data는 Turbo coding 계열을, NR UL-SCH data는 LDPC를 사용합니다. NR Polar는 control-information 경로에서 조건에 따라 사용되며 PUSCH payload codec 전체를 뜻하지 않습니다.
- Scrambling은 bit 길이를 보통 유지하며 encryption이나 FEC로 설명하지 않습니다.
Protected bit pipeline
CRC·coding·rate matching·scrambling은 서로 다른 문제를 해결합니다.
크기 관계와 XOR은 교육 예이며 표준 test vector가 아닙니다.
- 01Payload + CRC attachment
A → B = A + L bit원본 transport block에 남은 block error를 검출할 check bit 추가
- 02Channel coding
N_r bit / code blockdecoder가 오류를 추정할 수 있는 구조적 중복 생성
- 03Rate matching
E_r bit / code block각 code block r에서 할당 resource와 redundancy version에 맞게 선택·반복·puncture
- 04Code-block concatenation
G = Σ_r E_r bitrate-matched code block들을 순서대로 이어 physical-channel bit sequence를 구성
- 05Scrambling
G bit → G bit길이 G의 pseudo-random sequence와 XOR; scrambling 전후 bit 수는 유지
G input bits11110000
Sequence c(n)10100110
XOR output01010110
Receiver XOR01010110 ⊕ 10100110 = 11110000
| 과정 | 주목적 | 길이 변화 | 수신기 역과정 | 오해하면 안 되는 점 |
|---|---|---|---|---|
| CRC | 잔여 block error 검출 | check bit 추가 | 재계산·비교 | 오류를 직접 복구하는 code가 아님 |
| Channel coding | 오류 복구 능력 | 중복 증가 | soft-input decoding | 단순 bit 복제와 동일하지 않음 |
| Rate matching | 할당 자원과 code rate 정합 | code block마다 E_r에 맞춤 | de-rate matching | HARQ RV에 따라 선택 위치가 달라질 수 있음 |
| Code-block concatenation | rate-matched block을 codeword 순서로 결합 | C=2이면 G=E_0+E_1 | code block별 분리 | 한 block의 E_r를 전체 G와 같다고 둘 수 없음 |
| Scrambling | sequence randomization·구분 | G input → G output | 같은 sequence로 XOR | 암호화나 FEC가 아님 |
실무 조작·해석 · 무엇을 바꿀까?
같은 modulation에서도 code rate와 RV를 따로 기록합니다.
QPSK라는 이름만으로 payload size, coded length와 반복 전송에서 선택된 bit 위치를 알 수 없습니다.
- transport block size, CRC·code-block 수 C, code block별 목표 E_r bit, 전체 G bit, modulation order, layer 수와 redundancy version을 waveform 조건표에서 분리합니다.
- 수신기는 G개 LLR을 descramble한 뒤 code block별로 분리하고 de-rate matching으로 code-domain 위치에 되돌립니다. HARQ 재전송이면 이전 soft information과 결합한 다음 decode·CRC 확인을 수행합니다.
수식·규격 · 어떻게 검증할까?
Rate matching은 mother code와 실제 전송 자원 사이의 interface입니다.
Mother-code output N_r과 이번 전송에서 각 code block의 목표 E_r는 같을 필요가 없습니다. Rate-matched block을 concatenation하면 G = Σ_r E_r가 되고, scrambling은 G input bit를 G output bit로 바꿉니다.
rate matching: E_r per code block → code-block concatenation: G = Σ_r E_r → scrambling: G bit → G bit; C=2이면 G = E_0 + E_1
- Puncturing·shortening·repetition의 정확한 규칙과 interleaving은 RAT·channel·code에 의존하므로 clause와 조건을 함께 추적합니다.
- 이 페이지의 bit 예는 변환 역할만 보여주며 full encoder, decoder, HARQ process나 표준 test vector를 실행하지 않습니다.
Clause trace
숫자와 구조의 적용 범위
| 근거 | Version · clause | 적용 범위 | 종류 |
|---|---|---|---|
| 3GPP TS 36.212 UL-SCH CRC, code-block segmentation, Turbo coding and rate matching | 17.1.0 § 5.2.1–5.2.4 | LTE UE uplink shared-channel transport-block processing; excludes a full encoder/decoder implementation here | normative |
| 3GPP TS 36.211 PUSCH scrambling | 17.4.0 § 5.3.1 | LTE UE PUSCH codeword scrambling before modulation | normative |
| 3GPP TS 38.212 CRC, code-block segmentation, LDPC/Polar coding and rate matching | 17.7.0 § 5.1–5.4 | NR generic channel-coding functions and code-family applicability; not a complete codec implementation | normative |
| 3GPP TS 38.212 UL-SCH transport-channel processing | 17.7.0 § 6.2 | NR UE PUSCH data path, including UL-SCH LDPC processing and codeword generation | normative |
| 3GPP TS 38.212 UCI and DCI coding paths using Polar coding when applicable | 17.7.0 § 6.3.1 and 7.3.3 | NR control-information context; Polar is not presented as the UL-SCH data codec | normative |
| 3GPP TS 38.211 PUSCH scrambling | 17.7.0 § 6.3.1.1 | NR UE PUSCH codeword scrambling before modulation | normative |
학습 확인
결과를 예측하고 stage까지 설명하세요.
같은 coded block의 HARQ 재전송에서 redundancy version을 바꾸는 주목적은?
바뀐 값 → 영향받은 source/DUT/filter/PA stage → 화면 결과 → 한계·오차 순서로 적습니다.
먼저 원리 문제를 맞게 고정하세요.