Walsh Code
왈시 코드는 CDMA에서 사용되는 직교 코드 중 하나로, 서로 다른 사용자 간의 신호 간섭을 방지하기 위해 사용된다. CDMA 시스템에서 여러 사용자가 동시에 같은 주파수 대역을 사용할 때, 각 사용자가 고유한 직교 코드를 사용해 데이터를 인코딩하고, 이를 통해 여러 사용자가 신호 간섭 없이 데이터를 전송할 수 있다.
특징
직교성:
- 왈시 코드는 서로 직교(orthogonal)한 특성을 가지고 있다.
- 이는 두 코드 간의 내적(inner product)이 0이 된다는 뜻이다.
- 즉, 두 사용자가 서로 다른 왈시 코드를 사용할 때, 그들의 신호는 서로 간섭하지 않고 구분될 수 있다.
코드 생성:
- 왈시 코드는 특정 규칙에 따라 만들어지는 2의 제곱수 크기의 행렬에서 파생된다. (재귀적)
- 왈시 행렬(Walsh matrix)라는 행렬에서 각 행(row)이 서로 직교하는 코드로 사용된다.
- 예를 들어, 길이가 4인 왈시 코드 집합은 다음과 같은 형태로 만들어질 수 있다.
- 먼저, 길이가 1인 W1 = [1]
- 길이가 2인 W2부턴 아래와 같은 규칙으로 늘어난다.
- [W1, W1] [W1, -W1] 즉,
- [ 1 1] [ 1 -1]
- 길이가 4인 W4는 W2로 동일하게 만든다.
- [W2, W2] [W2, -W2] 즉,
- [ 1 1 1 1 ] [ 1 -1 1 -1 ] [ 1 1 -1 -1 ] [ 1 -1 -1 1 ]
- 즉, 종합하면, Wn은
- [Wn/2, Wn/2] [Wn/2, -Wn/2]
코드 길이와 사용자 수:
- 왈시 코드의 길이가 N 일 때, 최대 N명의 사용자가 동시에 통신할 수 있다.
- 예를 들어, 길이 4의 왈시 코드는 4명의 사용자가 동시에 직교 상태로 통신할 수 있게 한다.
데이터 인코딩 및 디코딩:
- CDMA에서 사용자가 데이터를 전송할 때, 각 사용자는 자신의 데이터를 고유한 왈시 코드로 인코딩해 전송한다.
- 수신 측에서는 해당 사용자의 왈시 코드를 사용해 데이터를 디코딩하고, 다른 사용자의 신호는 직교 상태이므로 간섭하지 않는다.
예시
길이가 4인 왈시 코드를 예로 들면, 다음과 같이 직교하는 4개의 코드가 생성될 수 있다.
- W_4 =
- +1 +1 +1 +1 +1 -1 +1 -1 +1 +1 -1 -1 +1 -1 -1 +1
- 이 왈시 행렬에서 각 행은 서로 직교하는 코드로 사용될 수 있다. 각 사용자는 이 코드 중 하나를 할당받고, 이를 사용해 데이터를 전송한다. 예를 들어
- 사용자 1은 (+1, +1, +1, +1) 을 사용하고,
- 사용자 2는 (+1, -1, +1, -1) 을 사용한다.
- 수신기는 각 코드에 따라 데이터를 구분해 디코딩할 수 있으며, 두 사용자의 신호는 서로 간섭하지 않는다.
왈시 코드의 장단점
장점
- 완전한 직교성: 왈시 코드는 완전히 직교 상태이기 때문에 신호 간섭을 최소화할 수 있다.
- 이는 다수의 사용자가 동시에 같은 주파수 대역을 사용할 때 중요한 특성이다.
- 간단한 생성 방식: 왈시 코드는 규칙적으로 확장 가능하므로, 사용자가 많아지더라도 새로운 직교 코드를 쉽게 생성할 수 있다.
단점(한계)
- 사용자 수 제한: 왈시 코드는 코드 길이에 따라 지원할 수 있는 최대 사용자 수가 제한된다.
- 예를 들어, 길이 8의 왈시 코드는 최대 8명의 사용자만 지원할 수 있다.
- 멀티패스 환경에서의 성능 저하: CDMA에서 신호가 멀티패스 페이딩(multipath fading)과 같은 환경에 놓이면, 신호 간 간섭이 발생해 성능이 떨어질 수 있다.