본문 바로가기
학교

데이터통신 4주차 공부내용

by 발빠진 쥐 2026. 4. 23.

라인코딩 : 디지털 1bit 모양 만들기

아날로그 소리 -> 디지털 변환 할 때
디지털 1bit 모양을 만드는 과정

비트 수에 따라 신호레벨 개수가 달라짐
레벨 수 4개는 2비트! 비트 수는 log_2 (신호 레벨 수)
레벨은 비트 전송률을 향상하지만 신호 레벨 구분을 어렵게 만듦
(1초에 8bit -> 1초에 16bit)

신호레벨 수 = 9 -> 1개의 신호를 log_2(9) 로 표현

그냥 전송률 계산하기

==디지털 음성 비트 전송률 bps = 2 대역폭 bit ==
(디지털 음성엔 나이퀴스트 적용)

텍스트 비트 전송률 bps= 페이지 장 수 줄 수 문자 수 * bit 수

디지털 TV 비트전송률bps= 1920(픽셀가로) 1080(픽셀세로) 프레임수 * bit 수

최대 전송률 찾기(노이즈X)

bit rate(bps) = 2 Bandwidth log_2(신호레벨)

log_2(신호레벨) = bit 수 (아마 안 주어지는 듯)
2를 곱한 이유는 나이퀴스트 공식

최대 전송률 찾기(노이즈O)

Capacity = Bandwidth * log_2(1+SNR)

SNR : 신호대잡음비

SNR 이 데시벨로 주어질 수 있다(dB)
SNR dB = 10 log_10(SNR)

예제 : 비트전송률과 신호레벨 수 구하기

대역폭 1MHz , SNR 63

  1. 노이즈O 인 capacity 구하기 (일단 소음이 있으니까)
  2. 그 구한 값을 상한 값으로 가정하고 노이즈 X 인 값 가정
  3. 실제를 가정한 값에 나이퀴스트 공식 + 노이즈 X 공식 써서 신호 레벨 구하면 됨

• C = B log_2 (1 + SNR) = 1M log_2(1+63) = 1M log_2(64) = 6Mbps
• 6 Mbps를 상한값으로 가정하고,
• 실제(노이즈때문에)는 4Mbps 정도로 가정하면,
• Nyquist theorem에 의해서
• 4 Mbps = 2 1 MHz log_2 (L)
• L = 4

라인코딩 : 디지털 비트 -> 전기 신호

DC (전압 평균 값이 0이 아닌 현상) 직류 성분 없애는 법
그 중 하나가 NRZ
Pasted image 20260420040901.png

NRZ

신호가 중간에 0으로 돌아가지 않고, 1비트를 중간에 바꾸지도 않고 계속 유지하게 하는 방식

Pasted image 20260420041004.png
NRZ-I 는 1이 나오면 transition

RZ 는 계속 0으로 돌아감. 1이 길게 지속되어도 1_1_1 이런느낌
-> 클락 동기화는 쉽지만 대역폭이 2배가 됨

Pasted image 20260420041130.png

Manchester : 비트 가운데 부분 신호 변화

장점 : 신호 동기화(복원 쉬워짐) + 직류 성분 없어짐
단점 : 대역폭 2배(1bit 당 2회 변화 필요)
이더넷, RFID, 저속통신에 쓰임
Pasted image 20260420041330.png

2B/1Q : 2bit 를 4 레벨 신호로 인코딩

Pasted image 20260420041408.png

블록코딩 : 데이터 묶기 + 제어 명령 추가

블록 코딩 (Block Coding)
• 블록 코딩
• 0 또는 1이 길게 연속되지 않도록 변환: 클럭 복구 DC 성분 문제 방지
• 전송방식
• 송신자 -> m 비트 그룹 -> n (m < n) 비트 그룹 변환 -> 라인코딩 (NRZ-I) -> n 비트
그룹 디코딩 -> m 비트 그룹 -> 수신자

• 예) 4B5B
• Ex) 0000 -> 11110, 0001 -> 01001 (4비트를 5비트로 표현)
• FDDI, 100Mbps Ethernet, USB PD
• 5비트 블록코드 내부에 반드시 1 이상의 전이가 있도록 함
• 3개 이상의 0이 연속되지 않도록 함
• 4 bit 데이터 -> 5 bit 코드 변환
• 5비트 코드 중 데이터 이외 명령 문자: Halt, Idle, Start, Quiet, Reset, Set, End

m bit 로 묶고 -> 변환 -> n bit 로 변환 된 결과 나옴

블록코딩 + NRZ-I = 블록코딩으로 데이터를 포장하고 그것을 전기 신호로 쏘는 방식을 합친 것.
블록코딩으로 송신할 원본 데이터를 일정 크기의 블록으로 묶은 뒤, 더 큰 비트 그룹으로 변환한다. 대표적으로 4bit 데이터를 5bit 코드로 변환하는 4B/5B기술이 있다. (0이 연속해서 3개 이상 나오는 경우 원천 차단)
그 후 NRZ-I 로 신호가 뒤집히는 순간을 박자로 만들어버리면 수신자가 타이밍을 맞추기 매우 유리해진다.

데이터 전송모드 (병렬 vs 직렬)

  1. 병렬
  2. 직렬 (타이밍을 어떻게 맞추느냐에 따라 3가지로 나뉨)
    1. 비동기 : 데이터 + 클럭
      • 휴지상태 + 데이터
      • 문자 위주 전송, 속도가 낮음
      • 시리얼 통신, RS-232, PS/2 키보드/마우스
      • 평소에는 휴지상태(Gap)로 쉬고 있다가 데이터를 보낼 때마다 알맹이 데이터 앞 뒤에 Start,Stop 비트를 붙여서 데이터의 시작/끝 명시
    2. 동기 : 데이터 + 별도 클럭 신호(맨체스터)
      • 프리앰블 + 데이터 + 포스트 앰블
      • 전송효율과 전송속도가 높음, 블럭단위 전송
      • 전화, 인터넷, 광통신
      • 휴지상태 필요없이 데이터를 프레임 단위로 꽉 채워 연속으로 빠르개 밀어넣음. 전송효율과 속도 매우 굿
    3. 등시 : 일정시간간격 전송
      • 일정한 시간 간격을 매우 엄격히 유지, 실시간 데이터 전송
      • USB, 오디오/마이크 등 지연이 발생하면 안되는 곳에 쓰임
      • 효율과 속도보단 실시간성이 매우 중요. 데이터를 일정 간격으로 끊임없이 전송해서 딜레이 없앰.
        Pasted image 20260420114250.png

'학교' 카테고리의 다른 글

데이터통신 6주차 공부내용  (1) 2026.04.23
데이터통신 5주차 공부내용  (1) 2026.04.23
데이터통신 3주차 공부내용  (0) 2026.04.23
데이터통신 2주차 공부내용  (1) 2026.04.23
데이터통신 1주차 공부내용  (1) 2026.04.23