전공/데이터 통신

[데이터 통신 6-1강] Analog Transmission

뜨거운 개발자 2023. 10. 27. 00:53

Analog Transmission

시작하면서..

지난 시간은 디지털 신호를 그대로 보내는 유선통신에서 사용되는 기법을 배웠다.

오늘 이야기 할 부분은 송신기에서 수신기로 보낼 때 아날로그 시그널로 보내는 상황을 보시면 됩니다.

사실 우리가 만드는 데이터는 대부분 디지털인데 디지털을 아날로그로 바꾸는 것을 modulelation이라고 합니다.

아날로그를 아날로그로 바꾸는 것도 modulation이라고 합니다.

  • Multiplexing
    • 아날로그 신호를 동시에 보낼 수 있는데 품질이 떨어지지 않고 어떻게 되는지 공부할 예정입니다.
  • Digital to Analog : 일반적인 이동통신의 예시
  • Analog to Analog : 라디오 예시

Digital Data to Analog Signal

(Digital to Analog Modulation)

디지털 데이터를 아날로그로 변환하는 것은 디지털 데이터의 정보를 기반으로 아날로그 신호의 특성 중 하나를 변경하는 프로세스입니다. (changing one of the characteristics of an analog signal based on the information in digital data)

  • 디지털 데이터를 아날로그로 변환 (Digital data to analog conversion)

대부분의 아날로그 통신은 sin wave를 기반으로 작동하는데 순수한 sin wave에 약간의 변형을 시켜서 그걸 수신기가 읽어서 디지털 신호로 확인합니다.

그러한 약간의 변화를 가지는 것은 Modulation이라고 부릅니다.

사인 웨이브를 특징시킬 수 있는 세가지 요소

  1. Amplitude(진폭)
  1. phase (위상) : 사이클의 분율을 나타내는 각도와 같은 양
    • 이해가 안 가서 그림 가져옴.
  1. frequency(빈도)

이 3가지 요소를 shift keying을 하는 것이 다음과 같이 나오게 됩니다.

즉 amplitude를 이용해서 0과 1을 구분, frequency를 통해서 0과 1을 구분 phase로 0과 1을 구분하는 방법을 다음과 같이 구분할 수 있다.

  • 주파수는 변화하지 않기 때문에 군용 우주 통신은 주로 FSK를 통해서 이루어집니다.
    • 단점: bandwidth가 많이 필요하다.
  • ASK, PSK도 현재 5G 시스템에 다 사용되고 있고, 3G 시스템부터 두개를 합쳐서 주로 사용되었다.
  • 두개를 같이 합쳐서 사용하는 것을 QAM이라고 부르게 됩니다.

Bit Rate Baud Rate

Bit Rate

  • 물리계층이 1초에 몇 비트를 보낼 수 있는가 : Data rate 또는 bit rate
  • Data rate는 물리 계층에서도 링크 계층에서도 네트워크 계층, 어플리케이션 계층에서도 모두 정의할 수 있습니다.
  • 물리 계층입장에서는 데이터 링크 계층에서 내려오는 게 SDU(service해야되는 데이터) 가 됩니다.
  • 반면에 Link layer입장에서는 Network layer에서 만들어진 packet이 data가 되는 것 입니다.
  • 즉 각 계층을 내려올 때마다 추가적인 데이터가 붙게 되는데 그것들을 다 포함해서 data라고 부르게 됩니다.
  • 즉 여기서 말하고 싶은건 physical Layer에서 data rate는 어플리케이션이 1초에 몇개를 주고 받는지가 아니라 위에서 말한 추가적인 데이터가 모두 붙은 data의 rate를 말하는 것 입니다.
  • 따라서 Data rate는 physical layer의 관점에서 0과 1을 1초에 몇번 보낼 수 있느냐를 말하는 것 입니다.

Baud Rates

  • 하나의 signal elements에 여러 bit를 담을 수 있다.
  • 만약 2비트를 담게되면 4개의 레벨을 확인해야 하는 것이다.
  • 만약 10비트를 한번에 담고 싶다면 2의 10승 즉 1024개를 구분해 낼 수 있어야 합니다.
  • 실제로 요즘에 사용하고 있는 방식입니다.
  • 하나의 signal elements당 담는 비트수 = bit rate /baud rate 입니다.

예제 1

만약 아날로그 시그널이 signal elements당 4비트를 담을 수 있다면, 1000개의 signal elements가 1초에 보내진다면 bit rate를 구하라 :

A. 4000bit ⇒ data rate : 4kbps

