검색어 입력폼

오류 검출 알고리즘의 구현 및 분석(Parity,CRC-8,CRC-32)

저작시기 2009.12 |등록일 2010.04.15 파일확장자압축파일 (zip) | 17페이지 | 가격 1,000원

소개글

데이터 통신시 실제 송수신되는 데이터들은 오류에 노출되 있습니다.
대부분은 전기적 신호에 의한 Burst 에러이구요.

그렇다면 에러가 발생했다는걸 컴퓨터는 어떻게 알수 있을까요?
그 과정을 시뮬레이션 해 본 겁니다.

파일의 구성은 아래와 같습니다.
1) 보고서 ppt
2) parity check
3) crc-8 오류검증
4) crc-8 modulo-2 연산 과정
5) crc-32 오류검증
6) crc-32 modulo-2 연산 과정

수행과정은 아래와 같습니다.

1) 데이터 전송을 위한 데이터를 랜덤 함수를 이용해 생성
2) 데이터 전송전 오류 유무 검증(패리티,crc-8,crc-32등을 통해)
3) 임의의 노이즈를 생성
4) 임의의 노이즈와 원본 데이터값을 OR연산
5) 데이터를 수신했다고 가정하고 다시 오류 검증(패리티,CRC-8,CRC-32등을 통해)
6) 설정해둔 횟수(100000번)만큼 반복하면서 오류 발생 횟수 체크 및 오류 검증 횟수 카운팅
7) 위의 결과값을 텍스트 파일 형태로 저장(단 모듈로 연산은 제외)

위와 같은 형태로 진행이 됩니다.
Visual C++ 6.0 으로 프로그램을 작성했구요.
모든 프로그램(총 5개)은 주석처리를 100% 해두었습니다.
이해하기 쉽게 구성을 해두었구요.

실제 crc 같은 경우는 프로그램이 작동되는 과정(모듈로 2 연산)
을 알아볼수 있게 MODULO2 라는 프로그램이 하나씩 더 있습니다
(CRC8-MODULO2,CRC32-MODULO2)

별거 아닌거 같은 프로그램이겠지만, 이거 하면서 너무 고생해서..
조금이나마 도움이 될까 해서 올립니다.

이자료 받으시는 모든분들 행운이 가득하시길 바랍니다.
소원하시는 모든 바 성취하시기 바라구요.

그럼 즐거운 하루 되세요!!

* 보탬 : 실행화면은 CRC8의 MODULO-2 연산입니다.

컴파일 실행환경

Visual C++ 6.0

본문내용

패리티 비트 오류 검증

랜덤함수를 이용해, 100000개의 패리티를 구현하고,
패리티화된 값에 임의의 노이즈(8비트 이하)를
발생시켜 오류 검출 능력 정도를 테스트하는 방식
으로 만들었습니다. 에러비트별로 오류 검출 유무를
카운팅해서 화면상에 뿌려주고, 연산되는 과정의
중간값들을 텍스트 파일로 저장해서 알수있게
작성을 했습니다.

압축파일내 파일목록

crc32.zip
crc32-modulo2.zip
parity.zip
보고서.ppt
crc8.zip
crc8-modulo2.zip

참고 자료

데이터 통신과 네트워킹 4Th By Forouzan
네트워크 프로그래밍 (이론 및 실습)
다운로드 맨위로