2014-07-16 1 views
0

Reed-Solomon 디코더를 작성하고 성능 개선을 실험하고 싶습니다. Reed-Solomon 패리티 바이트가 추가 된 샘플 데이터는 어디에서 찾을 수 있습니까?샘플 리드 - 솔로몬 인코딩 데이터는 어디에서 얻을 수 있습니까?

모든 종류의 1D 및 2D 바코드에서 Reed-Solomon이 사용되지만, 페이로드와 패리티 바이트가 명확하게 분리 된 원시 데이터 (바이트 배열)를 갖고 싶습니다.

도움을 주시면 감사하겠습니다.

+0

바이트 데이터를 사용하여 자신 만의 정보를 만드는 것은 그리 어렵지 않을 것입니다. 파일을 시작점으로 – 101

답변

0

기본적으로 리드 솔로몬 코드는 0과 (m-1) 사이의 값으로 구성된 문자로 구성됩니다. 여기서 m은 RS 코드를 생성하는 데 사용되는 갈루아 필드의 노출 자입니다. 예를 들어 GF (2^8) (2^8 = 256)에서는 0에서 255 사이의 문자로 구성된 RS 코드를 얻을 수 있습니다 (ASCII, UTF-8 및 일반적인 이진 인코딩과 호환 가능). GF (2^16)에서는 0에서 65535 사이의 문자를 인코딩합니다 (2 문자를 하나의 문자로 인코딩하면 UTF-16 또는 UTF-8과 호환 가능).

RS 코드의 각 문자 값 범위 이외의 나머지는 기본적으로 외부 POV에서 임의로 간주 할 수 있습니다 (생성 다항식 및 갈루아 필드가있는 경우가 아니라, 샘플에서 유효 범위의 값을 임의로 분배한다고 가정 할 수 있습니다).

해당 데이터 블록이있는 RS 코드의 실제 샘플을 생성하려면 Python library pyFileFixity (면책 조항, 저자입니다)을 사용할 수 있습니다. 기본적으로 각 ecc 블록은 md5 다이제스트로 분리되어 있으므로 명확하게 구분할 수 있습니다. 원본 데이터는 저장되지 않지만 원래 데이터를 저장하기 위해 structural_adaptive_ecc.py 또는 header_ecc.py (수정이 더 쉽습니다) 스크립트를 수정하여 쉽게 수행 할 수 있습니다 (편집 할 file.write() 일뿐입니다).). 파이썬이 당신의 일이 아니라면, 선택한 언어에 맞는 리드 솔로몬 라이브러리를 찾을 수 있습니다. ecc 블록을 따라 원본 데이터를 인쇄하거나 파일에 저장하기 위해 약간의 수정 만하면됩니다.

관련 문제