(57)【要約】      （修正有）【課題】複数の原始根符号からより長い符号を生成し、当該符号を用いて通信を行うのに好適な拡散符号生成装置等を提供する。【解決手段】拡散符号生成装置４０１において、符号生成部４０２は、素数と原始根とシフト量との組を受け付けて当該素数と同じ長さの原始根符号を生成し、数列生成部４０３は、複数の数列を受け付けて新たな数列を生成し、当該生成された数列の長さは、受け付けた数列の長さの積であり、生成制御部４０４は、符号生成部４０２に、素数と原始根とシフト量との組を複数与えて、生成された原始根符号を数列生成部４０３に与えて、生成された数列を拡散符号とする。【選択図】図４
2010130623.tif 000002
【特許請求の範囲】
【請求項１】
素数pと、
当該素数pを法とする有限体のいずれかの原始根rと、
１以上当該素数p未満のいずれかの整数であるシフト量kと、の組を受け付けて、
１のp乗根の一つ
ωp = exp(2πi/p)
と、当該素数pを法とする羃乗演算
F(a,b) = ab (mod p)
と、により定義される長さpの原始根符号
E(p,r,k) = (1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2))
を生成する符号生成部、
２つの数列
a = (a0，a1，a2，…，aL-1)
および、
b = (b0，b1，b2，…，aM-1)
を受け付けて、整数sに対して定義される演算
G(s,a,b) = as mod L bs mod M
により定義される長さLMの数列
(G(0,a,b)，G(1,a,b)，G(2,a,b)，…，G(LM-1,a,b))
を生成する数列生成部、
前記符号生成部に、第１の素数と、当該第１の素数に対する第１の原始根と、当該第１の素数に対する第１のシフト量と、の組を与えて、第１の原始根符号を生成させ、前記符号生成部に、前記第１の素数とは異なる第２の素数と、当該第２の素数に対する第２の原始根と、当該第２の素数に対する第２のシフト量と、の組を与えて、第２の原始根符号を生成させ、当該第１の原始根符号と、当該第２の原始根符号と、を、前記数列生成部に与えて、数列を生成させ、当該生成される数列を拡散符号とする生成制御部
を備えることを特徴とする拡散符号生成装置。
【請求項２】
素数pと、
当該素数pを法とする有限体のいずれかの原始根rと、
１以上当該素数p未満のいずれかの整数であるシフト量kと、の組を受け付けて、
１のp乗根の一つ
ωp = exp(2πi/p)
と、当該素数pを法とする羃乗演算
F(a,b) = ab (mod p)
と、により定義される長さpの原始根符号
E(p,r,k) = (1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2))
を生成する符号生成部、
N個の数列
a[1] = (a[1]0，a[1]1，a[1]2，…，a[1]L[1]-1)；
a[2] = (a[2]0，a[2]1，a[2]2，…，a[2]L[2]-1)；
…；
a[N] = (a[N]0，a[N]1，a[N]2，…，a[N]L[N]-1)
を受け付けて、整数sに対して定義される演算
G(s,a[1],a[2],…,a[N]) = Πt=1N a[t]s mod L[t]
により定義される長さΠt=1N L[t]の数列
(G(0,a[1],a[2],…,a[N])，G(1,a[1],a[2],…,a[N])，G(2,a[1],a[2],…,a[N])，…，G(Πt=1N L[t] - 1,a[1],a[2],…,a[N]))
を生成する数列生成部、
互いに異なるN個の素数のそれぞれについて、前記符号生成部に、当該素数と、当該素数に対する原始根と、当該素数に対するシフト量と、の組を与えて、原始根符号を生成させ、前記生成されたN個の原始根符号を、前記数列生成部に与えて、数列を生成させ、当該生成される数列を拡散符号とする生成制御部
を備えることを特徴とする拡散符号生成装置。
【請求項３】
送信装置と、受信装置と、を備える通信システムであって、
前記送信装置と、前記受信装置と、は、いずれも、請求項１または２に記載の拡散符号生成装置を備え、当該両拡散符号生成装置は、共通する組により、拡散符号を生成し、
前記送信装置は、
伝送すべき信号を受け付ける受付部、
前記受け付けられた信号を、前記拡散符号生成装置により生成された拡散符号により拡散する拡散部、
前記拡散された信号を送信する送信部
を備え、
前記受信装置は、
前記送信装置から送信された信号を受信する受信部、
前記受信された信号を、前記拡散符号生成装置により生成された拡散符号により逆拡散する逆拡散部、
前記逆拡散された信号を伝送された信号として出力する出力部
を備えることを特徴とする通信システム。
【請求項４】
請求項３に記載の通信システムにおける送信装置。
【請求項５】
請求項３に記載の通信システムにおける受信装置。
【請求項６】
コンピュータを、請求項１または２に記載の拡散符号生成装置の各部として機能させることを特徴とするプログラム。
【請求項７】
コンピュータを、請求項４に記載の送信装置の各部として機能させることを特徴とするプログラム。
【請求項８】
コンピュータを、請求項５に記載の受信装置の各部として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の原始根符号からより長い符号を生成し、当該符号を用いて通信を行うのに好適な拡散符号生成装置、通信システム、送信装置、受信装置、これらをコンピュータ上にて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、ＣＤＭＡ通信の分野では、通信性能の向上を図る技術が種々提案されている。たとえば、後に掲げる特許文献１においては、受信装置において、送信装置がカオス符号により直接拡散して送信した信号を受信し、受信された信号を成分分析して複数の成分に分離し、分離された複数の成分のそれぞれを当該カオス符号により逆拡散した複数の信号を得て、逆拡散された複数の信号から、強度が大きい信号を選択して出力する技術が提案されている。
【０００３】
【特許文献１】特開２００７−２４３２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような通信技術の分野においては、相関特性が良好で、分離性能の高い拡散符号が求められており、特に、長さの長い拡散符号を生成するための技術に対する要望は強い。
【０００５】
本発明は、上記のような課題を解決するものであって、複数の原始根符号からより長い符号を生成し、当該符号を用いて通信を行うのに好適な拡散符号生成装置、通信システム、送信装置、受信装置、これらをコンピュータ上にて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点に係る拡散符号生成装置は、符号生成部、数列生成部、生成制御部を備え、以下のように構成する。
【０００８】
ここで、符号生成部は、
素数pと、
当該素数pを法とする有限体のいずれかの原始根rと、
１以上当該素数p未満のいずれかの整数であるシフト量kと、の組を受け付けて、
１のp乗根の一つ
ωp = exp(2πi/p)
と、当該素数pを法とする羃乗演算
F(a,b) = ab (mod p)
と、により定義される長さpの原始根符号
E(p,r,k) = (1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2))
を生成する。
【０００９】
一方、数列生成部は、２つの数列
a = (a0，a1，a2，…，aL-1)
および、
b = (b0，b1，b2，…，aM-1)
を受け付けて、整数sに対して定義される演算
G(s,a,b) = as mod L bs mod M
により定義される長さLMの数列
(G(0,a,b)，G(1,a,b)，G(2,a,b)，…，G(LM-1,a,b))
を生成する。
【００１０】
さらに、生成制御部は、
符号生成部に、第１の素数と、当該第１の素数に対する第１の原始根と、当該第１の素数に対する第１のシフト量と、の組を与えて、第１の原始根符号を生成させ、
符号生成部に、第１の素数とは異なる第２の素数と、当該第２の素数に対する第２の原始根と、当該第２の素数に対する第２のシフト量と、の組を与えて、第２の原始根符号を生成させ、
当該第１の原始根符号と、当該第２の原始根符号と、を、数列生成部に与えて、数列を生成させ、
当該生成される数列を拡散符号とする。
【００１１】
本発明のその他の観点に係る拡散符号生成装置は、符号生成部、数列生成部、生成制御部を備え、以下のように構成する。
【００１２】
ここで、符号生成部は、
素数pと、
当該素数pを法とする有限体のいずれかの原始根rと、
１以上当該素数p未満のいずれかの整数であるシフト量kと、の組を受け付けて、
１のp乗根の一つ
ωp = exp(2πi/p)
と、当該素数pを法とする羃乗演算
F(a,b) = ab (mod p)
と、により定義される長さpの原始根符号
E(p,r,k) = (1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2))
を生成する。
【００１３】
一方、数列生成部は、
N個の数列
a[1] = (a[1]0，a[1]1，a[1]2，…，a[1]L[1]-1)；
a[2] = (a[2]0，a[2]1，a[2]2，…，a[2]L[2]-1)；
…；
a[N] = (a[N]0，a[N]1，a[N]2，…，a[N]L[N]-1)
を受け付けて、整数sに対して定義される演算
G(s,a[1],a[2],…,a[N]) = Πt=1N a[t]s mod L[t]
により定義される長さΠt=1N L[t]の数列
(G(0,a[1],a[2],…,a[N])，G(1,a[1],a[2],…,a[N])，G(2,a[1],a[2],…,a[N])，…，G(Πt=1N L[t] - 1,a[1],a[2],…,a[N]))
を生成する。
【００１４】
さらに、生成制御部は、互いに異なるN個の素数のそれぞれについて、
符号生成部に、当該素数と、当該素数に対する原始根と、当該素数に対するシフト量と、の組を与えて、原始根符号を生成させ、
生成されたN個の原始根符号を、数列生成部に与えて、数列を生成させ、
当該生成される数列を拡散符号とする。
【００１５】
本発明のその他の観点に係る通信システムは、送信装置と、受信装置と、を備え、以下のように構成する。
【００１６】
すなわち、送信装置と、受信装置と、は、いずれも、上記の拡散符号生成装置を備える。
【００１７】
ここで、当該両拡散符号生成装置は、共通する組により、拡散符号を生成する。
【００１８】
一方、送信装置は、伝送すべき信号を受け付ける受付部、受け付けられた信号を、拡散符号生成装置により生成された拡散符号により拡散する拡散部、拡散された信号を送信する送信部を備える。
【００１９】
さらに、受信装置は、送信装置から送信された信号を受信する受信部、受信された信号を、拡散符号生成装置により生成された拡散符号により逆拡散する逆拡散部、逆拡散された信号を伝送された信号として出力する出力部を備える。
【００２０】
本発明のその他の観点に係る送信装置は、上記の通信システムにおける送信装置である。
【００２１】
本発明のその他の観点に係る受信装置は、上記の通信システムにおける受信装置である。
【００２２】
本発明のその他の観点に係る拡散符号生成方法は、符号生成工程、数列生成工程、生成制御工程を備え、以下のように構成する。
【００２３】
すなわち、符号生成工程では、
素数pと、
当該素数pを法とする有限体のいずれかの原始根rと、
１以上当該素数p未満のいずれかの整数であるシフト量kと、の組を受け付けて、
１のp乗根の一つ
ωp = exp(2πi/p)
と、当該素数pを法とする羃乗演算
F(a,b) = ab (mod p)
と、により定義される長さpの原始根符号
E(p,r,k) = (1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2))
を生成する。
【００２４】
一方、数列生成工程では、
２つの数列
a = (a0，a1，a2，…，aL-1)
および、
b = (b0，b1，b2，…，aM-1)
を受け付けて、整数sに対して定義される演算
G(s,a,b) = as mod L bs mod M
により定義される長さLMの数列
(G(0,a,b)，G(1,a,b)，G(2,a,b)，…，G(LM-1,a,b))
を生成する。
【００２５】
さらに、生成制御工程では、
符号生成工程に、第１の素数と、当該第１の素数に対する第１の原始根と、当該第１の素数に対する第１のシフト量と、の組を与えて、第１の原始根符号を生成させ、
符号生成工程に、第１の素数とは異なる第２の素数と、当該第２の素数に対する第２の原始根と、当該第２の素数に対する第２のシフト量と、の組を与えて、第２の原始根符号を生成させ、
当該第１の原始根符号と、当該第２の原始根符号と、を、数列生成工程に与えて、数列を生成させ、
当該生成される数列を拡散符号とする。
【００２６】
本発明のその他の観点に係る拡散符号生成方法は、符号生成工程、数列生成工程、生成制御工程を備え、以下のように構成する。
【００２７】
すなわち、符号生成工程では、
素数pと、
当該素数pを法とする有限体のいずれかの原始根rと、
１以上当該素数p未満のいずれかの整数であるシフト量kと、の組を受け付けて、
１のp乗根の一つ
ωp = exp(2πi/p)
と、当該素数pを法とする羃乗演算
F(a,b) = ab (mod p)
と、により定義される長さpの原始根符号
E(p,r,k) = (1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2))
を生成する。
【００２８】
一方、数列生成工程では、
N個の数列
a[1] = (a[1]0，a[1]1，a[1]2，…，a[1]L[1]-1)；
a[2] = (a[2]0，a[2]1，a[2]2，…，a[2]L[2]-1)；
…；
a[N] = (a[N]0，a[N]1，a[N]2，…，a[N]L[N]-1)
を受け付けて、整数sに対して定義される演算
G(s,a[1],a[2],…,a[N]) = Πt=1N a[t]s mod L[t]
により定義される長さΠt=1N L[t]の数列
(G(0,a[1],a[2],…,a[N])，G(1,a[1],a[2],…,a[N])，G(2,a[1],a[2],…,a[N])，…，G(Πt=1N L[t] - 1,a[1],a[2],…,a[N]))
を生成する。
【００２９】
さらに、生成制御工程では、互いに異なるN個の素数のそれぞれについて、
符号生成工程に、当該素数と、当該素数に対する原始根と、当該素数に対するシフト量と、の組を与えて、原始根符号を生成させ、
生成されたN個の原始根符号を、数列生成工程に与えて、数列を生成させ、
当該生成される数列を拡散符号とする。
【００３０】
本発明のその他の観点に係るプログラムは、コンピュータを上記拡散符号生成装置として機能させるように構成する。
【００３１】
本発明のその他の観点に係るプログラムは、通信機能を備えるコンピュータを上記送信装置として機能させるように構成する。
【００３２】
本発明のその他の観点に係るプログラムは、通信機能を備えるコンピュータを上記受信装置として機能させるように構成する。
【００３３】
当該プログラムは、典型的には、コンピュータ読み書き可能な情報記録媒体に記録され、たとえば、コンパクトディスクと同型のもの、フレキシブルディスク、ハードディスク、光磁気ディスクと同型のもの、ディジタルビデオディスクと同型のもの、磁気テープ、または、半導体メモリ等を利用することができる。
【００３４】
そして、上記の情報記録媒体は、コンピュータとは独立して配布、販売することができるほか、インターネット等のコンピュータ通信網を介して上記のプログラムそのものを配布、販売することができる。
【発明の効果】
【００３５】
本発明によれば、複数の原始根符号からより長い符号を生成し、当該符号を用いて通信を行うのに好適な拡散符号生成装置、通信システム、送信装置、受信装置、これらをコンピュータ上にて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３６】
以下に本発明の実施形態を説明する。なお、以下にあげる実施形態は、説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば、これらの各要素または全要素を、これと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も、本発明の範囲に含まれる。
【実施例１】
【００３７】
本実施形態では、原始根を利用した直交符号を複数組み合わせて、新たな、より長さの長い直交符号を生成することとしている。以下では、まず、原始根符号について説明し、次に、本実施形態に係る拡散符号生成技術について説明するものとする。
【００３８】
原始根符号を生成する際には、素数pを法とする有限体
Fp = ｛0，1，2，…，p-1｝
を考える。有限体Fpにおいては、加算、減算、乗算は、素数pによる剰余によって演算される。この旨を特に強調したい場合には、演算の末尾に(mod p)のように表記するのが慣例となっている。
【００３９】
有限体Fpの原始根rとは、1≦k<p-1なる整数kに対しては、いずれも
rk ≠ 1 (mod p)
であり、さらに、
rp-1 = 1 (mod p)
を満たす整数をいう。
【００４０】
たとえば、F3においては、2が原始根であり、F5においては、2，3が原始根であり、F7においては、3，5が原始根であり、F11においては、2，6，7，8が原始根である。
【００４１】
以下、理解を容易にするため、適宜
F(a,b) = ab (mod p)
のような表記を用いる。
【００４２】
原始根については、
｛F(r,1)，F(r,2)，…，F(r,p-1)｝ = ｛1，2，…，p-1｝
が成立することが、広く知られている。すなわち、数列
1，2，…，p-1
の順序を適宜変更すると、数列
F(r,1)，F(r,2)，…，F(r,p-1)
に一致させることができる。
【００４３】
さて、1のp乗根の一つ
ωp = exp(2πi/p)
と、1≦k<pを満たす整数kに対する数列
1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2)
を、素数pの原始根rおよびシフト量kに対する原始根符号E(p,r,k)、と呼ぶ。すなわち、
E(p,r,k) = (1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2))
である。
【００４４】
たとえば、
E(3,2,1) = (1，ω3F(2,1)，ω3F(2,2)) = (1，ω32，ω31) = (α0，α2，α1)
であり、
E(5,2,1) = (1，ω5F(2,1)，ω5F(2,2)，ω5F(2,3)，ω5F(2,4)) = (1，ω52，ω54，ω53，ω51)) = (β0，β2，β4，β3，β1))
である。ここで、読み易さのため、α = ω3，β = ω5と置き換えている。
【００４５】
図１は、複素平面上の単位円に配置される原始根符号E(3,2,1)の要素が、どの順序であるか、を示す説明図である。
【００４６】
図２は、複素平面上の単位円に配置される原始根符号E(5,2,1)の要素が、どの順序であるか、を示す説明図である。
【００４７】
以下、これらの図を参照して説明する。
【００４８】
これらの図に示すように、各数列は、単位円上の各要素を、まんべんなく偏りなくたどるものであることがわかる。これは、原始根符号の性質によるものである。
【００４９】
原始根符号E(p,r,k)は、長さpの複素ベクトルと考えることができる。複素ベクトルの内積を、《・,・》により表記するものとすると、
《E(p,r,k)，E(p,r,k)》 = p
かつ、任意のk ≠ k'に対して、
《E(p,r,k)，E(p,r,k')》 = 0
が成立する。
【００５０】
このように、素数pの原始根rから得られる原始根符号は、シフト量kについて直交するので、p-1個のチャンネルを用いた通信が可能となる。
【００５１】
このような原始根符号は、長さが素数pに限られる。そこで、素数p以外の長さの直交符号を生成する技術が強く求められる。本実施形態は、このような要望に応えるものである。
【００５２】
発明者は、研究の末、既存の複数の原始根符号から、新たな、より長い直交符号を生成する技術を発明した。理解を容易にするため、まず、E(3,2,1)とE(5,2,1)から新たな原始根符号を生成する例について説明する。
【００５３】
上記のように、
E(3,2,1) =  = (α0，α2，α1)
であり、
E(5,2,1) = (β0，β2，β4，β3，β1)
である。そこで、E(3,2,1)については、相手方の素数5回、各要素を並べ、E(5,2,1)については、相手方の素数3回、各要素を並べる。すると、
α0，α2，α1，α0，α2，α1，α0，α2，α1，α0，α2，α1，α0，α2，α1；
β0，β2，β4，β3，β1，β0，β2，β4，β3，β1，β0，β2，β4，β3，β1
のように、長さ１５の数列が２つできることになる。
【００５４】
次に、各数列の要素を、同じ順序のもの同士乗じる。すると、
α0×β0，α2×β2，α1×β4，α0×β3，α2×β1，α1×β0，α0×β2，α2×β4，α1×β3，α0×β1，α2×β0，α1×β2，α0×β4，α2×β3，α1×β1
のような、長さ１５の数列が得られる。
【００５５】
このような手順で、２つの数列から新たな数列を得る演算(×)を、一般に、以下のように定義する。すなわち、２つの数列
a = (a0，a1，a2，…，aL-1)
および、
b = (b0，b1，b2，…，aM-1)
を受け付けて、整数sに対して定義される演算
G(s,a,b) = as mod L bs mod M
により、長さLMの数列
a(×)b = (G(0,a,b)，G(1,a,b)，G(2,a,b)，…，G(LM-1,a,b))
が得られる。ここで、a mod bは、aをbで割った余りである。
【００５６】
上記の例でいえば、
E(3,2,1) (×) E(5,2,1) = (α0×β0，α2×β2，α1×β4，α0×β3，α2×β^β0，α1×β0，α0×β2，α2×β4，α1×β3，α0×β^β0，α2×β0，α1×β2，α0×β4，α2×β3，α1×β1)
となる。
【００５７】
図３は、複素平面上の単位円に配置されるE(3,2,1) (×) E(5,2,1)の要素が、どの順序であるか、を示す説明図である。以下、本図を参照して説明する。
【００５８】
本図に示すように、E(3,2,1) (×) E(5,2,1)も、単位円上の各要素を、まんべんなく偏りなくたどるものである。
【００５９】
そして、演算・(×)・によって得られた新たな数列についても、当該数列を生成する元となった原始根符号のシフト量について、直交性が成立することが判明している。すなわち、j≠j'，k≠k'な整数j，j'，k，k'について、
《E(3,2,j) (×) E(5,2,k)，E(3,2,j) (×) E(5,2,k)》 = 3×5；
《E(3,2,j) (×) E(5,2,k)，E(3,2,j) (×) E(5,2,k')》 = 0；
《E(3,2,j) (×) E(5,2,k)，E(3,2,j') (×) E(5,2,k)》 = 0；
《E(3,2,j) (×) E(5,2,k)，E(3,2,j') (×) E(5,2,k')》 = 0
が成立する。
【００６０】
一般に、
（１）素数と、
（２）その素数を法とする有限体の原始根と、
（３）その素数に対するシフト量と、
の三つ組が与えられると、原始根符号を生成することができる。
【００６１】
ここで、素数と原始根を固定し、シフト量を可変とすると、生成される原始根符号の種類の数は、当該素数より１だけ小さい数である。また、原始根符号の長さは、当該素数に等しい。
【００６２】
そして、生成された２個以上の原始根符号に対して上記の演算(×)を適用すると、新たな直交符号が得られ、その直交符号の元の原始根符号の長さの積となるのである。
【００６３】
また、元の原始根符号の素数と原始根符号を固定して、シフト量を可変とした場合には、生成される新たな直交符号の種類の数は、当該直交符号の長さと等しい。
【００６４】
（拡散符号生成装置）
以下では、本直交符号を拡散符号として出力する拡散符号生成装置の詳細について説明する。
【００６５】
図４は、本発明の実施形態の一つに係る拡散符号生成装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００６６】
ここで、拡散符号生成装置４０１は、符号生成部４０２、数列生成部４０３、生成制御部４０４を備える。
【００６７】
符号生成部４０２は、原始根符号を生成するものであり、
素数pと、
当該素数pを法とする有限体のいずれかの原始根rと、
１以上当該素数p未満のいずれかの整数であるシフト量kと、の組を受け付けて、
１のp乗根の一つ
ωp = exp(2πi/p)
と、当該素数pを法とする羃乗演算
F(a,b) = ab (mod p)
と、により定義される長さpの原始根符号
E(p,r,k) = (1，ωpF(r,k+0)，ωpF(r,k+1)，ωpF(r,k+2)，…，ωpF(r,k+p-2))
を生成する。これは単純な複素数演算の組み合わせによって実現することが可能であり、コンピュータや専用電子回路によって計算が可能である。
【００６８】
なお、任意の素数pや原始根rが与えられることとしても良いし、１のp乗根が何種類か、あらかじめ用意されており、用意されたもののそれぞれに対する原始根rもあらかじめ用意されており、その中からいずれかを選択することで、原始根符号を生成するような態様を採用しても良い。
【００６９】
一方、数列生成部４０３は、２つの数列
a = (a0，a1，a2，…，aL-1)
および、
b = (b0，b1，b2，…，aM-1)
を受け付けて、整数sに対して定義される演算
G(s,a,b) = as mod L bs mod M
により定義される長さLMの数列
a(×)b = (G(0,a,b)，G(1,a,b)，G(2,a,b)，…，G(LM-1,a,b))
を生成する。
【００７０】
また、数列生成部４０３は、一般に、N個の数列
a[1] = (a[1]0，a[1]1，a[1]2，…，a[1]L[1]-1)；
a[2] = (a[2]0，a[2]1，a[2]2，…，a[2]L[2]-1)；
…；
a[N] = (a[N]0，a[N]1，a[N]2，…，a[N]L[N]-1)
を受け付けて、整数sに対して定義される演算
G(s,a[1],a[2],…,a[N]) = Πt=1N a[t]s mod L[t]
により定義される長さΠt=1N L[t]の数列
a[1](×)a[2](×)…(×)a[N] = (G(0,a[1],a[2],…,a[N])，G(1,a[1],a[2],…,a[N])，G(2,a[1],a[2],…,a[N])，…，G(Πt=1N L[t] - 1,a[1],a[2],…,a[N]))
を生成する。
【００７１】
これもまた、単純な複素数演算の組み合わせによって実現することが可能であり、コンピュータや専用電子回路によって計算が可能である。
【００７２】
さらに、生成制御部４０４は、まず、符号生成部４０２に、第１の素数p[1]と、当該第１の素数p[1]に対する第１の原始根r[1]と、当該第１の素数p[1]に対する第１のシフト量k[1]と、の組を与えて、第１の原始根符号E(p[1],r[1],k[1])を生成させる。原始根符号E(p[1],r[1],k[1])の長さは、p[1]である。
【００７３】
ついで、符号生成部４０２に、第１の素数p[1]とは異なる第２の素数p[2]と、当該第２の素数p[2]に対する第２の原始根r[2]と、当該第２の素数p[2]に対する第２のシフト量k[2]と、の組を与えて、第２の原始根符号E(p[2],r[2],k[2])を生成させる。原始根符号E(p[2],r[2],k[2])の長さは、p[2]である。
【００７４】
そして、当該第１の原始根符号E(p[1],r[1],k[1])と、当該第２の原始根符号E(p[2],r[2],k[2])と、を、数列生成部４０３に与えて、数列を生成させ、当該生成される数列を拡散符号とする。当該拡散符号の長さは、p[1]p[2]である。
【００７５】
一般に、生成制御部４０４は、互いに異なるN個の素数のそれぞれについて、符号生成部４０２に、当該素数と、当該素数に対する原始根と、当該素数に対するシフト量と、の組を与えて、原始根符号を生成させる。
【００７６】
そして、生成されたN個の原始根符号を、数列生成部４０３に与えて、数列を生成させて、当該生成される数列を拡散符号とする。
【００７７】
（送信装置と受信装置）
以下では、本発明の実施形態の一つに係る通信システムについて説明する。当該通信システムの送信装置と受信装置は、上記の拡散符号生成装置を利用して通信する。
【００７８】
図５は、本発明の実施形態の一つに係る通信システムの概要構成を示す説明図である。以下、本図を参照して説明する。
【００７９】
通信システム５０１は、送信装置５２１と、受信装置５４１と、を備える。ここで、送信装置５２１と、受信装置５４１と、は、いずれも、上記の拡散符号生成装置４０１を備える。
【００８０】
送信装置５２１の拡散符号生成装置４０１と、受信装置５４１の拡散符号生成装置４０１と、には、共通する複数の組が与えられて、拡散符号が生成される。生成される拡散符号の長さは、与えられる複数の組に含まれる素数の積である。
【００８１】
本実施形態では、この拡散符号は複素直交符号であり、これをそのまま利用することで、ＣＤＭＡ（Code Division Multiple Access）通信が可能となる。
【００８２】
すなわち、送信装置５２１において、受付部５２２は、伝送すべき信号を受け付け、拡散部５２３は、受け付けられた信号を、拡散符号生成装置４０１により生成された拡散符号により拡散し、送信部５２４は、拡散された信号を送信する。
【００８３】
一方、受信装置５４１において、受信部５４２が、送信装置５２１から送信された信号を受信し、逆拡散部５４３が、受信された信号を、拡散符号生成装置４０１により生成された拡散符号により逆拡散し、出力部５４４が、逆拡散された信号を伝送された信号として出力する。
【００８４】
拡散ならびに逆拡散については、直接拡散などの公知の技術を適用することができる。また、本態様においては、同じ素数や原始根を利用した場合であっても、シフト量を可変とすることで、多数の拡散符号を得ることができる。
【００８５】
そこで、複数の通信チャンネルのそれぞれに生成された拡散符号のそれぞれを利用するような態様に拡張することも可能である。特に、ＯＦＤＭのような複数のサブチャネルを有する通信システムにおいて、各サブチャネルに異なるシフト量のセットから生成された拡散符号を割り当てて、各サブチャネル間の分離性能を向上させることができる。
【００８６】
なお、これらの送信装置５２１や受信装置５４１は、通信機能を有するコンピュータにプログラムを実行させることにより実現できるほか、通信機能を有する専用の電子回路やソフトウェアラジオなどのプログラム可能な電子回路によっても実現が可能である。
【産業上の利用可能性】
【００８７】
以上説明したように、本発明によれば、複数の原始根符号からより長い符号を生成し、当該符号を用いて通信を行うのに好適な拡散符号生成装置、通信システム、送信装置、受信装置、これらをコンピュータ上にて実現するプログラムを提供することができる。
【図面の簡単な説明】
【００８８】
【図１】複素平面上の単位円に配置される原始根符号E(3,2,1)の要素が、どの順序であるか、を示す説明図である。
【図２】複素平面上の単位円に配置される原始根符号E(5,2,1)の要素が、どの順序であるか、を示す説明図である。
【図３】複素平面上の単位円に配置されるE(3,2,1) (×) E(5,2,1)の要素が、どの順序であるか、を示す説明図である。
【図４】本発明の実施形態の一つに係る拡散符号生成装置の概要構成を示す模式図である。
【図５】本発明の実施形態の一つに係る通信システムの概要構成を示す説明図である。
【符号の説明】
【００８９】
４０１  拡散符号生成装置
４０２  符号生成部
４０３  数列生成部
４０４  生成制御部
５０１  通信システム
５２１  送信装置
５２２  受付部
５２３  拡散部
５２４  送信部
５４１  受信装置
５４２  受信部
５４３  逆拡散部
５４４  出力部
【図１】
2010130623.tif 000003
【図２】
2010130623.tif 000004
【図３】
2010130623.tif 000005
【図４】
2010130623.tif 000006
【図５】
2010130623.tif 000007