리드 솔로몬(Reed-Solomon) 부호화 관련
글쓴이: yjc99 / 작성시간: 월, 2019/08/05 - 3:11오후
데이터의 오류검출및 정정이 필요하고, 이것과 관련해서 리드-솔로몬이라는 알고리즘이 있어서 좀 볼려고 하는데 너무 어렵네요.
c로된 소스가 있어 분석해야 하는데 그전에 개념부터 알려고 검색해서 자료들 찾아보려고 했는데, 알수없는 용어와 다항식의 수식으로 설명되어 있는등 도무지 이해하기가 어렵네요.;;
(이런 다항식의 수식은 또 수학어느부분에서 나온건지조차도 감이 안잡히네요;;)
리드-솔로몬 관련해서 어떻게든 이해할수있을만한 자료나, 방법 없을까요? 또 원래 이런 오류정정관련 부호화쪽이 수학적 난이도가 있는 부분인걸까요?
아시는 분 계시면 조언 부탁드립니다.
Forums:
쉬웠으면 좋겠네요...
저는 어렵더라고요, FPGA가지고 실시간 데이터 처리하는 장치를 만드는데 이놈을 적용하는데,
IP라고해서 전문가들이 만들어준 라이브러리를 가져다 쓰는데만도 공부가 꽤 필요하던데요.
원리 이해는 신드롬 계산 어쩌고 하는 부분에서부터 머리가 못따라가는 바람에 관뒀어요 ㅠㅠ
그리고 터보니 비터비니 하는 각 부호화 방법마다 특장점이 있지만, 대부분은 데이터
전송효율을 위해서 나중에 발표된 부호화 방법을 적용하는데
제가 알기론 십년전쯤 부터인가 LDPC라는게 많이 쓰이는 모양이에요.
리드솔로몬도 심볼을 어떻게 얹냐에 따라 다르겠지만 데이터가 한번에 좌르륵 깨지는 경우에
강점이 있고 랜덤하게 깨지는 경우에는 LDPC가 좀 더 우위에 있는거 같아요.
가져다 쓰는데만 관심있는 저같은 사람들도 쉽게 이해되도록 누가 잘 가르쳐줬으면...
아 그리고
LDPC가 복잡도가 더 높대요. LDPC IP를 사다 실제로
구현해본건 아니라 얼마나 더 많이 리소스를 얌냠
하는지는 몰라도 꽤 높은가 보더라고요 ...
오류 검출만 필요한가요? 오류 검출과 정정이
오류 검출만 필요한가요? 오류 검출과 정정이 필요한가요?
오류 검출만 할것이면 CRC로도 충분합니다.
Reed Solomon도 완벽한 것이 아닙니다. 1비트 오류만 고칠 수 있습니다.
Written By the Black Knight of Destruction
Reed Solomon code는 구성하기에 따라
Reed Solomon code는 구성하기에 따라 2비트 이상의 오류를 고칠 수 있습니다.
RS(255,223) with 8-bit symbols 같은 구성에서는 255bytes 당 16bytes까지의 오류를 고칠 수 있지요.
오류정정이 Parity 부분이 오류가 나도 정정이 가능한건가요?
질문이 조금 이상하지만,
오류가 발생시 , Parity 부분 심볼갯수의 절반까지 오류정정이 가능한걸로 아는데, 이때 오류정정은 Parity 부분 자체에 오류가 발생해도 정정이 가능한건가요?
네. 오류가 data 부분에서 발생하던 parity
네. 오류가 data 부분에서 발생하던 parity 부분에서 발생하던 상관없이 정정이 가능한겁니다.
리드솔로몬은 1비트만 오류 발생했을때만 정정
리드솔로몬은 1비트만 오류 발생했을때만 정정 가능합니다.
그이상 오류 나오면 오류 발생했다는것만 알 수 있고 정정 못합니다.
Written By the Black Knight of Destruction
위에도 달려 있지만, Reed-Solomon은 구성에
위에도 달려 있지만, Reed-Solomon은 구성에 따라 1비트 이상 정정 가능합니다.
대표적인 RS 코드 구성인 RS(255,223) with 8-bit symbols은 255byte의 데이터에서 16byte까지의 에러를 고칠 수 있지요.
https://www.cs.cmu.edu/~guyb/realworld/reedsolomon/reed_solomon_codes.html
댓글 달기