つながるワイヤレス通信機器の開発手法(10) ──ASICを設計する(前編) 送信側のデータ処理の実装
●2の補数でD-Aコンバータを表現する
QPSK用のIとQの信号をベースバンド変調回路で生成するためには,表1に比例したD-Aコンバータの値にマッピングする必要がある.変調回路などの数値演算回路を設計する場合,ディジタル・データを表すには2の補数表現を利用するとつごうが良い.4ビットD-Aコンバータに2の補数表現を適用した例を表2に示す.
2の補数では,正側はMSB(most significant bit)を除いたビットの最大値(4ビットの場合は0111)を正の最大値にし,小さくなるにつれてそこから1ずつ減るように割り当てる.負側は全ビットを使った最大値(4ビットの場合は1111)を負の最大値にし,小さくなるにつれてそこから1ずつ減るように割り当てる.このような考えかたに基づいて正負の数を2進数に割り当てると,負から正へ直線的に値が増えることになる.図6の例は「-2.5+1.5」であるが,これを10進数で計算すると-1.0が答えになる.しかし,この場合は-1.0という値はないので,-1.5に丸められる.丸めるときはつねにマイナス側に丸める.
表2より1/√2と-1/√2はそれぞれ"0101"と"1010"に近いことがわかる.そこで,表3のようなデータを変調回路の出力として出すように設計すればよいと言える.
〔図6〕 2の補数
正負の数を2の補数表現に従って2進数に割り当てると,負から正へ直線的に値が増えることになる.
〔表2〕 D-Aコンバータ・データ
2の補数
|
10進数
|
8を1とした場合
|
|
0111
|
7.5
|
0.9375
|
|
0110
|
6.5
|
0.8125
|
|
0101
|
5.5
|
0.6875
|
≒ 1/√2 |
0100
|
4.5
|
0.5625
|
|
0011
|
3.5
|
0.4375
|
|
0010
|
2.5
|
0.3125
|
|
0001
|
1.5
|
0.1875
|
|
0000
|
0.5
|
0.0625
|
|
1111
|
-0.5
|
-0.0625
|
|
1110
|
-1.5
|
-0.1875
|
|
1101
|
-2.5
|
-0.3125
|
|
1100
|
-3.5
|
-0.4375
|
|
1011
|
-4.5
|
-0.5625
|
|
1010
|
-5.5
|
-0.6875
|
≒ 1/√2 |
1001
|
-6.5
|
-0.8125
|
|
1000
|
-7.5
|
-0.9375
|
〔表3〕変調回路出力
|
θ
|
I
|
D(I)
|
Q
|
D(Q)
|
00
|
-3π/4
|
-1/√2
|
1010
|
-1/√2
|
1010
|
01
|
3π/4
|
-1/√2
|
1010
|
1/√2
|
0101
|
10
|
-π/4
|
1/√2
|
0101
|
-1/√2
|
1010
|
11
|
π/4
|
1/√2
|
0101
|
1/√2
|
0101
|