2. 난수 코드를 활용한 데이터 보호 방법
제안하는 난수 코드를 활용하는 데이터 보호 방법을 사용하는 단일 반송파 시스템의 시공간 블록 코드의 송신기 그리고 수신기 블록도는 그림 1에 제시하며, 종래의 단일 반송파 시공간 블록 코드 블록도는 그림 2와 같다. 본 논문에서 제안하는 알고리즘은 난수 코드 발생기에서 발생한 난수 코드를 제공하는 난수 시퀀스라는 블록이 추가되어 있으며 이 블록이 제공하는
2비트 신호에 따라 네 종류의 시공간 블록 코드 알고리즘이 동작하는데 하나는 2개의 시간 축 중에 하나의 시간 축 신호들만을 부호 반전하는 방법(+부호면
-부호로, -부호면 +부호로 바꿈)과, 다른 하나는 송신 안테나 축중의 하나의 송신 신호에만 부호 반전하는 방법을 사용한다.
그림 1. 제안하는 난수 코드 데이터 보호 방법을 활용하는 단일 반송파 변조 시공간 블록 코드 시스템 블록도
Fig. 1. Block diagrams of the proposed Random Number Coded data protection for Space-Time
Block code for Single Carrier Modulation
이와 같은 시공간 블록 코드 4가지 방법을 월시 코드(Walsh code)의 2비트를 이용하여 4가지 방법중의 하나를 선택하여 신호를 변형하는 방법을
사용함으로써 난수 코드와 함께 결합 방법을 바꿈으로 외부 수신기의 신호 검출을 더욱 어렵게 하는 방법을 제시한다. 월시 코드는 다음과 같은 확장 방법(Hadamard
Matrix를 이용)을 사용하여 크기를 확장하는 것이 간단하다.
\begin{align*}
H(n)=H_{2n}=\left[\begin{aligned}H_{n}H_{n}\\
H_{n}\overline{H_{n}}\end{aligned}\right]\\
H_{0}=[0]
\end{align*}
여기서 ($\overline{}$ )는 반전을 의미한다. 본 논문에서는 하나의 소스 블록 신호의 크기가 64를 사용하며, 또한 월시 코드는 $H(64)=H_{128}$를
사용하게 된다. 여기서 H(64) 는 64x64 행렬이므로, 64종류의 64bit 들이 있게 되고, 송수신기는 64종류 중 어떤 값으로 난수 코드를
사용할 것인지를 선택한 후 송수신기가 그 값을 공유한 후 해당 난수 코드를 발생하게 된다. 해당 난수 코드는 64종류이며, 하나의 시공간 볼록 코드
그룹이 2개의 시간 블록이 필요하므로 2개의 코드를 가지고 2개의 시간 블록 즉 하나의 시공간 블록 코드 그룹을 가지고 난수화를 진행한다. 먼저 2비트를
가지고 구성할 수 있는 동작 모드는 4개이며 표 1과 같이 구성한다. 이와 같은 구성에 따라 월시코드 2비트에 따라 수신기에서는 4종류의 수신 결합 방법 중 하나로 수신하게 되고, 이 2bit 는
어떤 월시코드로 결정이 되느냐에 따라 결정되는 난수이므로 해당 시공간 블록 코드를 어떻게 결합하느냐를 월시코드를 모르는 외부 수신기의 경우에는 알아내기
어렵게 된다.
제안하는 난수 코드 데이터 보호 방법의 k 번째 데이터 블록을 첫 번째 안테나로 전송될 사용자 데이터를 ${s}_{1}^{k}$ 과 두 번째 안테나로
전송될 사용자 데이터를${s}_{2}^{k}$ 라 하면,
(k+1) 번째 데이터 블록은 주파수 영역에서 시공간 블록 코드 결합 방법을 구성할 수 있도록 k 번째 데이터 블록을 다음과 같이 변형하여 사용한다.
여기에서 ${x}=[x(0)x(1)\cdots x(N-1)]^{T}$ 라 하고, ${X}=[X(0)X(1)\cdots X(N-1)]^{T}$ 를 ${x}$
의 푸리에 변환이라 할 때, ${X}^{*}$ 를 ${X}$ 의 공액복소수 그리고 ${Q}$를 정규 직교DFT 행렬이라고 할 때,
가 성립하게 된다.
표 1. 송신기에서 월시 코드를 적용하는 4가지 방법
Table 1. Four kinds of method for using Walsh code in the transmitter
월시코드
2bit 값
|
00
|
01
|
10
|
11
|
시공간 블록
코드 방법
|
가
|
나
|
다
|
라
|
송신신호
반전구성
|
k+1번째 신호
|
k번째 신호
|
첫 번째
안테나
신호
|
두 번째
안테나
신호
|
그림 2. 종래의 단일 반송파 변조 시공간 블록 코드 시스템 블록도
Fig. 2. Block diagrams of the traditional Space-Time Block code for Single Carrier
Modulation
그래서 ${s}_{1}^{k},\: {s}_{2}^{k},\: {s}_{1}^{k+1},\: {s}_{2}^{k +1}$의 주파수 영역 신호가 각각
${S}_{1}^{k},\: {S}_{2}^{k},\: {S}_{1}^{k+1},\: {S}_{2}^{k +1}$ 라고 하면, ${S}_{1}^{k}={Qs}_{1}^{k},\:
{S}_{2}^{k}={Qs}_{2}^{k}$ 가 성립하고, 또한 (3) 식에서 정의된 것에 따라,
${S}_{1}^{k+1}=-({S}_{2}^{k})^{^{*}},\: {S}_{2}^{k +1}=({S}_{1}^{k})^{^{*}}$가 성립하게
된다. 따라서 시간 영역에서 전송한 신호 벡터 ${s}_{1}^{k},\: {s}_{2}^{k},\: {s}_{1}^{k+1},\: {s}_{2}^{k
+1}$ 는 주파수 영역에서는 ${S}_{1}^{k},\: {S}_{2}^{k},\: -({S}_{2}^{k})^{*},\: ({S}_{1}^{k})^{*}$이
되고, 이것을 가로는 시간 축 그리고 세로는 공간, 안테나 축으로 보고 행렬로 표시하면,
가 되고, 직교 코드가 된다.
시간 영역 신호는 ${s}_{1}^{k},\: {s}_{2}^{k},\: {s}_{1}^{k+1},\: {s}_{2}^{k +1}$를 송신하게 되는데,
위 첨자는 데이터 블록의 시간 인덱스 그리고 아래 첨자는 송신기 안테나 인덱스를 의미한다. 각 시간 영역 신호에는 보호 구간을 추가하여 전송하게 되고,
이러한 신호를 수신기에서 표현하면 다음과 같게 된다.
여기에서 $\otimes$ 는 컨벌루션을 의미하고, ${h}_{n}^{m}$는 시간 축에서 m 번째 데이터 블록인 그리고 n 번째 송신 안테나에서
수신기까지의 채널, ${n}^{m}$은 m 번째 데이터 블록에서의 백색 잡음을 의미한다. 각 블록은 길이 v의 보호구간을 추가하여 블록 간 간섭을
제거한다. 블록 데이터와 채널 간의 선형 컨벌루션 출력은 계속되는 보호 구간으로 넘치게 되고 그 보호구간으로 넘친 데이터를 랩 어라운드(Wrap around)하여
블록 데이터의 시작되는 부분에 더하여 선형 컨벌루션을 환형 컨벌루션으로 만든다. 여기에서 채널 값은 두 개의 연속되는 데이터 블록 간에 일정하다고
가정한다. 특히 채널 ${h}_{n}^{m}$은 $N\times N$ 환형 행렬로서 첫 번째 열은 채널 임펄스 응답(CIR)에 (N-v-1) 개의
영이 첨부되어 있으며, ${h}= {Q}^{H}{H}{Q}$와 같이 아이겐-분해가 된다(8). H 는 대각 행렬들이며 (k, k) 원소는 채널 임펄스 응답의 k 번째 DFT 상수를 의미한다(9). 이 시간 영역 신호를 주파수 영역 신호로 변환하면 다음과 같이 된다.
여기에서 ${N}^{m}$은 주파수 영역에서의 백색 잡음을 의미한다.
위 식과 같은 수신 신호를 주파수 영역에서 얻게 되면, 주파수 영역 수신 신호 ${S}_{1}^{k}$ 과 ${S}_{2}^{k}$의 추정은 다음
계산식을 통하여 추정이 가능하다.
여기에서 $i=0,\: 1,\: ... ,\: N-1$
최종적으로 시간영역 데이터 추정은 주파수 영역 수신 신호 $\hat{S}_{1}^{k}$ 과 $\hat{S}_{2}^{k}$를 푸리에 역 변환(ifft)함으로써
구할 수 있게 된다.
이 방법은 전통적인 시공간 블록 코드를 단일 방송파 변조 방식에 적용한 방법으로 다음에 기술하는 시간 축으로 그리고 안테나 축으로 신호를 변형하는
방법과 구분하기 위하여 전통적인 시공간 블록 코드 방법이라고 부른다.
한편 전통적인 시공간 블록 코드 방법과 다르게 별도로 k+1 번째 데이터 블록의 부호를 반전하게 되면, 주파수 영역에서와
같은 구성이 되고, 이에 따른 시간 영역 신호는 푸리에 변환이 선형이므로,
가 된다. 이러한 신호를 수신기에서 표현하면 다음과 같게 된다.
이 시간 영역 신호를 주파수 영역 신호로 변환하면 다음과 같이 된다.
위 식과 같은 수신 신호를 주파수 영역에서 얻게 되면, 주파수 영역 수신 신호 ${S}_{1}^{k}$ 과 ${S}_{2}^{k}$의 추정은 다음
계산식을 통하여 추정이 가능하다.
여기에서 $i=0,\: 1,\: ... ,\: N-1$
최종적으로 시간영역 데이터 추정은 주파수 영역 수신 신호 $\hat{S}_{1}^{k}$ 과 $\hat{S}_{2}^{k}$를 푸리에 역 변환(ifft)함으로써
구할 수 있게 된다.
이와 같은 신호 구성은 시공간 블록 코드 관점에서는 송신기 안테나 1, 2 에서 수신기로의 채널을 주파수 영역 신호로 보았을 때 각각 ${H}_{1},\:
{H}_{2}$ 라 하면, 채널 ${H}_{1}$ 과 ${H}_{2}$ 가 서로 바뀌어 있고, 소스 신호 ${S}_{1}$ 과 ${S}_{2}$가
서로 바뀌어 있는 것과 같게 된다. 이 방법을 아래의 다른 결합 방법과 구별하기 위하여 시공간 블록 코드 방법 (가) 라 한다.
한편 시공간 블록 코드 방법(가) 와 다르게 별도로 k 번째 데이터 블록의 부호를 반전하게 되면, 주파수 영역에서
와 같은 구성이 되고, 이에 따른 시간 영역 신호는 푸리에 변환에 선형이므로,
가 된다. 이러한 신호를 수신기에서 표현하면 다음과 같게 된다.
이 시간 영역 신호를 주파수 영역 신호로 변환하면 다음과 같이 된다.
위 식과 같은 수신 신호를 주파수 영역에서 얻게 되면, 주파수 영역 수신 신호 ${S}_{1}^{k}$ 과 ${S}_{2}^{k}$의 추정은 다음
계산식을 통하여 추정이 가능하다.
여기에서 $i=0,\: 1,\: ... ,\: N-1$
최종적으로 시간영역 데이터 추정은 주파수 영역 수신 신호 $\hat{S}_{1}^{k}$ 과 $\hat{S}_{2}^{k}$를 푸리에 역 변환(ifft)
함으로써 구할 수 있게 된다.
이와 같은 신호 구성은 시공간 블록 코드 관점에서는 송신기 안테나 1, 2 에서 수신기로의 채널을 주파수 영역 신호로 보았을 때 각각 ${H}_{1},\:
{H}_{2}$ 라 하면, 채널 ${H}_{1}$ 과 ${H}_{2}$ 가 서로 바뀌어 있고, 주파수 영역 신호 ${S}_{1}$ 에 $- {S}_{2}$
값을 넣고, ${S}_{2}$ 에 $- {S}_{1}$ 값을 넣은 것과 결합 결과가 같게 된다. 이 방법을 아래의 다른 결합 방법과 구별하기 위하여
시공간 블록 코드 방법 (나) 라 한다.
한편 시공간 블록 코드 방법 (가), (나) 와 다르게 안테나 축으로 첫 번째 송신 안테나로 전송되는 데이터 블록의 부호를 반전하게 되면, 주파수
영역에서
와 같은 구성이 되고, 이에 따른 시간 영역 신호는 푸리에 변환에 선형이므로,
가 된다. 이러한 신호를 수신기에서 표현하면 다음과 같게 된다.
이 시간 영역 신호를 주파수 영역 신호로 변환하면 다음과 같이 된다.
위 식과 같은 수신 신호를 주파수 영역에서 얻게 되면, 주파수 영역 수신 신호 ${S}_{1}^{k}$ 과 ${S}_{2}^{k}$의 추정은 다음
계산식을 통하여 추정이 가능하다.
여기에서 $i=0,\: 1,\: ... ,\: N-1$
최종적으로 시간영역 데이터 추정은 주파수 영역 수신 신호 $\hat{S}_{1}^{k}$ 과 $\hat{S}_{2}^{k}$를 푸리에 역 변환(ifft)
함으로써 구할 수 있게 된다.
이와 같은 신호 구성은 시공간 블록 코드 관점에서는 송신기 안테나 1, 2 에서 수신기로의 채널을 주파수 영역 신호로 보았을 때 각각 ${H}_{1},\:
{H}_{2}$ 라 하면, 채널 ${H}_{1}$ 과 ${H}_{2}$ 가 서로 바뀌어 있고, 주파수 영역 신호 ${S}_{1}$ 에 ${S}_{2}$
값을 넣고, ${S}_{2}$ 에 $- {S}_{1}$ 값을 넣은 것과 같은 결과가 된다. 이 방법을 아래의 다른 결합 방법과 구별하기 위하여 시공간
블록 코드 방법 (다) 라 한다.
한편 시공간 블록 코드 방법 (가), (나), (다) 와 다르게 안테나 축으로 두 번째 송신 안테나로 전송되는 데이터 블록의 부호를 반전하게 되면,
주파수 영역에서
와 같은 구성이 되고, 이에 따른 시간 영역 신호는 푸리에 변환에 선형이므로,
가 된다. 이러한 신호를 수신기에서 표현하면 다음과 같게 된다.
이 시간 영역 신호를 주파수 영역 신호로 변환하면 다음과 같이 된다.
위 식과 같은 수신 신호를 주파수 영역에서 얻게 되면, 주파수 영역 수신 신호 ${S}_{1}^{k}$ 과 ${S}_{2}^{k}$의 추정은 다음
계산식을 통하여 추정이 가능하다.
여기에서 $i=0,\: 1,\: ... ,\: N-1$
최종적으로 시간영역 데이터 추정은 주파수 영역 수신 신호 $\hat{S}_{1}^{k}$ 과 $\hat{S}_{2}^{k}$를 푸리에 역 변환(ifft)
함으로써 구할 수 있게 된다.
이와 같은 신호 구성은 시공간 블록 코드 관점에서는 송신기 안테나 1, 2 에서 수신기로의 채널을 주파수 영역 신호로 보았을 때 각각 ${H}_{1},\:
{H}_{2}$ 라 하면, 채널 ${H}_{1}$ 과 ${H}_{2}$ 가 서로 바뀌어 있고, 주파수 영역 신호 ${S}_{1}$ 에 $- {S}_{2}$
값을 넣고, ${S}_{2}$ 에 ${S}_{1}$ 값을 넣은 것과 결합 결과가 같게 된다. 이 방법을 아래의 다른 결합 방법과 구별하기 위하여
시공간 블록 코드 방법 (라) 라 한다. 이상과 같은 월시코드와 네 가지 시공간 블록코드 방법들과 최종적인 수신 신호 결합 방법들 간의 관계를 표 2와 같이 제시한다. 이와 같은 4가지 시공간 블록 코드 방법이 월시코드 2 비트에 따라 수신기의 결합 방법을 결정하게 되고 해당 시공간 블록 코드의
결합 방법은 월시코드를 모르는 외부 수신기의 경우에는 전파가 공개되어 있다 하더라도 데이터 검출이 어렵게 된다. 3장 모의실험 및 성능 비교에서는
월시 코드를 활용하는 시공간 블록 코드 4가지 모드를 활용하여 데이터 보호하는 알고리즘의 성능과 난수 코드를 알지 못하는 또는 일부 아는 외부 수신기와의
성능을 비교하였다.
표 2. 수신기에서 월시 코드를 적용하는 4가지 방법
Table 2. Four kinds of method for using Walsh code in the receiver
월시코드 2bit 값
|
00
|
01
|
10
|
11
|
시공간 블록코드 방법
|
가
|
나
|
다
|
라
|
수신
신호 구성
|
${S}_{1}\Leftrightarrow {S}_{2}$
${H}_{1}\Leftrightarrow {H}_{2}$
|
$$
\begin{array}{c}
\mathrm{S}_{1} \leftarrow-\mathrm{S}_{2} \\
\mathrm{~S}_{2} \leftarrow-\mathrm{S}_{1} \\
\mathrm{H}_{1} \Leftrightarrow \mathrm{H}_{2}
\end{array}
$$
|
$$
\begin{array}{c}
\mathrm{S}_{1} \leftarrow \mathrm{S}_{2} \\
\mathrm{~S}_{2} \leftarrow-\mathrm{S}_{1} \\
\mathrm{H}_{1} \Leftrightarrow \mathrm{H}_{2}
\end{array}
$$
|
\begin{array}{l}
\mathrm{S}_{1} \leftarrow-\mathrm{S}_{2} \\
\mathrm{~S}_{2} \leftarrow \mathrm{S}_{1} \\
\mathrm{H}_{1} \Leftrightarrow \mathrm{H}_{2}
\end{array}
|