본문 바로가기
  • _^**_
무근본 IT 지식 공유/무근본 네트워크(Network)

[무근본 네트워크 공부] 디지털 전송 및 변환에 대해 자세히 알아보자 (아날로그? 디지털? 동기? 비동기?)

by 크리드로얄워터 2023. 3. 26.
반응형

디지털 전송

 

디지털 대 디지털 변환

 

회선코딩(line coding): 일련의 비트인 이진 데이터를 디지털 신호로 바꾸는 작업이다.

전송을 하는 동안 손상을 덜 받도록 바꾸어 보냄

컴퓨터에 저장되어 있는 신호를 회선의 여러 잡음 성분들에 내성을 갖도록 부호를 바꿔서 보낸다.

 

신호 요소 대 데이터 요소

(signal element & data element)

 

데이터 요소 : 정보를 표현할 수 있는 가장 작은 단위체로서 bit를 말함.

-> 우리가 전달해야 하는 것

신호 요소 : 시간적으로 볼 때 디지털 신호의 가장 짧은 단위

-> 전달자

 

baud rate ↑ -> 대역폭 ↑

 

 

라인코딩 몇가지 문제점이 있다. 크게 기준선표류직류성분이 있다.

디지털 전송을 하는데 있어서 좋지 않은 요소들이다.

보통 디지털 데이터를 전송을 하게되면 여러 가지 이유로 인해서 디지털 신호들이 수신측에서 0인지 1인지 읽기 어려운 상황을 만들게 된다. 왜냐면 전기적인 특성과 전자적인 회로를 사용하기 때문에 회로의 문제점으로 인해서 갖는 영향들이 있다.

 

기준선 표류(baseline wandering)

 

디지털 신호를 복호화하면서 수신자는 수신된 신호의 세기의 진행 평균을 측정한다. 이 평균치를 baseline(기준선)이라고 한다. 수신되는 신호의 세기는 바로 이 기준선에 비교하여 데이터 요소의 값을 결정하게 된다. 오래 지속되는 0이나 1과 같은 신호는 이 기준선을 표류 시킬 수 있으며(baseline wandering) 그 결과 제대로 복호화하기 힘들게 된다. 좋은 회선 코딩은 기준선 표류를 방지하는 것이 되어야 한다.

 

직류 성분(DC component : zero frequency component)

 

임의의 신호를 푸리에 트랜스폼 한 결과 주파수가 ‘0’인 성분을 가지고 있을 때 직류 성분이 있다고 얘기 한다. 신호의 진폭 평균이 0이 아닐 때 그 신호는 주파수가 0인 성분(zero frequency component)을 갖게 된다. 즉 DC 성분이다. 

 

수신측에서 신호를 받을 때 전압이 양에서 음으로, 음에서 양으로 계속 바뀌면서 평균이 0이 되어 없어져야 하는데 그렇지 않은 DC 성분이 들어오게 되면 전압이 계속 저장되게 된다. 이 저장된 값은 전압의 기본값을 높여놓기 때문에 이후에는 값을 인식하기 어려워진다.

 

*변압기 : 각종 통신장비는 각각 다른 전압을 사용하게 되는데 변압기는 통신장비가 쓸 수 있도록 전압을 바꿔준다.

ex) 220V를 컴퓨터가 쓸 수 있는 전압(ex. 5V)으로 바꿔줌

DC성분은 이런 변압기를 사용하는 시스템에 문제를 일으킬 수밖에 없다.

 

자기 동기화

 

발신자가 보낸 신호를 제대로 알아듣기 위해서는 수신자의 비트 간격은 발신자의 비트 간격과 완전하게 일치해야 한다. 수신자의 시계가 빠르거나 느리면 비트 간격이 서로 맞지 않게 되고 수신자는 발신자가 보내려는 신호와 다르게 신호를 인식하게 된다.

 

동기화는 정확하게 동시에 일어나는 것을 의미하는데 자기 동기화 디지털 신호는 전송되는 데이터 안에 타이밍 정보를 포함한다. 

 

