-
Wireless Digital Communication 4
서론 지난 글에서는 QAM과 Passband 시스템, 그리고 하나의 신호를 표현하는 여러가지 방식들에 대해서 알아보았습니다. 이번 글에서는 ISI와 Nyquist criterion에 대해서 작성할 것입니다. 제가 이 시리즈를 쓰고 있는 최종 목표인 OFDM 자체가 ISI를 줄이기 위함이고, 이를 위해서 Nyquist condition 을 만족해야합니다. 따라서 이번 글이 제가 생각하기에 가장 중요한 내용 중 하나라고 생각합니다. 본론 Intersymbol Interference (ISI) 저희는 지금까지 어떤 신호를 표현할 때 $x(t) = \sum_{k=0}^{K-1} x_k \psi(t-kT)$, 즉 가중치가 있는 basis function을 연속적으로 나열한 형태로 표현했습니다....
-
printf 구현체의 분석
개요 C언어를 처음 배울 때, 가장 처음으로 구현하게 되는 Hello World 코드에 반드시 들어가는 함수가 있습니다. 바로 printf 함수입니다. 처음부터 배울 정도로 기초적인 함수이지만, 다양한 형식의 출력을 담당한다는 점에서 일반적인 프로그램들에서도 필수적으로 사용되는 중요한 함수라고 할 수 있습니다. 게다가 이 함수의 사용법을 정확히 숙지하는 것은 매우 어렵습니다. 출력의 목적지와 문자열의 종류 등에 따라 printf, sprintf, vprintf, wprintf 등의 다양한 변형이 있을 뿐 아니라, ‘%’ 문자를 통해 제공되는 출력 서식 또한 매우 다양한 종류와 구체적인 명세가...
-
Persistent Data Structures
Persistent Introduction 과거의 상태를 보존하는 자료구조를 persistent data structure라고 합니다. 예를 들어, persistent array는 과거의 배열의 상태를 담고 있는 “버전”을 갖고 있습니다. 여기에 “버전 $x$에서 $i$번째 원소를 $d$로 바꿔서 버전 $y$를 만들어라”, 또는 “버전 $x$에서 $i$번째 원소의 값을 반환해라” 등의 연산을 적용할 수 있습니다. Persistent segment tree(PST)에 대한 자료는 인터넷에서 많이 찾아볼 수 있습니다. 하지만 persistence라는 개념은 segment tree에만 적용되는 것이 아닙니다. PST는 persistence를 지원하는 일반적인 방법을 segment tree에 적용한 것일 뿐, segment tree만을 위한...
-
2-SAT 및 그의 응용
1. 2-SAT 문제란? 2-SAT 문제란 참/거짓의 값을 가지는 불리언 변수 $n$개 $x_1, x_2, \cdots, x_n$ 와 2-CNF가 있을 때, 2-CNF를 참으로 만들기 위해 $x_i$ 들에 적당한 값을 할당하는 문제이다. 2-CNF란 2개의 변수를 $\lor$ (or)한 식(절) 여러 개에 $\land$ 연산을 취해 만들어지는 식을 의미한다. 예를 들어, $(x_1 \lor x_2) \land (\bar x_3 \lor x_4)$ 는 2-CNF이다. 그리고, $x_1 = true$, $x_2 = false$, $x_3 = false$, $x_4 = false$ 는 이 식을 만족 시키는 하나의 방법이다....
-
람다 표현과 처치 인코딩(2)
이전 글에 이어서, 자연수와 그 연산들을 어떻게 함수로 인코딩하는지 알아보도록 하겠습니다. 자연수 인코딩(Church Numerals) 처치 인코딩에서는 다음과 같이 자연수를 정의합니다. \[0 = \lambda f. \lambda x. x\] \[1 = \lambda f. \lambda x. f \, x\] \[2 = \lambda f. \lambda x. f \, (f \, x)\] \[3 = \lambda f. \lambda x. f \, (f \, (f \, x))\] \[\vdots\] \[n = \lambda f. \lambda x. f^{n} \, x\] 간단히 말하자면, 처치 인코딩에서 자연수...