Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- mongodb
- 파이썬3
- Windows10
- 맥에 파이썬 설치
- Jupyter notebook
- console.log
- MYSQL
- collection.find
- util.inspect
- mongodb nodejs driver
- [Object]
- Projection
- 맥
- query
- mongo-native
- pip jupyter
- nodejs mongodb
- node.js 연동
- Installation
- python3
- node.js설치
- mongoDB [Object]
- MacOS
- Node.js
- homebrew
Archives
- Today
- Total
Bon Voyage
CS144 7-4 FEC and Reed-Solomon 본문
Introduction to Computer Networking, Stanford University
https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/about
Unit 7: Lower Layers 중 FEC and Reed-Solomon 파트 수업 필기 정리
FEC
Forward Error Correction
SNR / BER Curves
- when given a modulation scheme and SNR, you can compute expected BER(Bit Error Rate)
- BER can become low but never reaches zero!
- directly turning Link Layer Bits into Physical Layer Bits is really inefficient, far below Shannon limit
Coding
- add a redundancy to make up for expected bit errors
- coding gain: ratio of bits at link layer to bits at physical layer
- 1/2 code: each link layer bit is 2 physical layer
- This concept is Forward Error Correction(FEC)
- proactively adding some additional data(redundancy) so recipient can correct potential errors
- so you can save the cost of message changes
Algorithms for Coding
- many algorithms with different tradeoffs: Hamming Codes, Convolutional Codes, LT Codes, LDPC, Turbo Codes, Tornado Codes, Raptor Codes..
Reed-Solomon Error Correction
- VEEERY commonly used coding algorithm: e.g. CDs, DVDs, DSL, WiMax, RAID6 storage...
- Mathematically simple (compared to some others)
Basic Idea
- Take k chunks of data
- represent the data as coefficients of a polynomial
- compute points along the polynomial, then send those points
- then recipient reconstitute the coefficients
Downsides
- points must be in a finite filed (so limited number of bits)
Details
- Two kinds of errors: Erasure: erased values, location of error is known Errors: bit error, location of error is unknown
- Take k chunks of data, code into n chunks (n ≥ k)
- Reed-Solomon can correct up erasures and errors: (255,223)→ (n-k) Erasures, (n-k)/2 Errors
e.g. R(255,223) this can correct up to 255-223 = 32 Erasures / 32/2 = 16 Errors
This isn't what's done in practice today, too complex to decode, need for the math to work ... but it gives you the basic idea
Interleaving
- A (n+k, n) Reed-Solomon code protects against k erasures or k/2 errors
- but Physical media often have burst errors, so Reed-Solomon protection could be not enough
- with Interleaving we can encode data more robust
e.g. when sending A₀ ~ A₂₀, B₀ ~ B₂₀, ... L₀ ~ L₂₀ sending it using interleaving A₀B₀..L₀, A₁B₁C₁..L₁, ...
→ so that Reed-Solomon protection could cover more Bit Errors
'개념 공부 > 네트워크' 카테고리의 다른 글
CS144 7-5 CSMA/CD and Ethernet (0) | 2019.10.01 |
---|---|
CS144 7-3 Clocks and Clock Recovery (0) | 2019.09.27 |
CS144 7-2 Bit Errors (0) | 2019.09.27 |
CS144 7-1 Shannon Capacity and Modulation (0) | 2019.09.25 |
Comments