Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

rsenc

리드-솔로몬 인코더

구문

code = rsenc(msg,n,k)
code = rsenc(msg,n,k,genpoly)
code = rsenc(...,paritypos)

설명

code = rsenc(msg,n,k)는 [n,k] 리드-솔로몬 코드와 narrow-sense 생성 다항식을 사용하여 msg의 메시지를 인코딩합니다. msg는 각각 m비트의 심볼로 구성된 갈루아 배열입니다. msg의 각 행의 k개 요소가 메시지 워드를 나타내며, 맨 왼쪽 심볼이 최상위 심볼입니다. n은 최대 2m-1입니다. n이 정확히 2m-1이 아닌 경우, rsenc는 단축 리드-솔로몬 코드를 사용합니다. 패리티 심볼은 출력 갈로아 배열 code의 각 워드 끝에 위치합니다.

code = rsenc(msg,n,k,genpoly)는 위의 구문과 동일하며, genpoly의 비어 있지 않은 값이 코드의 생성 다항식을 지정한다는 점만 다릅니다. 이 경우 genpoly는 생성 다항식의 계수를 거듭제곱 내림차순으로 나열하는 갈로아 행 벡터입니다. 생성 다항식은 차수 n-k를 가져야 합니다. 디폴트 narrow-sense 생성 다항식을 사용하려면 genpoly[]로 설정하십시오.

code = rsenc(...,paritypos)code를 생성할 때 rsenc가 패리티 심볼을 입력 메시지의 앞에 붙일지 끝에 붙일지 지정합니다. paritypos'end' 또는 'beginning'일 수 있습니다. 디폴트 값은 'end'입니다.

예제

모두 축소

코드 파라미터를 설정합니다.

m = 3;           % Number of bits per symbol
n = 2^m - 1;     % Codeword length 
k = 3;           % Message length

GF(8)에 기반한 메시지를 2개 생성합니다.

msg = gf([2 7 3; 4 0 6],m)
 
msg = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)
 
Array elements = 
 
   2   7   3
   4   0   6

RS (7,3) 코드워드를 생성합니다.

code = rsenc(msg,n,k)
 
code = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)
 
Array elements = 
 
   2   7   3   3   6   7   6
   4   0   6   4   2   2   0

체계적(systematic) 코드이기 때문에 각 행의 처음 3개 심볼이 msg의 행과 일치합니다.

제한 사항

nk의 차이는 정수여야 합니다. n은 7과 65535 사이여야 합니다.

버전 내역

R2006a 이전에 개발됨