이는 신호 안에서 전압이 바뀌도록 해서 수신자가 펄스의 시작과 도중 및 끝을 알도록 해주면 가능하다. 만일 수신자의 시계가 동기화되어 있지 않다면 이 바뀌는 전압에 의해 시계를 다시 맞출 수 있다.

 

 

■ 회선 코딩 방식(디지털신호를 디지털로 바꿔서 보냄)

 

생각할 것들: 자기동기화 문제, DC성분, Baseline wandering, 대역폭 차지

 

1. Unipolar : 단극형 NRZ

양전압은 비트 1을 나타내고 0전압은 비트 0을 나타내는 비영복귀 방법으로 설계

 

2. Polar : NRZ, RZ, biphase(Manchester, Differential Manchester)

NRZ-L: 전압 준위가 비트의 값을 결정한다.

NRZ-I: 전압에 변화가 있거나 없는 것으로 비트의 값을 결정한다.

-> 1이 나올 때마다 전압을 invert 시킴.

 

-RZ: 양, 음, 0의 전압을 사용하는 영복귀(return to zero)의 부호화

-Manchester encoding: 음 대 양 전이는 1을 나타내고, 양 대 음 전이는 0을 나타낸다.

-Differential Manchester: RZ와 NRG-I를 섞은 것. 비트 시작점에 전이가 있을 경우에는 2진수 0을 의미하고 전이하지 않을 경우에는 2진수 1을 의미한 다.

 

3. Bipolar : AMI(Alternate Mark Inversion), Pseudoternary

AMI: mark는 전신분야에서 유래된 것으로 1을 의미한다.

AMI는 교대로 나타나는 반전되는 1을 의미한다. 중립의 제로 전압은 2진수 0을 나타내고 2진수 1은 교대되는 양과 음전압에 의해 표현된다.

 

Pseudoternary: AMI 부호화를 변형한 것으로 1비트가 전압 준위 0으로 부호화되고 0은 양전압과 음전압을 교대로 하며 표현한다.

--=> NRG를 사용하는 것은 직류 성분 문제 때문에 장거리 통신에 적합하지 않다. 그러 나 양극 AMI 부호화는 좁은 대역폭을 사용하며 직류 성분 문제가 없다. 하지만 길게 연속되는 0들로 인해 동기화 문제가 생긴다.

 

이 문제점을 피할 방법을 찾으면 장거리 통신에 사용할 수 있을 것이다. 이 문제점 에는 Scrambling(뒤섞기)이라는 방법을 사용하며 뒤에 요약해놓았다.

 

4. Multilevel scheme(다준위 방식) : mBnL

=> m개의 비트를 L개의 수준을 갖는 n개의 signal element로 바꾸는 것을 의미.

2B1Q: 2개의 비트를 4개의 수준을 가진 하나의 signal element로 나타낸다.

-> 신호 요소의 준위에 따라 어떤 비트인지 정해져 있는 것은 아님에 주의

=> ex) 2개의 비트 중 앞비트는 inversion을 할 것인지 말 것인지, 뒷비트는 높은 준위를 택할 것인지, 낮은 준위를 택할 것인지 정한다.

 

DSL 기술에서 가입자 선로를 사용하여 고속 인터넷 접속을 제공하는데 사용하고 있다.

8B6T: 256(2^8)개의 데이터 패턴이 있으며 478(3^6)개의 신호 패턴이 있다.

각각의 비트를 나타내기 위해 신호를 미리 정해 놓는데 이때,

478-256= 222개의 사용하지 않는 신호 패턴이 생기며 이 신호들은 동기화나 오 류 검색에 사용된다. 일부는 직류 성분 균형을 위해 사용된다.

 

*각 신호 패턴은 0또는 =1의 직류 값을 갖는다. 이는 -1의 직류 값을 갖는 신호는 없다는 것을 말한다.