예제 2

아날로그 시그널의 bit rate는 8000bps(8kbps)이고 baud rate가 1000인 경우 몇 개의 데이터를 시그널에 담을 수 있는가? 그리고 몇 개의 레벨을 감지해야 하는가?

A. 8개, 2^8 = 256 level

Bandwidth and Carrier signal

  • required bandwidth란 data rate에 따라서 bandwidth가 결정되는 게 아니라, 시그널이 차지하는 frequency 와 관련된 baud rate와 연관되어 결정된다는 것을 알 수 있습니다.
  • 디지털 데이터를 아날로그 시그널로 바꿀 때 0과 1로 바꾸는게 가장 간단하다.

Carrier signal

  • 디지털 데이터를 아날로그 신호로 바꿀 때 사용되는 sin wave 를 carrier Signal이라고 부릅니다.
  • Carrier signal을 사용하는 이유는 아날로그 신호를 디지털 신호로 변환하는 목적도 있지만,
  • 만약 phage는 0과 1로 표현할지라도 kt, sk 등 각각 배정받은 대역을 써야하는데, 옮겨 가려면, baseband 신호가 있다면 (해당되는 주파수 sin2pi ft)를 곱하면 됩니다.

→ baseband transmition 같은 경우 주파수가 변하면 아니라고 할 수 있습니다.

  • 우리는 이러한 것들을 modulelation이라고 부릅니다.
  • sin wave를 0과 1로 변환 시켜주는 것 뿐만 아니라, 대역폭을 올려주는 것까지 합쳐서 modulation이라고 부르는 것입니다.

당연히 receiving device는 해당되는 주파수의 데이터를 받습니다.( kt는 kt로, skt면 skt로..)

즉 그래서 Carrier signal은 해당되는 사업자 주파수에 해당하는 sin wave라고 볼 수 있습니다.

또는 사업자의 주파수 대역이 아니라 다루기 편리한 주파수에 대한 sin wave라고 보면 됩니다.

👨🏻‍💻
Carrier 시그널을 쉽게 말하면 어떠한 정보를 실어나르기 위한 기반이 되는 신호라고 보면 됩니다.

1. Amplitude Shift Keying

각각의 sin wave를 변환시켜서 3가지로 분류를 했는데 그 준 amplitute를 변화시키는 것이 ASK입니다.

가장 심플하게 생각해보면 1이면 그냥 sin wave를 보내고, 0일 때만 아무것도 안 보내는 방법입니다.

Binary ASK (BASK)

이 방법은 frequency와 phase는 동일합니다.

때때론 이걸 OOK라고도 부릅니다. (Binary amplitude shift keying or on-off keying (OOK))

  • OOK는 반드시 BASK라고 볼 수는 있는데
  • BASK는 항상 OOK라고 하긴 어렵다.
    • 왜냐면 non-Zero 값을 Amplitude 2로 사용할 수 있기 때문이다.
  • 현재 예시는 하나의 시그널 엘리먼트에 한 비트 만을 담고 가지만, 만약 레벨을 4가지를 사용한다면 하나의 signal elements2bit를 실을 수 있습니다.

이것을 구현하는 방법은 두개의 시그널을 곱해주면 자연스럽게 OOK(BASK) 신호가 나오게 됩니다.

예시

하나의 데이터를 표현하는데 필요한 bandwidth가 50khz였다고 한다면, 50khz하나만 있으면 되냐? 그렇지 않다.

일반적인 데이터 통신은 full-duplex링크이다.

full-duplex 같은 경우 하나는 기지국에서 단말에게 오는 것, 하나는 단말이 기지국으로 보내는 것 이렇게 두가지가 필요합니다.

이것은 때로 FDD라고 부릅니다.

따라서 full-duplex ASK라고 한다면, 하나의 Ask 신호를 표현하고자 하는 bandwidth뿐만 아니라 하나가 더 필요하다.

2. Frequency Shift Keying

이것은 주파수로써 0과 1을 표현하는 것 입니다.

즉 1이라면 f1 0이라면 f2의 주파수를 사용하겠다라는 의미입니다.

  • peak amplitude and phase는 모든 signal element가 일정합니다.

Binary FSK (BFSK)

  • 여기서 1은 조금 더 높은 주파수로 0은 더 낮은 주파수로 표현하고 있다고 보면 됩니다.

구현

전압에 따라서 다른 주파수 신호를 만드는 voltage-controlled oscillator (VCO) 를 사용해서 주파수를 변경할 수 있습니다.

