Communications Blockset | ![]() ![]() |
Decode a Reed-Solomon code to recover binary vector data
Library
Block sublibrary of Channel Coding
Description
The Binary-Output RS Decoder block recovers a binary message vector from a binary Reed-Solomon codeword vector. For proper decoding, the parameter values in this block should match those in the corresponding Binary-Input RS Encoder block.
If the Reed-Solomon code has message length K and codeword length N, then N must have the form 2M-1 for some integer M greater than or equal to 3. The code is more efficient if N-K is an even integer.
The input and first output are binary-valued signals that represent codewords and messages, respectively. The input must contain exactly M*N elements. If it is frame-based, then it must be a column vector. The first output is a vector of length M*K.
The M*N input bits represent N integers between 0 and 2M-1, where more significant bits are to the right. Similarly, M*K output bits represent K integers between 0 and 2M-1. These integers in turn represent elements of the finite field GF(2M).
The second output is the number of errors detected during decoding of the codeword. A negative integer indicates that the block detected more errors than it could correct using the coding scheme. An (N,K) Reed-Solomon code can correct up to floor((N-K)/2)
symbol errors (not bit errors) in each codeword.
Dialog Box
Pair Block
See Also
![]() | Binary Linear Encoder | Binary Symmetric Channel | ![]() |