*전체 스트림을 직류 성분이 없도록 하기 위해 송신자는 각 직류값을 기록하고 있 다가 만일 직류값이 1인 연속된 두 개의 신호 그룹을 보게 되면 처음 신호 패턴은 그대로 보내고 다음 신호 패턴은 전체의 전위를 뒤집어서 보내어 -1의 직류값을 만들게 된다.

 

4DPAM5 - 4차원 5준위 펄스진폭변조 방식

(4(four) Dimensional 5(five)-level Pulse Amplitude Modulation)

: 4D는 데이터가 4개의 회선으로 동시에 전송되는 것을 의미한다.

-2, -1, 0, 1, 2 와 같은 5개의 전압 준위를 사용한다.

 

그러나 0준위는 전진 오류 검색 목적으로만 사용한다.

만일 코드가 1차원이라면 8B4Q와 유사한 방식이 될 것이다.

기가비트 LAN이 이 기술을 사용한다.

 

다중회선 전송 MLT-3 (Multiline Transmission 3(three) Level)

NRZ-I와 유사하나 3개의 전압 준위를 사용한다는 점이 다르다.

 

■블록코딩

 

: 동기화를 확보하기 위해서는 어떤 식이든 여분의 비트가 필요하다. 더욱이 오류를 탐지하기 위해서도 다른 여분의 비트들을 포함시켜야 한다. 블록 코딩은 어느 정도까지 이 두 가지 목적을 달성할 수 있다. 일반 적으로 블록 코딩은 m비트를 n비트의 블록으로 바꾸는에 여기서 n은 m보다 크다. 블록 코딩은 mB/nB 부호화로 불린다.

 

4B/5B 부호화에서는 4비트 그룹을 5비트 그룹으로 바꿔 놓는다.

(4비트 그룹을 5비트 그룹으로 확장한 후 NRZ-I로 보냄) : NRZ-I 장점-> 구현이 쉽다. 간단하다.

바뀐 5비트 코드는 절대로 3개 보다 많은 0이 연속되지 않는다.

-> 동기화 문제를 해소하여 NRZ-I의 한 가지 결점을 해결한다. NRZ-I의 신호율을 약간 증가시키기는 한다.

사용되지 않는 조합은 일종의 오류 검색을 제공한다.

8B/10B : 8비트 그룹이 10비트 그룹으로 바뀌는 것을 제외하고는 4B/5B 부호화와 유사

 

 

■ 뒤섞기(Scrambling)

 

B8ZS(Bipolar with 8 Zero Substitution)

: 8개의 연속된 0전압이 000VB0VB의 신호로 대치된다.

- 비트율을 바꾸지 않는다. 그러면서 동기화를 제공한다.

- 직류 성분의 균형이 유지된다.

 

HDB3(High Density Bipolar 3-zero)

: 4개의 연속된 0이 000V나 B00V로 대치된다. 두 가지 다른 대치를 사용하는 이유는 대치 이후에 짝수 개의 0이 아닌 준위의 개수를 유지하기 위한 것이다.

1. 직전 대치 이후에 0이 아닌 펄스의 개수가 홀수인 경우에는 000V로 대치하는데 이는 전체 0이 아닌 준위의 개수를 짝수로 만들어 준다.

2. 직전 대치 이후에 0이 아닌 펄스의 개수가 짝수인 경우에는 B00V로 대치하는데 이는 전체 0이 아닌 준위의 개수를 짝수로 만들어 준다.

 

 

아날로그 대 디지털 변환

 

■펄스 코드 변조(PCM, Pulse Code Modulation)

 

1. 표본화(Sampling)

: 진폭을 균등간격으로 측정한다.

표본화를 때로 PAM(Pulse Amplitude Modulation)이라고도 부른다.그러나 이 결과로 생 긴 것은 여전히 정수값이 아닌 아날로그 신호이다.

* 나이퀴스트의 정리에 의하면, Sampling rate는 신호에 포함된 최대 주파수의 최소한 두 배가 되어야 한다.

 

2. 양자화(Quantizing)

