[컴퓨터]CRC를 C로 구현
- 최초 등록일
- 2006.10.03
- 최종 저작일
- 2006.01
- 23페이지/ 압축파일
- 가격 2,500원
소개글
CRC코드입니다.
만점받은 과제입니다.
압축파일 안에 crc보고서 한글파일에 CRC에 관한 간략한 내용과
소스코드, 결과, 각 함수의 동작등을 자세하게 설명해 놓았습니다.
실행방법은 Generator를 컴파일 시킨후 아무 내용이나 글을 입력하면
askii코드로 바꾼후 CRC코드로 변환시킨후 파일로 출력합니다.
그럼 Receiver를 실행시키면 파일을 다시 받아들인후 다시 원문으로 변환시키게 됩니다.
이 과정에서 0.1%의 에러율을 넣어서 에러가 발생하면 다시 읽어들이게 만들었습니다.
많이받아가세요~
컴파일 실행환경
Microsoft visual c++하에서 작성하였습니다.
본문내용
1. 설계 보고서
1. CRC (Cyclic Redundancy Check : 순환중복검사 ) 의 정의 및 특성
- 데이터 통신에서 널리 사용되는 대표적인 에러 검출 기법으로, 에러 검출 능력이 매우 강력하면서도 쉽게 구현할 수 있어 데이터통신에서 널리 사용되는 기술이다. CRC에서는 요구되는 패리티를 얻기 위해, 프레임 단위로 에러 검출을 위한 코드를 계산하여 CRC또는 CRC Remainder라 불리는 중복비트열이 프레임 끝에 부착된다.
- CRC 의 원리는 다음과 같다. Sender 는 전송할 k 비트의 데이터에 대해 n 비트의 에러 검출 코드인 CRC 를 생성하는데, (k+n)비트로 구성된 전송 프레임이 미리 정해져있는 divisor(n+1비트)로 나누어 질 수 있도록 n 비트의 값을 정한다. 그러면 Receiver 는 수신된 프레임을 같은 divisor 로 나누어 나머지가 없으면 데이터 단위는 손상되지 않은 것으로, 즉 에러가 없는 것으로 간주되어 받아지고, 나머지가 남으면 데이터 단위가 전송중에 손상되었음을 나타내어 이때의 데이터 단위는 거절당한다.
(1) CRC 처리 과정
① 1st step :
- n개의 열이 데이터 단위의 끝에 덧붙여진다.
- 숫자 n 은 n+1비트로 정의된 divisor 의 비트수보다 하나 작은값이다.
② 2st step :
- 새롭게 연장된 데이터 단위가(k+n비트) divisor 에 의해 나누어진다.
- 이 나눗셈으로부터 얻어지는 Remainder(나머지)가 CRC 가 된다.
③ 3st step :
- 구해진 n비트의 CRC는, 데이터 단위의 끝에 덧붙여진 0s 열을 대치한다.
압축파일 내 파일목록
CRC보고서.hwp
Generator.cpp
Reciever.cpp
참고 자료
없음