목록디코더 (3)
컴공생의 다이어리
2-layer channel coding Encoder(인코더) Code - Encoder의 입력은 16bit, 출력은 42bit의 codeword // 2-layer Channel Coding Encoder #include #include int main() { char input[17] = { 0 }; int input_shift[24] = { 0, }; int g[9] = { 1,0,0,0,0,0,1,1,1 }; char temp[25] = { 0 }; printf("--------- 2-layer Channel Coding Encoder ---------\n"); printf("Input: "); scanf("%s",input); ///////////////////// crc-8 encoder /..
(7,4)Hamming Code Encoder(인코더) Code - Encoder의 입력은 4bit, 출력은 7bit의 codeword // (7,4) Hamming code Encoder #include #include int main() { char input[5] = { 0 }; int s[4] = { 0, }; int t[7] = { 0, }; int G_T[7][4] = { {1,0,0,0},{0,1,0,0},{0,0,1,0}, {0,0,0,1},{1,1,1,0},{0,1,1,1},{1,0,1,1} }; char result[8] = { 0 }; printf("--------- (7,4)Hamming Code Encoder ---------\n"); printf("Input: "); scanf(..
CRC(cyclic redundancy check)란? CRC는 네트워크 등을 통하여 데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식을 말한다. 우리 말로는 순환 중복 검사라고 한다. 데이터를 전송하기 전에 주어진 데이터의 값에 따라 CRC 값을 계산하여 데이터에 붙여 전송하고, 데이터 전송이 끝난 후 받은 데이터의 값으로 다시 CRC 값을 계산하게 된다. 이어서 두 값을 비교하고, 이 두 값이 다르면 데이터 전송 과정에서 잡음 등에 의해 오류가 덧붙여 전송된 것 임을 알 수 있다. CRC Encoder(인코더) Code - Encoder의 입력은 16bit, 출력은 24bit - divisior G = X8 + X2 + X + 1 // CRC-8 Encoder ..