전체 글75 Analog to Analog conversion Analog to Analog conversion - medium이 본질적으로 bandpass 이거나 bandpass 채널만 사용할 수 있는 경우 변조가 필요하다. - AM, FM, PM의 세 가지 방법으로 수행. - 이유1: high frequency 신호는 방향성이 더 높으며, 파장(wavelength)이 작기 때문에 회절(diffraction)이 적다. - 이유2: Antenna size - 마이크를 통해 수신되고 전기신호로 변환되어 전송되는 주파수가 256Hz인 소리의 파장은 300,000,000/ 256=1,170,000m이다. 그러나 2.4GHz 주파수의 파장은 12.5cm에 불과하다. Amplitude modulation - AM에 필요한 총 대역폭은 오디오 신호의 대역폭에 의해 결정된다. .. 2021. 4. 6. Analog to Digital Conversion Analog to Digital Conversion - Receiver-side - 두 개의 techniques: Pulse Code Modulation (PCM), Delta Modulation (DM) Pulse Code Modulation (PCM) : 신호 등급을 균일한 주기로 표본화한 다음 디지털 (이진) 코드로 양자화 처리한다. 1. Sampling 2. Quantization(양자화): 유한 상태의 집합으로 아날로그 값을 분해 3. Encoding: 각 상태에 디지털 단어 또는 숫자를 할당하고 input signal에 매칭 Sampling : 아날로그 신호는 Ts 주기로 샘플링된다. - 1) Ideal sampling 2) natural sampling 3) flat-top sampl.. 2021. 4. 6. Error Control - Error Control TCP는 checksum, acknowledgement, time-out 세 가지 도구를 이용해 Error Control을 함으로써 안정성을 보장한다. ACK에 대한 ACK은 없다. TCP는 패킷 순서가 바뀌지 않도록 보장한다. 받는 쪽은 고민할 필요X - Normal Operation (Ack을 보내는 normal operation) Rule: Ack 수를 줄이려는 룰 Rule1: sending 버퍼에 보낼 데이터가 있으면, Ack과 함께 보낸다. Rule2: 함께 보낼 데이터가 없으면 일정 시간 기다림, 기다려도 데이터가 없으면 Ack을 보냄 Rule3: 기다리는 중에 패킷이 하나 더 오면 그냥 바로 Ack을 보냄. (패킷 두개당 Ack 하나는 보내자) - Lost Seg.. 2021. 4. 6. Silly Window Syndrome / SYN Flooding - Silly Window Syndrome : 보내는 데이터의 크기가 헤더의 크기보다도 작아서 발생하는 비효율적 상황. 1. 송신 측에서 발생하는 Silly Window Syndrome 1바이트 데이터 보내려고 40바이트 헤더 사용 -> 비효율적임 해결 방법 1) Nagle 알고리즘 : 보낼 데이터가 MSS(maximum segment size)로 정의된 크기만큼 쌓일 때까지 기다리다 보냄. but 이전에 보냈던 데이터에 대한 ACK이 오면, MSS보다 작더라도 보냄. 2. 수신 측에서 발생하는 Silly Window Syndrome 수신 측 버퍼가 꽉 찼는데 수신측에서 하나만 가져감 -> 송신측은 rwnd=1를 받으므로 하나만 보냄 -> 작은 데이터를 보내려고 큰 헤더를 쓰는 비효율적 상황 해결 방법 .. 2021. 4. 6. 백준 12851 숨바꼭질 2 www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 숨바꼭질1과는 다르게 '가장 빠른 시간으로 찾는 방법이 몇 가지인지'도 출력해야 하기 때문에, 큐에 넣을 때 visited 체크를 하지 않고 pop할 때 방문처리한다. 수빈이와 동생의 처음 위치가 같을 경우 0 1 을 출력하고 끝낸다. 이동 시간이 이미 최소 이동 시간보다 큰 경우는 큐에 넣지 않았다. #include #include using namespace std; b.. 2021. 4. 3. Sorting - Merge Sort / Heap Sort 1. Merge Sort 1) Merge 정렬되지 않은 A, B 두 배열이 주어졌을 때 하나의 정렬된 배열 C를 만든다. A, B 각각의 맨 앞 원소를 비교해 더 작은 값을 C로 옮기는 과정을 반복한다. W(n) = n-1 (맨 마지막 원소는 비교 없이 옮기기 때문) 2) Merge Sort 의사코드 void mergeSort(배열 E, int first, int last) if(first 2021. 4. 2. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음