Presentation is loading. Please wait.

Presentation is loading. Please wait.

제 9 장의 구성 9.1 원천부호화(source coding) 9.2 채널부호화(channel coding)

Similar presentations


Presentation on theme: "제 9 장의 구성 9.1 원천부호화(source coding) 9.2 채널부호화(channel coding)"— Presentation transcript:

1

2 제 9 장의 구성 9.1 원천부호화(source coding) 9.2 채널부호화(channel coding)

3 부호화와 복호화 부호화(코딩 : coding 또는 인코딩 : encoding) 복호화(디코딩 : decoding)
정보신호에서 디지털 부호(code)를 만드는 과정 복호화(디코딩 : decoding) 부호를 해독하여 다시 본래의 신호를 만드는 과정 코덱(CODEC : Coder and Decoder) 코딩과 디코딩을 처리해주는 하드웨어나 소프트웨어

4 채널부호화 (channel coding)
원천부호화 vs. 채널부호화 원천부호화(source coding) 정보신호를 전송하기에 적합하도록 효율적으로 부호화하는 데 목적 원래의 정보를 디지털 신호로 바꾸고 데이터를 압축하여 제한된 대역폭에서 고속전송되게 한다. 에러가 발생했을 때 오류검출 및 정정 능력 취약 채널부호화 (channel coding) 수신 측에서 에러를 검사하여 데이터의 재전송을 요청하거나 자체적으로 에러를 검출하여 정정하도록 하는데 목적 원천부호화 된 원래의 정보에 에러 검출 및 정정을 위한 비트들을 추가하여 전송한다.

5 9.1 원천부호화 (source coding) 원천부호화의 영역에는 디지털화 과정이 포함 델타변조(DM/ADM)
원천부호화 방식의 종류 델타변조(DM) 펄스부호변조(PCM) 허프만 코딩(Huffman coding)방식 등 델타변조(DM/ADM) DM (Delta Modulation) : 델타변조 현재 샘플과 이전 샘플을 비교한 차이를 전송 샘플링 값이 증가하면 1, 감소하면 0을 전송

6 델타변조(delta modulation)

7 스텝 크기 ΔV와 클럭 주기 T 한 샘플에 대해서 PCM은 여러 비트씩 얻지만
DM은 한 샘플에 한 비트씩만 얻음 델타변조에서는 펄스의 스텝 크기 ΔV와 클럭 주기 T를 적절하게 선택해야 한다. 펄스 스텝 크기 ΔV에 따라 양자화 오차가 증가 ΔV 작으면 신호가 빨리 변할 때 따라가지 못하고 ΔV 크면 신호 변화가 거의 없을 때 1과 0을 진동 펄스의 클럭 주기 T를 줄이면 비트 수가 늘어나 ⇒한정된 대역폭과 전송속도에서 불리해진다.

8 ADM (Adaptive DM) : 적응 델타변조
⇒DM을 개선, 원래의 아날로그 신호와 DM에서 얻은 데이터와의 양자화 오차를 줄인다. DM의 과거 데이터가 계속 1이나 0이 나오면 아날로그 신호가 급격히 변해 스텝 크기 ΔV가 이를 따라가지 못한다는 것 ⇒ 스텝 크기 ΔV를 늘려준다 DM의 과거 데이터가 1과 0사이에서 진동하면 아날로그 신호가 느리게 변한다는 것 ⇒ 스텝 크기 ΔV를 줄여준다

9 펄스부호변조(PCM/DPCM/ADPCM)
PCM (Pulse Code Modulation) : 펄스부호변조 현재의 표본화 크기에 PCM 코드를 직접 할당

10 DPCM (Differential PCM)
sample

11 DPCM과 ADPCM DPCM(Differential PCM) : 차동 PCM
이전과 현재의 표본화 크기의 차이에 코드를 할당하는 데이터 압축기법을 사용 샘플링 간격 동안 신호가 급격히 변하는 경우는 매우 적다는 점에서 착안 그림 9.2에서 데이터 압축 예 첫 8비트 PCM 코드, 뒤에는 5비트로 차이를 표현 8샘플에 대한 총 비트 수는 8+5×7=43비트 ADPCM (Adaptive DPCM) : 적응 DPCM 과거의 양자화 오차를 고려하여 시간에 따라 스텝 크기 ΔV를 가변 DPCM을 개선, 원래의 아날로그 신호와 DPCM 에서 얻은 데이터와의 양자화 오차를 줄인다

12 허프만 코딩(Huffman coding)
발생확률이 높은 심벌신호에는 짧은 길이의 코드를 할당하고 발생확률이 낮은 심벌신호에는 긴 길이의 코드를 할당하는 것 전송되는 데이터의 평균코드 길이를 줄일 수 있다.

13 예제 9.1

14 예제 9.1 (계속) 만약 허프만 코딩을 실시하지 않았다면 2비트는 (00 01 10 11)로 4종류 심벌신호만 구분
5가지 심벌신호의 구분을 위해서는 3비트가 필요

15 팩시밀리의 MH 코딩 팩시밀리의 코딩방식 중에 하나인 MH 코딩 변형된 허프만(Modified Huffman) 코딩
A4 한 장의 데이터의 크기는 약 482[KB] ≒1728도트×약 2286라인÷1024÷8 기본 용지의 너비는 216mm A4 용지의 길이 297mm 팩시밀리의 정밀모드 해상도는 8×7.7dots/mm 팩시밀리의 표준 전송속도는 9600bps 코딩 없이 전송하려면 A4 한 장에 6분이 넘는다. 코딩을 실시하면 보통 20~30초 정도에 전송된다.

