디지털 : 0과 1 메시지 -> 1비트를 만들기 위해선 ? => 물리계층(L1) 에서 만든다
물리계층에서의 신호
아날로그 신호는 왼쪽 사진 처럼 연속적이다. 아날로그 신호는 사인함수의 조합으로 구성된다.
디지털 신호는 오른쪽 사진처럼 0과 1로 구성된다.
python 에선 numpy 를 import 하여 사인함수를 표현할 수 있다.
아래 코드를 확인해보자
numpy 의 arrange 함수는 [start,stop, step) 구간에서 step 단위로 배열을 생성한다. numpy 의 sin 함수를 통해 사인함수를 만들 수 있고, subplot(m,n,p)는 현재 Figure를 m×n 그리드로 나누고, p로 지정된 위치에 좌표축을 만든다. 좌표축을 만들고 plot 함수에 단위값과 해당 함수를 인자로 넣어서 격자를 넣어주는 grid() 함수를 호출한다.
이제 다음 코드를 보자.
numpy 의 linspace 함수는 Linearly spaced 의 줄임말로, 1차원 배열 만들기 함수이다. 시작, 끝, 간격을 순서대로 인자로 넣으면 해당 배열을 만들어준다.
모스부호
소리 : 아날로그 신호, 데이터 : 디지털 이다.
소리로 데이터 통신할 수 있는 방법 중 모스부호가 있다.
모스부호 Encoder
아날로그 신호를 알파벳 모스코드에 매핑한다. 그 후 해당 wav 파일을 저장한다.
모스부호 Decoder
wav 파일을 입력받으면 이를 frame 으로 나눈 후 , chunk 로 나눈다. 그 후 chunk 를 디코딩한다.
Data over Sound 응용
스타벅스 사이렌 오더: 고객의 실내위치 파악을 위한 스피커와 스마트폰 마이
'데이터통신' 카테고리의 다른 글
[데이터통신 #5_1] mux (0) | 2023.04.10 |
---|---|
[데이터통신 #4_1] 라인코딩 통신 기술 (0) | 2023.04.06 |
[데이터통신 #3_2] Digital to Analog _Pied Piper (0) | 2023.04.05 |
[데이터통신 #3_1] Digital<->Analog (0) | 2023.04.04 |
[데이터통신# 1] 메시지(패킷, 프레임), 계층 (0) | 2023.04.04 |