따라서 자연스럽게 해당 도구를 지나가면 디지털 값에 따라서 다른 신호를 만들 수 있습니다.

👨🏻‍💻
즉 중요한 점은 아주 쉽게 구현이 가능하다는 사실입니다.

다만, 주파수가 바뀔 때 주파수가 꺾여서 또 다른 주파수가 생길 수 있습니다.

  • 그것을 보정을 해줬느냐 안 해줬느냐로 나뉩니다.
  1. Noncoherent BFSK (discontinuity in the phase)한 신호 요소가 끝나고 다음 신호 요소가 시작될 때의 위상 불연속성
  1. Coherent BFSK (continuous phase) 두 신호 요소의 경계를 통과하는 연속 위상

구현이 쉽고 단단하다는 장점이 있지만, FSK는 각 level 별로 다른 주파수가 필요하기 때문에, 더 넓은 주파수 대역을 필요로 한다는 단점이 있습니다.

즉 FSK는 1비트를 표현하기 위해 2개의 주파수가 필요한 것 입니다. ⇒ bandwidth가 커진다.

Multilevel FSK (MFSK)

BASK에서 Amplitude(진폭)를 가지고 두개의 비트를 구분한다 즉 4개의 레벨을 구분하고 있다라고 한다면 여전히 주파수는 하나입니다.

반면에 FSK를 가지고 2비트를 표현하고자 하면 4가지의 구분이 필요해서 주파수가 4개가 필요합니다.

따라서 MFSK는 주파수를 너무 많이 사용하는 문제가 있습니다.

현재로써는 가장 중요한 통신에서만 사용되고 있습니다. (군용 통신, 인공위성 등)

3. phase shift keying (PSK)

  • 페이지에다 싣고 가는 것 입니다.
  • sin wave에서 phase가 0인 경우 다음과 같은 형태의 sin wave가 만들어집니다.
  • 반면에 phase가 pi/2라면 다음 과 같이 코사인 그래프가 나오게 됩니다.
  • Time delay 를 사용해서 쉽게 만들어 낼 수 있고 받는 측에서도 detection 기법을 사용해서 구별해 낼 수 있습니다.
  • 사실 PSK가 가장 복잡도가 높은데 ASK보다 FSK 보다 일반적이라고 할 수 있고
  • 최근에는 ASKPSK를 합쳐서 많이 사용합니다. (3G 부터)
    • 이 두개를 합쳐서 QAM이라고 부릅니다.

Binary PSK (BPSK)

단순히 두개의 signal elements를 가지는 경우 하나는 0도에 phase를 사용하고 하나는 180도의 phase를 사용합니다.

  • Binary PSK 는 Binary ASK만큼 구현이 쉽고 단순합니다.
  • PSKASK보다 노이즈에 더 강합니다.
  • 반사가 되기 때문에 어쩔 수 없이 phage는 송신기 대비 수신기에서는 변할 수 밖에 없습니다.
    • 얼마가 변했는지 어떻게 아느냐?
    • 항상 데이터 시그널을 보낼 때 ref 시그널을 같이 보냅니다.
    • 프로토콜적으로 미리 정해진 값을 보내는 것이어서 송신기에서 수신기까지 오는데 얼마만큼 위상이 바뀌었는지 알 수가 있습니다.
    • 다시 역으로 page shifting을 보정해서 복원하는 방법입니다.
  • PSK는 하드웨어가 조금 더 복잡해 질 수도 있습니다.
  • Bandwidth : Bainary ASK와 Bandwidth는 동일하고, BFSK보다는 당연히 더 적다.

구현

음수면 곱하면 위상을 틀어버린다는 의미와 같아서 구현이 쉽다.

여기선 1은 +5 0을 -5로 해서 쉽게 구현이 됩니다.

Quadrature PSK (QPSK)

하나의 signal element에 2개의 bit를 실는다.

따라서 4개의 phage를 구분해내야만 합니다.

BPSKQPSK는 error Rate 측면에서 동일합니다.

그래서 QPSK를 안 쓰고 BPSK를 쓸 필요는 전혀 없습니다.

그래서 가장 낮은 단위를 QPSK라고 보기도 합니다.

QPSK 구현

  • sin과 cos 간의 간섭이 없고 0과 pi/2 뿐 아니라, 3pi/2 ,pi 이렇게 4개를 이용해서 만들 수 있습니다.
  • 하나는 cos 축으로 하나는 sin축으로 보내는 것 입니다.

Uploaded by N2T

728x90