주요 콘텐츠

rsenc

리드-솔로몬 인코더

설명

code = rsenc(msg,n,k)는 [n,k] 리드-솔로몬 코드와 narrow-sense 생성 다항식을 사용하여 msg의 메시지를 인코딩합니다. n은 코드워드 길이이고 k는 메시지 길이입니다. 출력값 code는 리드-솔로몬 코드입니다.

예제

code = rsenc(msg,n,k,genpoly)는 코드에 대해 생성 다항식을 지정합니다.

code = rsenc(___,paritypos)code를 형성할 때 입력 메시지에 추가되는 패리티 심볼의 위치를 지정합니다.

예제

모두 축소

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

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의 행과 일치합니다.

입력 인수

모두 축소

입력 메시지로, 모든 값이 0보다 크거나 같은 행렬로 지정됩니다. msg는 각각 m비트를 갖는 심볼로 구성된 갈루아 배열입니다. msg의 각 행의 k개 요소가 메시지 워드를 나타내며, 맨 왼쪽 심볼이 최상위 심볼입니다.

데이터형: double

코드워드 길이로, 2m–1 형식의 정수로 지정됩니다. 여기서 m은 [3, 16] 범위 내에 있습니다. n은 [7, 65535] 범위 내에 있어야 합니다.

n이 정확히 2m-1이 아닌 경우, rsenc 함수는 단축 리드-솔로몬 코드를 사용합니다.

참고

nk의 차이는 양의 짝수 정수여야 합니다.

데이터형: double

메시지 길이로, 양의 정수로 지정됩니다.

데이터형: double

내림차순으로 정렬된 생성 다항식 계수로, 갈루아 행 벡터로 반환됩니다. genpoly는 narrow-sense 생성 다항식의 계수를 거듭제곱 내림차순으로 나타냅니다. 디폴트 narrow-sense 생성 다항식을 사용하려면 genpoly[]로 설정하십시오.

생성 다항식은 차수 n-k를 가져야 합니다.

데이터형: double

code를 형성하기 위해 입력 메시지에 추가되는 패리티 심볼의 위치 표시로, 다음 옵션 중 하나로 지정됩니다.

  • "end" — 입력 메시지의 뒤에 패리티 심볼을 추가합니다.

  • "beginning" — 입력 메시지의 앞에 패리티 심볼을 추가합니다.

데이터형: char | string

출력 인수

모두 축소

리드-솔로몬 코드로, 모든 값이 0보다 크거나 같은 행렬로 반환됩니다. 패리티 심볼은 이 출력 갈루아 배열 코드의 각 워드 끝에 위치합니다.

데이터형: double

버전 내역

R2006a 이전에 개발됨