: 표본화해서 추출한 값에 Quantization code라는 값을 부여하는 과정이다.

Quantization code는 진폭 구간에 따라 정수 값을 정해 놓은 것이다.

각각의 PAM Signal 값을 반올림 해서, 그 값이 속하는 구간에 해당하는 Quantization code를 부여한다. 따라서 양자화 과정은 근사값을 구하는 과정이라고 볼 수 있다.

*PAM Signal(원 신호)값-양자화 한 값= 양자화 잡음 오류

구간을 촘촘하게 나눌수록 양자화 잡음 오류가 적어진다.

-> 그러나 그럴수록 보내고자 하는 비트 수가 많아짐으로 문제가 생긴다.

*양자화 잡음 오류가 존재하더라도 근사치이기 때문에 의사소통하는데는 큰 문제가 없다.

*양자화할 때 실제로는 낮은 진폭 범위에서는 촘촘하게 구간을 나눠 양자화하고 큰 진폭 범위에서는 듬성듬성 구간을 나눈다-> 실제 우리가 사용하는 진폭이 그리 크지 않으므 로.. 낮은 범위를 많이 쓰므로 그것을 최대한 세세하게 구분짓는 것이 좋다.

 

3. 부호화(Encoding)

: 양자화된 값을 몇 비트로 바꾸어 전송할 것인지를 정하여 해당 비트로 변환하는 과정이다.

*Low-pass filter : 수신측에서 복호화(Decoding)하는 과정에서 디지털 신호를 부드러운 곡선의 아날로그 신호로 바꿀 대 사용한다.

 

 

■ 델타 변조(DM : Delta Modulation)

- PCM은 매우 복잡한 기술이므로 PCM의 복잡도를 낮추기 위해 개발되었다.

- 전송을 0 아니면 1만 하는데 아날로그 신호의 값이 현재 값보다 올라가면 1, 내려가면 0을 부여한다.

장점: 아날로그 신호 들어오는 걸 바로 인코딩 할 수 있다. 간단하고 속도가 빠르다.

단점: 급격한 구간의 표현이 불가능하다.

 

 

 

전송 방식

 

■ 병렬 전송

: 여러개의 비트를 한꺼번에 보내는 방식이다. 속도가 빠르지만 비싸다.

(통신선이 많이 쓰이므로)

 

■ 직렬 전송 : Asynchronous, Synchronous, Isochronous

 

① Asynchronous(비동기식 전송)

- 수신측 입장에서 송신측이 언제 데이터를 보낼지 모르는 전송형태이다.

송신자 입장에서는 보내고 싶을 때 마음대로 데이터를 보낼 수 있다.

전송할 때 시간을 딱딱 맞춰서 보낼 필요가 없다.

값이 싸다.

- 정지비트와 시작비트를 사용한다.

--> 단점으로 작용한다. 추가비트가 들어가기 때문이다.

- 한 바이트와 그 다음 바이트의 시간간격이 일정치 않다. 언제 데이터가 올지 모른다.

 

② Synchronous(동기식 전송)

- 여러개의 바이트를 모아서 꾸러미로 전송한다.(꾸러미=프레임)

- 프레임은 다수의 바이트를 담고 있다.

- 시작비트/정지비트 및 간격 없이 차례로 비트를 보낸다. 비트를 그룹화 하는 것은 수신 자의 몫이다

- 동기식 전송의 장점은 속도이다. 보내는 쪽에서 넣고 받는 쪽에서 제거해야 할 별도의 비트나 간격이 없기 때문에, 즉 링크를 통해 이동하는 비트수가 적어지므로 동기전송은 비동기전송에 비해 더 빠르다.

- 문자들 사이에는 간격이 없지만 프레임과 프레임 사이에는 일정치 않은 간격이 있을 수 있다.

 

③ Isochronous(등시식 전송)

- 등시식 전송은 정해진 시간에 데이터가 도착하는 것을 보장한다.

- 시간 간격이 일정하다.

반응형

댓글