16 팩시밀리의 MH 코딩 방법 연속되는 흑백(black & white) 화소의 길이에 따라(run length code) 라인 단위로 코딩 확률이 높은 화소 패턴에 짧은 길이의 코드를 준다. ⇒허프만 코딩의 원리 동떨어진 흑색(black) 화소 하나는 확률이 낮다. 사람의 손으로 작성했거나 컴퓨터 프린터로 인쇄 된 것이므로 … 같은 최악의 데이터는 없다. ⇒ 1비트의 1대신 3비트 010 원고에서 백색(white)라인은 확률이 가장 높다. 216mm×8 dot = 1728 dot ⇒ 1728비트의 0대신 9비트

17 9.2 채널부호화 (channel coding)
단방향 통신방식 심플렉스(simplex) … (ex) FM방송 양방향 통신방식 하프 듀플렉스(half duplex) … (ex) 데이터 통신 풀 듀플렉스(full duplex) … (ex) 유선전화

18 에러 제어를 위한 채널부호화 방식 ARQ 방식의 에러 제어 : 데이터 재전송을 요구
에러 제어(error control)를 위한 채널부호화 방식 자동재전송요청 방식 (ARQ : Automatic Repeat Request) 전방에러정정 방식 (FEC : Forward Error Correction) ARQ 방식의 에러 제어 : 데이터 재전송을 요구 정지-대기(stop and wait) ARQ : half duplex 전송 후 정상수신 여부의 ACK와 NAK로 재전송 결정 연속(continuous) ARQ 방식 : full duplex GBN ARQ : NAK 받을 때 일정 개수(N)씩 재전송 선택적 반복 ARQ : 에러 검출된 부분만 재전송

19 FEC (전방에러정정)방식의 에러 제어 FEC 방식의 에러 제어 단방향(simplex) 통신시스템에 사용
수신 측에서 에러검출 및 정정을 스스로 행한다. 정보코드+에러검출,정정을 위한 추가비트 전송 유럽방식의 GSM 디지털 이동전화 (예) 음성데이터 13[kbps] + FEC 코드 = 총 22.8[kbps] 전화는 양방향인데 왜 단방향 통신에서 사용하는 FEC을 사용하나? ⇒통화 단절을 방지하기 위해 디지털 이동전화는 양방향을 이루기 위해 송신과 수신의 두 개의 분리된 전송채널을 사용한다. 각 채널은 단방향 통신처럼 동작 (11장 그림 11.1참조)

20 대표적인 FEC 방식 대표적인 FEC 방식 실제 코딩 과정은 하드웨어나 소프트웨어적인 부호화기와 복호화기를 사용한다.
블록코드(block code) 방식 : 패리티 비트 사용 CRC 코드에 의한 오류검출 컨벌루셔널 코드(convolutional code) 방식 등 실제 코딩 과정은 하드웨어나 소프트웨어적인 부호화기와 복호화기를 사용한다.

21 블록코드(block code) 블록코드 : 패리티 비트의 추가 정보코드 비트 + 패리티(parity) 비트 = 전송코드
수신 측에서 패리티 코드를 계산하여 에러 판정 패리티 비트를 많이 늘리면 최종적으로는 에러 비트 위치까지 찾아 에러를 수정할 수도 있다.

22 블록코드를 이용한 전송코드 구하기 블록코드발생 행렬 [B]의 구성 (예) 디지털 데이터로 사용되는 1,0 이외의 값 2 발생
앞 3열은 정보코드 행렬 [S]의 1:1 항등행렬 [B]의 4열은 [S]의 2,3 번째 비트를 XOR [B]의 5열은 [S]의 1,3 번째 비트를 XOR 디지털 데이터로 사용되는 1,0 이외의 값 2 발생 ⇒ 모듈로 (modulo)-2 연산규칙으로 해결 캐리(carry : 자리올림 수)를 처리하지 않으므로 결국은 XOR 의 연산규칙과 같아진다.

23 CRC 코드 CRC 코드 CRC 코드가 사용되는 경우 주기중복검사(Cyclic Redundancy Check)
디스크에 파일을 저장하고 읽을 때 파일압축 유틸리티를 사용한 후 압축상태를 검사할 때 데이터통신에서 파일을 전송할 때

24 CRC 코드의 발생 원리 다항식의 표현 예 11011 ⇒ 최고 차수 n=4
CRC 발생함수 C(x), 최고 차수 xn, 정보코드 함수 S(x) 일 때 다음과 같이 CRC 코드를 구한다. 16비트(2Byte CRC-16) CRC 코드 발생함수 BCS 혹은 FSC(Block or Frame Check Sequence) 17비트이므로 나누면 나머지는 16비트 CRC 코드

25 CRC 코드의 구하기 (예)

26 컨벌루셔널 코드 컨벌루셔널 코드 (convolutional code)
입력데이터는 정보코드 011, 출력 데이터는 Cn1, Cn2의 순서대로 교대로 선택되어 출력된다 하자.

27 컨벌루셔널 코드 구하기 (예)

28 - End of Chapter -


Download ppt "제 9 장의 구성 9.1 원천부호화(source coding) 9.2 채널부호화(channel coding)"

Similar presentations


Ads by Google