라인코딩 : 디지털 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
- 노이즈O 인 capacity 구하기 (일단 소음이 있으니까)
- 그 구한 값을 상한 값으로 가정하고 노이즈 X 인 값 가정
- 실제를 가정한 값에 나이퀴스트 공식 + 노이즈 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 직렬)
- 병렬
- 직렬 (타이밍을 어떻게 맞추느냐에 따라 3가지로 나뉨)
- 비동기 : 데이터 + 클럭
- 휴지상태 + 데이터
- 문자 위주 전송, 속도가 낮음
- 시리얼 통신, RS-232, PS/2 키보드/마우스
- 평소에는 휴지상태(Gap)로 쉬고 있다가 데이터를 보낼 때마다 알맹이 데이터 앞 뒤에 Start,Stop 비트를 붙여서 데이터의 시작/끝 명시
- 동기 : 데이터 + 별도 클럭 신호(맨체스터)
- 프리앰블 + 데이터 + 포스트 앰블
- 전송효율과 전송속도가 높음, 블럭단위 전송
- 전화, 인터넷, 광통신
- 휴지상태 필요없이 데이터를 프레임 단위로 꽉 채워 연속으로 빠르개 밀어넣음. 전송효율과 속도 매우 굿
- 등시 : 일정시간간격 전송
- 일정한 시간 간격을 매우 엄격히 유지, 실시간 데이터 전송
- 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 |