(57)【特許請求の範囲】
【請求項１】
音波送信部のハードウェア特性による誤差を補正する補正値ごとに補正周波数が割り当てられた補正周波数帯域を設定し、補正値「０」に補正基準周波数が割り当てられたハードウェア補正テーブルと、
データ桁数に割り当てられたデータ周波数を設定済みの基本デシベルレベルで発生させ、音波受信時に最寄りの位置から送信された音波に載せられたデータを受信するための分離受信フィルタ周波数を前記基本デシベルレベルで発生させ、ハードウェア発信補正のための前記補正基準周波数を前記基本デシベルレベルで発生させる音波送信部と、
前記音波送信部から送信された音波信号を受信し、前記データ周波数ごとにデシベルを抽出して配列させた後、最高のデジベルが検出されたデータ周波数を補正周波数として決定し、前記ハードウェア補正テーブルにおいて当該補正周波数に割り当てられた補正値だけ配列をシフトさせて補正を行い、分離受信フィルタ周波数の帯域のデータのうちから、最高のデシベル値を有する分離受信フィルタ周波数に割り当てられたアレイファクタの個数だけ、前記データ周波数のデシベル値の降順にデータを抽出してデータを復元する音波受信部と、
を含む音波通信装置。
【請求項２】
前記音波送信部は、
２進数の送信データの個数とパリティビットの個数とを加えたデータの桁数をアレイファクタとして有する音波送受信配列を生成し、前記データ桁数に等間隔を有するそれぞれ異なるデータ周波数を割り当てたデータ周波数ブロックを生成し、前記データ桁数ごとにそれぞれ異なる分離受信フィルタ周波数を割り当てた分離受信フィルタ周波数ブロックを生成するデータ周波数生成モジュールと、
送信するデータを２進数に変換し、変換された値が「１」を持つデータ桁数に割り当てられたデータ周波数を設定済みの基本デシベルレベルで発生させ、前記変換された値が「１」を持つデータの個数と同じデータ桁数に割り当てられた分離受信フィルタ周波数を前記基本デシベルレベルで発生させ、ハードウェア発信補正のための補正基準周波数を前記基本デシベルレベルで発生させるデータ周波数発信モジュールと、
を含む請求項１に記載の音波通信装置。
【請求項３】
前記音波送信部は、
暗号化キーを生成し、生成された暗号化キーを用いて暗号化左シフト値及び暗号化右シフト値を生成し、前記データ周波数ブロック及び分離受信フィルタ周波数ブロックからなる周波数ブロックのデータ桁数のうち奇数列に配置された周波数を、前記暗号化左シフト値だけ左に移動させて交換し、前記周波数ブロックのデータ桁数のうち偶数列に配置された周波数を、前記暗号化右シフト値だけ右に移動させて交換して暗号化する周波数ブロック暗号化モジュールを含み、
前記データ周波数発信モジュールは、暗号化された周波数ブロックのデータ桁数に割り当てられた周波数に対して周波数発信を行う請求項２に記載の音波通信装置。
【請求項４】
音波送信部に内蔵されたタイマーの時間を組み合わせるか、またはネットワークに接続されたサーバの時間を組み合わせて暗号化キーを生成し、前記暗号化キーの奇数列又は偶数列のいずれか一方の列を合わせて暗号化左シフト値で算出し、前記暗号化キーの他方の列を合わせて暗号化右シフト値を生成する請求項３に記載の音波通信装置。
【請求項５】
Ｎ番目のデータ桁数に割り当てられる分離受信フィルタ周波数は、Ｎ−１のデータ桁数に割り当てられるデータ周波数と、Ｎ＋１のデータ桁数に割り当てられるデータ周波数との間の中間周波数であることを特徴とする請求項２に記載の音波通信装置。
【請求項６】
前記音波受信部は、
受信される音波信号を設定済みのサンプリング間隔で高速フーリエ変換（ＦＦＴ）してデシベルを抽出し、サンプリング周波数配列に配置する高速フーリエ変換モジュールと、
前記補正周波数帯域で最高のデシベルが検出される周波数を補正周波数として決定し、前記補正周波数に割り当てられた補正値だけ前記サンプリング周波数配列に配置されたデシベルを移動させて受信補正する受信補正モジュールと、
前記暗号化キーを用いて、復号化左シフト値及び復号化右シフト値を生成し、前記音波送受信配列のアレイファクタのうち奇数列に配置された周波数を、前記復号化左シフト値だけ左に移動させて交換し、前記音波送受信配列のアレイファクタのうち偶数列に配置された周波数を、前記復号化右シフト値だけ右に移動させて交換した後、前記受信補正されたサンプリング周波数配列のうちから、前記データ周波数及び前記データ周波数に配置されたデシベルを抽出し、前記受信補正されたサンプリング周波数配列のうちから、前記分離受信フィルタ周波数及び前記分離受信フィルタ周波数に配置されたデシベルを抽出し、前記音波送受信配列に配置する復号化モジュールと、
前記デジベルを配置された音波送受信配列から、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数を抽出し、抽出した分離受信フィルタ周波数に割り当てられた前記音波送受信配列のアレイファクタの個数だけ、データ周波数のデシベル値の降順にアレイファクタを抽出してデータを復元する音波データ分離モジュールと、
を含む請求項３に記載の音波通信装置。
【請求項７】
前記音波通信装置は、
前記音波データ分離モジュールを用いて復元されたデータにおいて、前記パリティビットを用いて復元されたデータの有効性検証を行う有効性検証モジュールを含む請求項６に記載の音波通信装置。
【請求項８】
音波を送信するスピーカのハードウェア特性による誤差を補正する補正値ごとに補正周波数が割り当てられた補正周波数帯域を設定し、補正値「０」に補正基準周波数を割り当ててハードウェア補正テーブルを生成する過程と、
データ周波数ごとにデータを割り当てるためのデータ周波数ブロックを生成し、音波受信時に最寄りの位置から送信された音波に載せられたデータを受信するための分離受信フィルタ周波数ブロックを生成する音波送信過程と、
音波送信部から送信された音波信号を受信し、前記データ周波数ごとにデシベルを抽出して配列させた後、最高のデジベルが検出されたデータ周波数を補正周波数として決定し、前記ハードウェア補正テーブルにおいて当該補正周波数に割り当てられた補正値だけ配列をシフトさせて補正を行い、分離受信フィルタ周波数の帯域のデータのうちから、最高のデシベル値を有する分離受信フィルタ周波数に割り当てられたアレイファクタの個数だけ、前記データ周波数のデシベル値の降順にデータを抽出してデータを復元する音波受信過程と、
を含む音波通信方法。
【請求項９】
前記音波送信過程は、
２進数の送信データの個数とパリティビットの個数とを加えたデータ桁数をアレイファクタとして持つ音波送受信配列を生成し、前記データ桁数に等間隔を持つそれぞれ異なるデータ周波数を割り当てたデータ周波数ブロックを生成し、前記データ桁数ごとにそれぞれ異なる分離受信フィルタ周波数を割り当てた分離受信フィルタ周波数ブロックを生成する周波数ブロック生成過程と、
送信するデータを２進数に変換し、変換された値が「１」を持つデータ桁数に割り当てられたデータ周波数を設定済みの基本デシベルレベルで発生させ、前記変換された値が「１」を持つデータの個数と同じデータ桁数に割り当てられた分離受信フィルタ周波数を前記基本デシベルレベルで発生させ、ハードウェア発信補正のための補正基準周波数を前記基本デシベルレベルで発生させる周波数発信過程と、
を含む請求項８に記載の音波通信方法。
【請求項１０】
前記周波数ブロック生成過程と周波数発信過程との間に、
暗号化キーを生成し、生成された暗号化キーを用いて暗号化左シフト値及び暗号化右シフト値を生成し、前記データ周波数ブロック及び分離受信フィルタ周波数ブロックからなる周波数ブロックのデータ桁数のうち奇数列に配置された周波数を、前記暗号化左シフト値だけ左に移動させて交換し、前記周波数ブロックのデータ桁数のうち偶数列に配置された周波数を、前記暗号化右シフト値だけ右に移動させて交換して暗号化する過程をさらに含み、
前記暗号化された周波数ブロックのデータ桁数に割り当てられた周波数に対して前記周波数発信過程を行う請求項９に記載の音波通信方法。
【請求項１１】
前記音波受信過程は、
受信された音波信号を設定済みのサンプリング間隔で高速フーリエ変換（ＦＦＴ）してデシベルを抽出し、サンプリング周波数配列に配置する高速フーリエ変換過程と、
前記補正周波数帯域から最高のデシベルが検出される周波数を補正周波数として決定し、前記補正周波数に割り当てられた補正値だけ、前記サンプリング周波数配列に配置されたデシベルを移動させて受信補正する受信補正過程と、
前記暗号化キーを用いて、復号化左シフト値及び復号化右シフト値を生成し、前記音波送受信配列のアレイファクタのうち奇数列に配置された周波数を、前記復号化左シフト値だけ左に移動させて交換し、前記音波送受信配列のアレイファクタのうち偶数列に配置された周波数を、前記復号化右シフト値だけ右に移動させて交換した後、前記受信補正されたサンプリング周波数配列のうちから、前記データ周波数及び前記データ周波数に配置されたデシベルを抽出し、前記受信補正されたサンプリング周波数配列のうちから、前記分離受信フィルタ周波数及び前記分離受信フィルタ周波数に配置されたデシベルを抽出して前記音波送受信配列に配置する復号化過程と、
前記デジベルを配置された音波送受信配列から、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数を抽出し、抽出した分離受信フィルタ周波数に割り当てられた前記音波送受信配列のアレイファクタの個数だけ、前記データ周波数のデシベル値の降順にアレイファクタを抽出してデータを復元する音波データ分離過程と、
を含む請求項１０に記載の音波通信方法。
【請求項１２】
前記音波データ分離過程を行った後、音波データ分離モジュールを用いて復元されたデータにおいて、前記パリティビットを用いて復元されたデータの有効性検証を行う有効性検証過程を有する請求項１１に記載の音波通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音波通信装置及び方法に係り、さらに詳しくは、音波を送信及び受信することによりデータを送受信する音波通信装置及び方法に関する。
【背景技術】
【０００２】
ワイファイ（ＷｉＦｉ）、ブルートゥース（Bluetooth）などのような近距離無線通信を用いたゲーム及びチャットの活性化を図るためには、現在市中で使用されているほぼすべての移動通信端末に別途に装置を追加することなく、ソフトウェアのダウンロードだけで使用可能な近距離通信方式が必要である。移動通信端末には基本的に音声通信機能が備えられているため、この点に着目すれば、音波を用いた通信が有効な代案となり得る。
【０００３】
また、多くの場合に音波通信は、ブルートゥースなどのＲＦ通信（Radio Frequency Communication）よりも低消費電力通信が可能である。音波通信は、バイオメトリクス（Biometrics、Inc.）の米国特許第５,８４８,０２７号に開示されている。前記特許には、デジタルディスプレイ腕時計などの携帯端末のビープ音を利用してパソコン（ＰＣ）にデジタルデータを伝送する方法とシステムが記述されている。
【０００４】
このシステムは、データを伝送するために２進数周波数シフト・キーイング（ＢＦＳＫ：Binary Frequency Shift Keying）変調や振幅シフトキーイング（ＡＳＫ：Amplitude Shift Keying）変調などの連続波形（ＣＷ：Continuous Waveform）変調を用いる。
【０００５】
ＢＦＳＫ変調方式は、２つの特定の周波数の音波にそれぞれ０と１を割り当てる方式であり、ＣＷ変調方式は、周波数とは無関係に、特定強度以上の音を特定時間以上持続することに１を割り当て、音がない状態を特定時間以上持続することに０を割り当てる方式である。このような変調方式による通信は、特定の単位時間の間に２つの形態の音波で１ビットのデータだけを伝送することができる。
【０００６】
通常の移動通信端末で使用される音波は、電波に比べてかなり低周波であるため、伝送するデータ列を区分する時間である単位時間が、電波に比べてかなり長い。したがって、米国特許第５,８４８,０２７号のように２つの形態の音波のみを用いて単位時間中に１ビットだけを伝送する場合、伝送速度が低いと言わざるを得ない。
【０００７】
このような問題を解決するために、２つの形態の音波だけでなく、様々な周波数音を有する音波を使用して通信する方式が提案された。つまり、使用される周波数音を音楽で使用されるピッチ周波数と定め、それぞれのピッチ周波数にデータのデジタル値を対応させ、様々な周波数音を伝送してデコードすることにより、通信する。このようにして単位時間当たりの多数のビットを伝送する。
【０００８】
ところが、上記のように２進数のビットまたは２進数を超えるビットを用いて行う音波通信は、ハードウェアの特性を考慮していないという欠点がある。つまり、スピーカを介して音波を発信するとき、スピーカのハードウェア特性により、元々設定された基準周波数ではない、多少の誤差を有する他の周波数に載せられて音波が発信されることがあるが、これを受信するマイクロフォンは、元の基準周波数を復調するため、正確なデータを受信しないという問題が発生する虞がある。
【０００９】
また、従来の音波通信は、音波の特性上、同じ領域で異なる信号を発生するときにデータを分離することができる基準がないため、多数の音波が重複する場合では、データを受信することができないという問題がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第５，８４８，０２７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の技術的課題は、ハードウェアの特性による誤差を補正することである。また、多数の音波が重複する場合でも、最寄りの位置から発信されるデータを正確に受信できるようにすることである。
【課題を解決するための手段】
【００１２】
本発明の実施形態は、前記音波送信部のハードウェア特性による誤差を補正する補正値ごとに補正周波数が割り当てられた補正周波数帯域を設定し、補正値「０」に補正基準周波数が割り当てられたハードウェア補正テーブルと；データ桁数に割り当てられたデータ周波数を設定済みの基本デシベルレベルで発生させ、音波受信時に最寄りの位置から送信された音波に載せられたデータを受信するための分離受信フィルタ周波数を前記基本デシベルレベルで発生させ、ハードウェア発信補正のための前記補正基準周波数を前記基本デシベルレベルで発生させる音波送信部と；前記音波送信部から送信された音波信号を受信し、前記データ周波数ごとにデシベルを抽出して配列させた後、前記ハードウェア補正テーブルを用いて、抽出した補正値だけ配列をシフトさせて補正を行い、分離受信フィルタ周波数の帯域のうちから、最高のデシベル値を有する分離受信フィルタ周波数に割り当てられたアレイファクタ（array factor）の個数だけ、前記データ周波数のデシベル値の降順に抽出してデータを復元する音波受信部と;を含むことができる。
【００１３】
前記音波送信部は、２進数の送信データの個数とパリティビットの個数とを加えたデータの桁数をアレイファクタとして有する音波送受信配列を生成し、前記データ桁数に等間隔を有するそれぞれ異なるデータ周波数を割り当てたデータ周波数ブロックを生成し、前記データ桁数ごとにそれぞれ異なる分離受信フィルタ周波数を割り当てた分離受信フィルタ周波数ブロックを生成するデータ周波数生成モジュールと；
【００１４】
送信するデータを２進数に変換し、変換された値が「１」を持つデータ桁数に割り当てられたデータ周波数を設定済みの基本デシベルレベルで発生させ、前記変換された値が「１」を持つデータの個数と同じデータ桁数に割り当てられた分離受信フィルタ周波数を前記基本デシベルレベルで発生させ、ハードウェア発信補正のための補正基準周波数を前記基本デシベルレベルで発生させるデータ周波数発信モジュールと;を含むことができる。
【００１５】
前記音波送信部は、暗号化キーを生成し、生成された暗号化キーを用いて暗号化左シフト値及び暗号化右シフト値を生成し、前記データ周波数ブロック及び分離受信フィルタ周波数ブロックからなる周波数ブロックのデータ桁数のうち奇数列に配置された周波数を、前記暗号化左シフト値だけ左に移動させて交換し、前記周波数ブロックのデータ桁数のうち偶数列に配置された周波数を、前記暗号化右シフト値だけ右に移動させて交換して暗号化する周波数ブロック暗号化モジュールを含み、前記データ周波数発信モジュールは、暗号化された周波数ブロックのデータ桁数に割り当てられた周波数に対して周波数発信を行うことができる。
【００１６】
音波送信部に内蔵されたタイマーの時間を組み合わせるか、またはネットワークに接続されたサーバの時間を組み合わせて暗号化キーを生成し、前記暗号化キーの奇数列又は偶数列のいずれか一方の列を合わせて暗号化左シフト値で算出し、前記暗号化キーの他方の列を合わせて暗号化右シフト値を生成することができる。
【００１７】
Ｎ番目のデータ桁数に割り当てられる分離受信フィルタ周波数は、Ｎ−１のデータ桁数に割り当てられるデータ周波数と、Ｎ＋１のデータ桁数に割り当てられるデータ周波数との間の中間周波数であることを特徴とすることができる。
【００１８】
前記音波受信部は、受信される音波信号を設定済みのサンプリング間隔で高速フーリエ変換（ＦＦＴ）してデシベルを抽出し、サンプリング周波数配列に配置する高速フーリエ変換モジュールと；前記補正周波数帯域で最高のデシベルが検出される周波数を補正周波数として決定し、前記補正周波数に割り当てられた補正値だけ前記サンプリング周波数配列に配置されたデシベルを移動させて受信補正する受信補正モジュールと；前記暗号化キーを用いて、復号化左シフト値及び復号化右シフト値を生成し、前記音波送受信配列のアレイファクタのうち奇数列に配置された周波数を、前記復号化左シフト値だけ左に移動させて交換し、前記音波送受信配列のアレイファクタのうち偶数列に配置された周波数を、前記復号化右シフト値だけ右に移動させて交換した後、前記受信補正されたサンプリング周波数配列のうちから、前記データ周波数及び前記データ周波数に配置されたデシベルを抽出し、前記受信補正されたサンプリング周波数配列のうちから、前記分離受信フィルタ周波数及び前記分離受信フィルタ周波数に配置されたデシベルを抽出し、前記音波送受信配列に配置する復号化モジュールと；前記復号化された音波送受信配列から、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数を抽出し、抽出した分離受信フィルタ周波数に割り当てられた前記音波送受信配列のアレイファクタの個数だけ、データ周波数のデシベル値の降順にアレイファクタを抽出してデータを復元する音波データ分離モジュールと;を含むことができる。
【００１９】
前記音波通信装置は、前記音波データ分離モジュールを用いて復元されたデータにおいて、前記パリティビットを用いて復元されたデータの有効性検証を行う有効性検証モジュールを含むことができる。
【００２０】
本発明の実施形態は、音波を送信するスピーカのハードウェア特性による誤差を補正する補正値ごとに補正周波数が割り当てられた補正周波数帯域を設定し、補正値「０」に補正基準周波数を割り当ててハードウェア補正テーブルを生成する過程と；データ周波数ごとにデータを割り当てるためのデータ周波数ブロックを生成し、音波受信時に最寄りの位置から送信された音波に載せられたデータを受信するための分離受信フィルタ周波数ブロックを生成する音波送信過程と；音波送信部から送信された音波信号を受信し、前記データ周波数ごとにデシベルを抽出して配列させた後、前記ハードウェア補正テーブルを用いて、抽出した補正値だけ配列をシフトさせて補正を行い、分離受信フィルタ周波数の帯域のうちから、最高のデシベル値を有する分離受信フィルタ周波数に割り当てられたアレイファクタの個数だけ、前記データ周波数のデシベル値の降順に抽出してデータを復元する音波受信過程と;を含むことができる。
【００２１】
前記音波送信過程は、２進数の送信データの個数とパリティビットの個数とを加えたデータ桁数をアレイファクタとして持つ音波送受信配列を生成し、前記データ桁数に等間隔を持つそれぞれ異なるデータ周波数を割り当てたデータ周波数ブロックを生成し、前記データ桁数ごとにそれぞれ異なる分離受信フィルタ周波数を割り当てた分離受信フィルタ周波数ブロックを生成する周波数ブロック生成過程と；送信するデータを２進数に変換し、変換された値が「１」を持つデータ桁数に割り当てられたデータ周波数を設定済みの基本デシベルレベルで発生させ、前記変換された値が「１」を持つデータの個数と同じデータ桁数に割り当てられた分離受信フィルタ周波数を前記基本デシベルレベルで発生させ、ハードウェア発信補正のための補正基準周波数を前記基本デシベルレベルで発生させる周波数発信過程と;を含むことができる。
【００２２】
前記周波数ブロック生成過程と周波数発信過程との間に、暗号化キーを生成し、生成された暗号化キーを用いて暗号化左シフト値及び暗号化右シフト値を生成し、前記データ周波数ブロック及び分離受信フィルタ周波数ブロックからなる周波数ブロックのデータ桁数のうち奇数列に配置された周波数を、前記暗号化左シフト値だけ左に移動させて交換し、前記周波数ブロックのデータ桁数のうち偶数列に配置された周波数を、前記暗号化右シフト値だけ右に移動させて交換して暗号化する過程をさらに含み、前記暗号化された周波数ブロックのデータ桁数に割り当てられた周波数に対して前記周波数発信過程を行うことができる。
【００２３】
前記音波受信過程は、受信された音波信号を設定済みのサンプリング間隔で高速フーリエ変換（ＦＦＴ）してデシベルを抽出し、サンプリング周波数配列に配置する高速フーリエ変換過程と；前記補正周波数帯域から最高のデシベルが検出される周波数を補正周波数として決定し、前記補正周波数に割り当てられた補正値だけ、前記サンプリング周波数配列に配置されたデシベルを移動させて受信補正する受信補正過程と；前記暗号化キーを用いて、復号化左シフト値及び復号化右シフト値を生成し、前記音波送受信配列のアレイファクタのうち奇数列に配置された周波数を、前記復号化左シフト値だけ左に移動させて交換し、前記音波送受信配列のアレイファクタのうち偶数列に配置された周波数を、前記復号化右シフト値だけ右に移動させて交換した後、前記受信補正されたサンプリング周波数配列のうちから、前記データ周波数及び前記データ周波数に配置されたデシベルを抽出し、前記受信補正されたサンプリング周波数配列のうちから、前記分離受信フィルタ周波数及び前記分離受信フィルタ周波数に配置されたデシベルを抽出して前記音波送受信配列に配置する復号化過程と；前記復号化された音波送受信配列から、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数を抽出し、抽出した分離受信フィルタ周波数に割り当てられた前記音波送受信配列のアレイファクタの個数だけ、前記データ周波数のデシベル値の降順にアレイファクタを抽出してデータを復元する音波データ分離過程と;を含むことができる。
【００２４】
前記音波データ分離過程を行った後、前記音波データ分離モジュールを用いて復元されたデータにおいて、前記パリティビットを用いて復元されたデータの有効性検証を行う有効性検証過程を含むことができる。
【発明の効果】
【００２５】
本発明の実施形態によれば、スピーカを介して音波を発信するときに、スピーカのハードウェア特性により、元々設定された基準周波数ではなく、多少の誤差を持つ他の周波数に載せられて音波が発信されることがあるが、これを受信する受信端で受信補正を行い正確なデータを受信することができる。また、多数の音波が重複する場合でも、データを正確に受信することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施例に係る音波通信装置の構成ブロック図である。
【図２】本発明の実施例に係るハードウェア補正テーブルの構成例を示す図である。
【図３】本発明の実施例に係る音波送信部の構成ブロック図である。
【図４】本発明の実施例に係る周波数ブロックを示す図表である。
【図５】本発明の実施例に係るデータ周波数生成モジュールが１６進法の周波数ブロックを生成する例を示す図表である。
【図６】本発明の実施例に基づいて暗号化キーを生成し、シフト値が生成される例を示す図表である。
【図７】本発明の実施例に係る左シフト値を用いてデータ周波数が移動されて暗号化される様子を示す図である。
【図８】本発明の実施例に係る右シフトの値を用いてデータ周波数が移動されて暗号化される様子を示す図である。
【図９】本発明の実施例に基づいて１０進データを２進数に変換して周波数に載せて発生させる例を示す図表である。
【図１０】本発明の実施例に基づいて１６進データを２進数に変換して周波数に載せて発生させる例を示す図表である。
【図１１】本発明の実施例に係る音波受信部の構成ブロック図である。
【図１２】本発明の実施例に係る音波通信に該当する周波数帯域のみを、周波数間隔を有するサンプリング周波数配列に順次保存した図表である。
【図１３】本発明の実施例に基づいて、受信補正領域データの最高のデシベル値が検出された箇所を補正値として使用する様子を示す図表である。
【図１４】本発明の実施例に基づいて「−１」の補正値が用いられる様子を示す図表である。
【図１５】本発明の実施例に基づいて予め定義された受信フィルタ帯域のデシベル値を示す図表である。
【図１６】本発明の実施例に基づいて、シフト値を用いてデータ周波数が移動されて復号化される様子を示す図である。
【図１７】本発明の実施例に基づいて受信補正されたサンプリング周波数配列のうちから、分離受信フィルタ周波数及び分離受信フィルタ周波数に配置されたデシベルを抽出して保存した図表である。
【図１８】本発明の実施例に基づいて復号化された音波送受信配列から、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数を抽出し、抽出した分離受信フィルタ周波数に割り当てられた音波送受信配列のアレイファクタの個数だけデータ周波数のデシベル値の降順に抽出する様子を示す図表である。
【図１９】本発明の実施例に係る音波通信過程を示すフローチャートである。
【図２０】本発明の実施例に係る音波送信過程を示すフローチャートである。
【図２１】本発明の実施例に係る音波受信過程を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本発明が属する技術分野における通常の知識を有する者が、本発明を容易に実施できる程度に詳細に説明するために、本発明の最も好ましい実施例を添付図面を参照して詳細に説明する。本発明の目的、作用効果を含めて他の目的、特徴、しかも動作上の利点が好適な実施例の説明からより明らかになるであろう。以下で各図の構成要素に参照符号を付するに当たり、同一構成要素に対してはたとえ他の図に示されていてもできるだけ同一符号を付している。
【００２８】
図１は、本発明の実施例に係る音波通信装置の構成ブロック図であり、図２は、本発明の実施例に係るハードウェア補正テーブルの構成例を示す図である。
【００２９】
音波通信装置は、ハードウェア補正テーブル、音波送信部１００および音波受信部２００を含むことができる。
【００３０】
ハードウェア補正テーブルは、図２に示すように、音波送信部１００のハードウェア特性による誤差を補正する補正値ごとに補正周波数が割り当てられた補正周波数帯域を設定し、補正値「０」に補正基準周波数を割り当てたメモリテーブルである。音波信号を発信するときに、スピーカのハードウェア特性により、元々設定された基準周波数ではなく、多少の誤差を持つ他の周波数に載せられて音波が発信されることがあるが、このようなハードウェアの特性による誤差を補正するために、同一のハードウェア補正テーブルを音波送信部１００及び音波受信部２００にそれぞれ備える。補正値「０」に割り当てられた補正周波数を補正基準周波数とする。ハードウェア補正テーブルの例を図２に示す。図２を参照すると、補正周波数帯域としては１８,０６５Ｈｚ〜１８,０９５Ｈｚを有し、補正周波数が５Ｈｚ間隔で割り当てられるため、１８,０６５Ｈｚでは３の補正値を有し、１８,０７０Ｈｚでは２の補正値を有し、１８,０７５Ｈｚでは１の補正値を有し、１８,０８０Ｈｚでは０の補正値を有し、１８,０８５Ｈｚでは−１の補正値を有し、１８,０９０Ｈｚでは−２の補正値を有し、１８,０９５Ｈｚでは−３の補正値を有することができる。したがって、０の補正値を有する１８,０８０Ｈｚが補正基準周波数に該当される。
【００３１】
このようなハードウェア補正テーブルの補正値は、音波送信部１００及び音波受信部２００に同一の値として保存される。
【００３２】
音波送信部１００は、２進数の「１」を持つデータ桁数に割り当てられたデータ周波数を設定済みの基本デシベルレベルで発生させ、音波受信時に最寄りの位置から送信された音波に載せられたデータを受信するための分離受信フィルタ周波数を前記基本デシベルレベルで発生させ、スピーカを介して音波を送信する。
【００３３】
音波送信部１００は、音波受信部２００のマイクロフォンを起動させてから音波信号を送信する。マイクロフォンは、好ましくは、低インピーダンスの素子として製造される。音波信号は、音波の周波数帯域、例えば、１８,０００Ｈｚ?１９,８００Ｈｚ間に載せられる信号である。
【００３４】
特に、本発明の音波送信部１００は、ハードウェアの特性による誤差を補正するハードウェア特性誤差補正手段と、多数の音波送信部１００の音波送信により音波が重複して受信された場合、音波受信部２００から最も近い音波送信部１００から送信される音波のみを抽出して受信することができる重複音波分離手段と、を提供する。
【００３５】
音波送信部１００は、ハードウェア特性誤差補正手段として、ハードウェア発信補正のための補正周波数を選択して基本デシベルレベルで発信する。
【００３６】
また、従来の音波通信は、音波の特性上、同じ領域で互いに異なる信号を発生時にデータを分離し得る基準がないため、多数の音波が重複する場合にはデータを受信することができないという問題がある。これを解決するために、本発明の音波送信部１００は、重複音波分離手段として、２進数の「１」を持つデータ桁数に割り当てられたデータ周波数を設定済みの基本デシベルレベルで発生させ、音波受信時に最寄りの位置から送信された音波に載せられたデータを受信するための分離受信フィルタ周波数を、前記基本デシベルレベルで発生させ、スピーカを介して音波を送信する。以下、図３を参照して音波送信部１００について詳述する。
【００３７】
音波受信部２００は、音波送信部１００のスピーカを介して伝送される音波信号をスピーカから受信してデータを復元する。特に、本発明の音波受信部２００は、音波を送信したスピーカの特性を考慮した補正を行い、また、重複する音波信号のうちから、最寄りの位置から発信された音波信号のみを抽出してデータを復元することができる。このため、音波受信部２００は、音波送信部１００から送信した音波信号を受信し、前記データ周波数ごとにデシベルを抽出して配列させた後、ハードウェア補正テーブルを用いて、抽出した補正値だけ配列をシフトさせて補正を行い、分離受信フィルタ周波数の帯域のうち最高のデシベル値を有する分離受信フィルタ周波数に割り当てられたアレイファクタの個数だけ、前記データ周波数のデシベル値の降順に抽出してデータを復元する。以下、詳述する。
【００３８】
図３は、本発明の実施例に係る音波送信部１００の構成ブロック図である。
【００３９】
音波送信部１００は、データ周波数生成モジュール１１０、周波数ブロック暗号化モジュール１２０、及びデータ周波数発信モジュール１３０を含むことができる。
【００４０】
データ周波数生成モジュール１１０は、２進法データ周波数ブロックのデータ周波数又は１６進法データ周波数ブロックのデータ周波数を選択的に生成することができる。
【００４１】
まず、２進法データ周波数ブロックを生成する例を図４を参照して詳述する。
【００４２】
２進法周波数ブロックの生成は、２進数形式のデータを受信するためのデータ周波数ブロックの生成と、同一の領域でデータを発信するときに近くの位置のデータを受信するための分離受信フィルタ周波数を割り当てた分離受信フィルタ周波数ブロックの生成と、を含む。
【００４３】
このため、データ周波数生成モジュール１１０は、２進数送信データの個数とパリティビットの個数とを加えたデータの桁数をアレイファクタとして有する音波送受信配列を生成し、データ桁数に同じ間隔を持つそれぞれ異なるデータ周波数を割り当てたデータ周波数ブロックを生成し、データ桁数ごとにそれぞれ異なる分離受信フィルタ周波数を割り当てた分離受信フィルタ周波数ブロックを生成することができる。
【００４４】
例えば、図４を参照すると、データ周波数生成モジュール１１０は、合計３４個のアレイファクタを持つブロックを生成し、それぞれ５０Ｈｚ単位のデータ周波数をそれぞれ持つデータ周波数ブロックと分離受信フィルタ周波数ブロックとを生成する。
【００４５】
伝送するデータのサイズに応じて周波数の間隔を調整すると、より大きなデータを伝送することができ、最後の２ブロックは、有効性検証のためのパリティ領域として使用する。
【００４６】
多数のスピーカの発信により重複受信される音波信号の分離のための受信フィルタの周波数は、データ周波数間隔のうち中間の周波数を使用する。Ｎ番目のデータ桁数に割り当てられる分離受信フィルタ周波数は、Ｎ−１のデータ桁数に割り当てられるデータ周波数と、Ｎ＋１のデータ桁数に割り当てられるデータ周波数との間の中間周波数が使用される。図４の例示を参照すると、データ伝送のためのブロック３２個の有効性検証のためのブロック２個を用いて、２の３２乗の固有値を伝送することができる。したがって、２３２=４,２９４,９６７,２９６個の有効なコードを送ることができる。
【００４７】
図４のデータ周波数ブロックの最後の３３番目ブロックは、パリティ検出周波数であり、奇数ブロックからの周波数発生件数の合計を２で割って余りが１であれば発生し、０であれば発生しない。図４のデータ周波数ブロックの最後３４番目ブロックは、パリティ検出周波数であり、奇数ブロックからの周波数発生件数の合計を２で割って余りが１であれば発生し、０であれば発生しない。
【００４８】
受信フィルタの周波数は、データ伝送時に唯一の１つの周波数を発生し、データ伝送ブロックの１から３４までの周波数発生個数を表現する。例えば、２進数で「１１１１１１１１１１１１１１１１１１１１１１１１１１１１１１１１」（３２個のデータ周波数と２つのパリティ周波数）発生時に合計３４個分に相当する１,９７５０Ｈｚの周波数を発生する。
【００４９】
一方、２進法周波数の伝送は、１６進法周波数の伝送よりも限られた周波数範囲においてより多くの組み合わせを作り出すことができるが、周波数干渉が極めて多い場所では、有効性検証が強化された１６進法周波数ブロックの生成が望ましい。以下、図５を参照してデータ周波数生成モジュール１１０が１６進法周波数ブロックを生成する例を説明する。
【００５０】
１６進法周波数ブロックの生成は、１６進数形式のデータを受信するためのデータ周波数ブロックの生成と、同じ領域でデータ送信するときに近くの位置のデータを受信するための音波データ分離受信フィルタ周波数ブロックの生成と、を含む。
【００５１】
図５のデータ周波数ブロックの例に示すように、合計５×８=４０のブロックが生成され、周波数はそれぞれ４０Ｈｚ単位で配列されている。
【００５２】
伝送するデータのサイズに応じて周波数間隔を調整し、１６進数の桁数を増やすと、より大きなデータを伝送することができ、最上側の列及び最右側の列は、有効性検証のためのパリティ領域として使用される。
【００５３】
多数のスピーカの発信により重複受信される音波信号の分離のための受信フィルタの周波数は、データ周波数間隔のうち中間周波数を使用する（２進法周波数ブロックの生成と同一である）。図５は、１６進数の７桁であるＦＦＦＦＦＦＦまで表現できるデータを伝送する周波数ブロックを生成した例を示す。
【００５４】
図５のデータ周波数Ｙ軸パリティチェックでは、伝送する送信周波数ブロックの列の合計を２で割って余りが１であれば周波数を発生し、０であれば周波数を発生しない。Ｘ軸パリティチェックでは、送信周波数ブロックの各行の合計を２で割って余りが１であれば周波数を発生し、０であれば周波数を発生しない。パリティチェックでは、Ｙ軸のパリティ及びＸ軸パリティの発生ブロックの合計を２で割って余りが１であれば周波数を発生し、０であれば周波数を発生しない。
【００５５】
１６進法周波数ブロックの生成時にも２進法周波数ブロックの生成と同様に、受信フィルタの周波数は、データ伝送時に唯一の１つの周波数が発生し、データ伝送ブロックの１から３４までの周波数発生数を表現する。
【００５６】
以下で２進法周波数ブロックを例として説明するが、同様に、本発明は、１６進法周波数ブロックにも適用できることは自明であろう。
【００５７】
周波数ブロック暗号化モジュール１２０は、２進法または１６進法の周波数ブロックが露出して悪意的な目的で使用される虞がある。かかる問題を解決するために、本発明は、リアルタイムで周波数ブロックの周波数を変更してセキュリティを強化する。つまり、本発明は、周波数ブロックの周波数値が随時変更されて送出できるようにすることで、発生する周波数が露出されても悪意的な目的で使用される虞があるという問題を解決することができる。
【００５８】
このため、周波数ブロック暗号化モジュール１２０は、生成される暗号化キーを用いて暗号化左シフト値及び暗号化右シフト値を生成し、データ周波数ブロック及び分離受信フィルタ周波数ブロックからなる周波数ブロックのデータ桁数のうち奇数列又は偶数列のいずれか一方の列に配置された周波数を、前記暗号化左シフト値だけ左に移動させて交換し、周波数ブロックのデータ桁数のうち左に移動されていない列に配置された周波数を、暗号化右シフト値だけ右に移動させて交換して暗号化する。
【００５９】
ソフトウェア（Ｓ／Ｗ）を使用した音波通信発信器は、中央サーバ又はローカルサーバの時間を用いて年＋月＋日＋時間＋分の組み合わせにより暗号化キーを生成する。独立的なハードウェア（Ｈ／Ｗ）音波発生器を使用した発信器は、内蔵されたタイマーの時間を用いて年＋月＋日＋時間＋分の組み合わせにより暗号化キーを生成する。音波送信部１００に内蔵されたタイマーの時間を組み合わせたり、ネットワークに接続されたサーバの時間を組み合わせたりして暗号化キーを生成する。例えば、暗号化キーは、ＹＹＹＹＭＭＤＤｈｈｍｍ（２０１５０４２７１２０２）の形態を有することができる。
【００６０】
また、暗号化キーの奇数列又は偶数列のいずれか一方の列を合わせて暗号化左シフト値を算出し、前記暗号化キーの他方の列を合わせて暗号化右シフト値を生成する。
【００６１】
例えば、図６（ａ）に示すように、時間の組み合わせにより生成された暗号化キーがあると仮定した場合、図６（ｂ）に示すように左シフト値と右シフト値とを生成することができる。つまり、左シフト値は、基準列＋奇数列の値であり、右シフト値には、基準列＋偶数列の値が対応することができる。基準列が暗号化キーの最後の列である「１」であれば、下記の式１に示すように、左シフト値と右シフト値を生成して図６（ｂ）の値を得ることができる。
［式１］
左シフト値＝l＋ａ＋ｃ＋ｅ＋ｇ＋ｉ＋ｋ
右シフト値＝l＋ｂ＋ｄ＋ｆ＋h＋j
【００６２】
上記のように左シフト値と右シフト値が生成されると、図７に示すように、周波数ブロックの桁数のうち奇数列は、左シフト値を用いて該当値だけ移動し、移動した桁の周波数と交換される。ただし、左への移動中に１番桁数の後方へ移動するとき、最後の桁数に移動してループを回す。
【００６３】
同様に、図８に示すように、周波数ブロックの桁数のうち偶数列は、右シフト値を用いて該当値だけ移動し、移動した桁の周波数と交換される。ただし、右に移動中に最後の桁数の次に移動時に１桁数に移動してループを回す。
【００６４】
データ周波数発信モジュール１３０は、送信するデータを２進数に変換し、変換された値が「１」を持つデータ桁数に割り当てられたデータ周波数を、設定済みの基本デシベルレベルで発生させ、変換された値が「１」を持つデータの個数と同じデータ桁数に割り当てられた分離受信フィルタ周波数を、基本デシベルレベルで発生させ、ハードウェア発信補正のための補正基準周波数を基本デシベルレベルで発生させる。
【００６５】
上述すると、１０進データを伝送する場合、周波数ブロックを暗号化した後、伝送する１０進データを２進数に変換し、１であれば、該当桁数の周波数を発生させる。データ周波数ブロックに発生する周波数の個数を合わせることで、受信フィルタの周波数の桁数に該当する周波数を発生させる。ハードウェア発信補正のための補正基準周波数の補正値「０」に位置した周波数を発生させる。
【００６６】
例えば、「１２３４」という１０進データを伝送する場合、図９に示すように、「１２３４」を２進数に変換すると、１００１１０１００１０の２進数に該当する周波数を送出する。そして、データ周波数ブロックに発生する周波数の個数が６個であるため、分離受信フィルタ周波数のブロックの６番目の桁に該当する１８,３５０Ｈｚを基本デシベルとして送出する。また、ハードウェア発信補正のための補正基準周波数の補正値「０」に位置した１８,０８０Ｈｚの周波数を、基本デシベルとして発生させる。
【００６７】
抽出された送出周波数を同じ基本デシベルとして正弦波（sine wave）を生成し、スピーカを介して発信する。タイマーの分（minute）が変更される場合、送出周波数を周波数ブロック暗号化モジュール１２０を用いて再配列した後、再度送出する。
【００６８】
１６進データを伝送する場合、周波数ブロックを暗号化した後、伝送する１６進データを２進数に変換し、１であれば、該当桁数の周波数を発生させる。データ周波数ブロックに発生する周波数の個数を合わせることで、受信フィルタの周波数の桁数に該当する周波数を発生させる。ハードウェア発信補正のための基準周波数の補正値「０」に位置する周波数を発生させる。
【００６９】
たとえば、「Ｆ０００００Ｆ」という１６進データを伝送するとき、各桁数を２進数に変換すると、１１１１、００００、００００、００００、００００、００００、１１１１の４バイト２進数の合計７つが生成され、図１０に示すように、データ周波数ブロックに割り当てられる。また、データ周波数ブロックに発生する周波数の個数が８個であるため、分離受信フィルタの周波数ブロックの８番目の桁に該当する１８,３９０Ｈｚを基本デシベルとして送出する。さらに、ハードウェア発信補正のための補正基準周波数の補正値「０」に位置した１８,０８０Ｈｚの周波数を基本デシベルとして発生させる。
【００７０】
一方、前記音波送信部１００の構成の説明では、周波数ブロック暗号化モジュール１２０が適用された例として、データ周波数生成モジュール１１０で生成された周波数ブロックに対して周波数ブロック暗号化モジュール１２０が暗号化を行い、暗号化された周波数ブロックのデータ桁数に割り当てられた周波数に対して周波数の発信を行う例を説明した。しかし、本発明は、これに限定されず、データ周波数生成モジュール１１０で周波数ブロックを生成し、暗号化せずにデータ周波数発信モジュール１３０を介して直接データを伝送する実施例も可能であることは自明である。
【００７１】
図１１は、本発明の実施例に係る音波受信部の構成ブロック図である。
【００７２】
本発明の音波受信部２００は、同じ音波通信の発信ソフトウェアを使用したデータ周波数の発信時、スピーカまたは音響機器（Ｈ／Ｗ）の特性により発生する出力誤差（Ｈｚ）を自動的に感知して音波データを受信できるように、すべてのＨ／Ｗを発信器として使用できるようにする。
【００７３】
音波送信部１００が周波数ブロックの周波数を暗号化して発信するとき、前記音波受信部２００は、それを解釈することができる暗号化解釈を行い、この時、暗号化解釈では、音波送信部１００と同じ周波数配列をリアルタイムで同期化できるようにする。また、同じ場所でそれぞれ異なる信号のデータ周波数を発信する場合、最寄りの位置から発信されている音波データを受信することができるように、音波データを分離するモジュールを提案することにより、複数の音波信号を同一の場所でクロストークなしで使用できるようにする。
【００７４】
このため、音波受信部２００は、音波データ受信モジュール２１０、高速フーリエ変換モジュール２２０、受信補正モジュール２３０、音波データ分離モジュール２４０、及び有効性検証モジュール２５０を含むことができる。
【００７５】
音波データ受信モジュール２１０は、スマートフォン又はタブレットＰＣに設けられたマイクロフォンに該当するもので、このようなマイクロフォンのリソースを介して所定時間間隔で１０ｍｓ前後の音波データを受信する。
【００７６】
高速フーリエ変換モジュール２２０は、受信された音波信号を設定済みのサンプリング間隔で高速フーリエ変換（ＦＦＴ）してデシベルを抽出し、サンプリング周波数配列に配置する。音波送信部１００から送出されたデータ周波数を解析するためにＦＦＴ（高速フーリエ変換方式）を適用することにより、時間データを周波数データに変換する作業を行う。
【００７７】
ＦＦＴ分析では、４４１００Ｈｚのサンプリングレート（Sampling rate）の時間データを、５Ｈｚ単位を持つ８８２０個のブロックの周波数データに変換することができる。音波送信部１００から送信されるデータのサイズが大きいほど、ブロックの数を増やすことで周波数間隔を小さくする。分析されたＦＦＴデータは、図１２に示すように、音波通信に該当する周波数帯域（１８０００Ｈｚ?１９８００Ｈｚ）でのみ周波数間隔を持つサンプリング周波数配列に順次保存される。
【００７８】
受信補正モジュール２３０は、補正周波数帯域で最高のデシベルが検出される周波数を補正周波数として決定し、補正周波数に割り当てられた補正値だけ前記サンプリング周波数配列に配置されたデシベルを移動させて受信補正する。
【００７９】
受信補正モジュール２３０は、発信器の機械的（Ｈ／Ｗ）特性によって発生する周波数の誤差を補正することにより、機械的特性に関係なく正確なデータを受信することができるように開発されたモジュールである。受信補正モジュール２３０は、高速フーリエ変換モジュール２２０を介して分析された配列から、受信補正領域帯の周波数配列を検出する。図１３に示すように、受信補正領域データの最高デシベル値が検出された箇所を補正値とする。受信補正領域のデータのデシベル値が最も大きく検出された箇所を補正値として使用する。補正値が「０」である場合は、ＦＦＴ分析元データ（FFT analysis original data）に対して別途の補正ロジックを適用せずに暗号化解析モジュールを行う。
【００８０】
しかし、補正値が０でない場合、ＦＦＴ分析元データのデシベル値を補正値だけシフトさせた後、暗号化解析モジュールを行う。例えば、受信補正領域帯の周波数において１８,０８５Ｈｚが最高のデシベルを有する場合、１８,０８０Ｈｚの補正基準周波数が５Ｈｚだけ移動して伝送されたと言える。したがって、図１４に示すように、１８,０８５Ｈｚに割り当てられた補正値「−１」だけデシベルを移動させる受信補正を行う。
【００８１】
復号化モジュールは、受信フィルタを介して他の全ての周波数をブラインド処理した後、予め定義された受信フィルタ帯域の周波数のみを処理する。したがって、図１５に示すように、予め定義された受信フィルタ帯域を抽出して処理することができる。
【００８２】
復号化モジュールは、暗号化キーを用いて復号化左シフト値及び復号化右シフト値を生成し、音波送受信配列のアレイファクタのうち奇数列又は偶数列のいずれか一方の列に配置された周波数を、復号化左シフト値だけ左に移動させて交換し、音波送受信配列のアレイファクタのうち左に移動されていない列に配置された周波数を、前記復号化右シフト値だけ右に移動させて交換した後、受信補正されたサンプリング周波数配列のうちから、データ周波数及びデータ周波数に配置されたデシベルを抽出し、受信補正されたサンプリング周波数配列のうちから、分離受信フィルタ周波数及び分離受信フィルタ周波数に配置されたデシベルを抽出して前記音波送受信配列に配置する。
【００８３】
つまり、復号化モジュールは、中央サーバ又はローカルサーバ、スマートフォンのＧＰＳ時刻に基づいて暗号化キーを生成する。暗号化キーは、音波送信部１００の周波数ブロック暗号化モジュール１２０で生成された暗号化キーと同様に生成され、生成された暗号化キーの特定の列を合わせて左シフト値、右シフト値を決定する。決定された左シフト値に応じて、図１６（ａ）に示すように、奇数列のアレイファクタの周波数を左シフト値だけ移動させ、また、右シフト値に応じて、図１６（ｂ）に示すように、偶数列のアレイファクタの周波数を右シフト値だけ移動させる。そして、図１７に示すように、受信補正されたサンプリング周波数配列のうちから、分離受信フィルタ周波数及び分離受信フィルタ周波数に配置されたデシベルを抽出して保存する。
【００８４】
参考までに、復号化を行う場合には、周波数を同じシフト値を用いて発信部と同様に移動させる。暗号化と復号化の両方において周波数のみが移動される。音波送信部が抽出されたシフト値を用いて周波数を移動させた後、該当ブロックの周波数を発信すると、音波送信部が該当キー値を用いて周波数を特定のブロックに移動させて周波数を送信したため、音波受信部２００の復号化モジュールも同じシフト値を用いて周波数を移動させてブロックに配置した後、受信された周波数を該当ブロックにマーキングして解釈することになる。
【００８５】
音波データ分離モジュール２４０は、図１８に示すように、復号化された音波送受信配列から、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数を抽出し、抽出した分離受信フィルタ周波数に割り当てられた音波送受信配列のアレイファクタの個数だけ、データ周波数のデシベル値の降順に抽出してデータを復元する。
【００８６】
既存の音波通信は、音波の特性上、同じ領域で異なる信号を発生するとき、データを分離することができる基準がないので、データを受信することができないという問題があるが、本発明は、音波データ分離モジュールを介して最寄りの位置から発信される信号を受信することができる。
【００８７】
例えば、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数が１８,３５０Ｈｚであれば、データ周波数のデシベルのうちデシベルの最高値を有する順に６つのアレイファクタを抽出することができる。したがって、図９に示すように、パリティビットとして「００」を有する「１０００１１０１００１」データ＋「００」パリティで構成される「１００１１０１００１００」の全体データが送信される場合、分離受信フィルタ周波数は、２２,２５，２６,２８,３１,３４のアレイファクタを抽出し、受信データとして「１００１１０１００１００」を受信することができる。
【００８８】
参考までに、分離受信フィルタ周波数のデシベル値が最も高いアレイファクタのファクタ値は、最寄りの位置から発信された発信器から受信した周波数データ受信個数の値である。本発明における音波送信部１００は、同じ基本デシベルでデータ周波数を送出しているので、データ周波数のデシベル値の降順に抽出されたアレイファクタの値だけ周波数データを受信すると、最寄りの位置から発信しているデータを受信することができる。
データ抽出基準値：ｎ＝Ｍａｘ（受信フィルタのデシベル）のアレイファクタ
データの抽出：ｄａｔａ[ｎ]＝Ｍａｘ（データ周波数のデシベル）の上位ｎ個
【００８９】
有効性検証モジュール２５０は、音波データ分離モジュール２４０を介して復元されたデータにおいて、前記パリティビットを用いて復元されたデータの有効性検証を行う。
【００９０】
有効性検証では、データ領域の周波数ブロック１?３２のうち奇数ブロックとしてマーキングされた周波数の合計が奇数であれば、３３番のブロックの周波数が同時に受信されるべきである。奇数であるにもかかわらず３３番のブロックに該当する周波数が受信されていなければ、データ受信エラーとして認識され、再び受信されて分析される。このような分析は、例えば、合計５回行うことができる。
【００９１】
また、同じ有効性検証において、データ領域の周波数ブロック１?３２のうちの偶数ブロックとしてマーキングされた周波数の合計が偶数であれば、３４番ブロックの周波数が同時に受信されるべきである。偶数にもかかわらず３４番のブロックに該当する周波数が受信されていなければ、データ受信エラーとして認識され、再び受信されて分析される。このような分析は、例えば、合計５回の行うことができる。参考までに、有効性検証中にエラーが発生して所定回数（例えば、５回）が蓄積されると、一定時間待機した後に再び受信することになる。
【００９２】
一方、前記音波受信部２００の構成の説明では、周波数ブロックの暗号化が行われたデータを受信したときに行われた復号化を含む例を説明した。モジュールが適用された例として、周波数ブロック暗号化モジュール１２０が、データ周波数生成モジュール１１０で生成された周波数ブロックに対して暗号化を行い、暗号化された周波数ブロックのデータ桁数に割り当てられた周波数に対して周波数発信を行う例を説明した。しかし、本発明はこれに限定されるものではなく、データ周波数生成モジュール１１０が周波数ブロックの暗号化を行わずにデータ周波数発信モジュール１３０を介して直接データを伝送した場合、これを受信して復号化せずにデータを復元処理する場合にも適用できることは明らかである。
【００９３】
図１９は、本発明の実施例に係る音波通信過程を示すフローチャートであり、図２０は、本発明の実施例に係る音波送信過程を示すフローチャートであり、図２１は、本発明の実施例に係る音波受信過程を示すフローチャートである。
【００９４】
本発明の音波通信過程は、ハードウェア補正テーブルの生成過程Ｓ１９０、音波送信過程Ｓ２００、および音波受信過程Ｓ２１０を有することができる。
【００９５】
ハードウェア補正テーブルの生成過程Ｓ１９０は、音波を送信するスピーカのハードウェア特性による誤差を補正する補正値ごとに補正周波数が割り当てられた補正周波数帯域を設定し、補正値「０」に補正基準周波数を割り当てることによりハードウェア補正テーブルを生成する過程である。
【００９６】
音波信号を発信するとき、スピーカのハードウェア特性により、元々設定された基準周波数ではなく、多少の誤差を持つ他の周波数に載せられて音波が発信されることがあるが、このようなハードウェアの特性による誤差を補正するために、同じハードウェア補正テーブルを音波送信部１００及び音波受信部２００にそれぞれ備える。補正値 「０」に割り当てられた補正周波数を補正基準周波数とする。ハードウェア補正テーブルの例を図２に示した。図２を参照すると、補正周波数帯域としては１８,０６５Ｈｚ〜１８,０９５Ｈｚを有し、補正周波数が５Ｈｚ間隔で割り当てられるため、１８,０６５Ｈｚでは３の補正値を有し、１８,０７０Ｈｚでは２の補正値を有し、１８,０７５Ｈｚ〜１の補正値を有し、１８,０８０Ｈｚでは０の補正値を有し、１８,０８５Ｈｚでは−１の補正値を有し、１８,０９０Ｈｚでは−２の補正値を有し、１８,０９５Ｈｚでは−３の補正値を有することができることがわかる。したがって、０の補正値を有する１８,０８０Ｈｚが補正基準周波数に該当される。
【００９７】
音波送信過程Ｓ２００は、データ周波数ごとにデータを割り当てるためのデータ周波数ブロックを生成し、音波受信時に最寄りの位置から送信された音波に載せられたデータを受信するための分離受信フィルタ周波数ブロックを生成する過程である。
【００９８】
音波送信過程Ｓ２００は、図２０を参照して詳述すると、周波数ブロックの生成過程Ｓ２０２、暗号化過程Ｓ２０４、および周波数発信コースＳ２０６を有することができる。
【００９９】
周波数ブロックの生成過程Ｓ２０２では、２進数の送信データの個数とパリティビットの個数とを加えたデータ桁数をアレイファクタとして持つ音波送受信配列を生成し、データ桁数に同じ間隔を有する異なるデータ周波数を割り当てたデータ周波数ブロックを生成し、各データ桁数ごとにそれぞれ異なる分離受信フィルタ周波数を割り当てた分離受信フィルタ周波数ブロックを生成する。例えば、図４に示すように、３２個の２進数の送信データと２個のパリティビットとを加えた３４個のデータ桁数のアレイファクタを有する音波送受信配列を生成し、各データ桁数ごとにデータ周波数及び分離受信フィルタ周波数をそれぞれ割り当てる。
【０１００】
暗号化過程Ｓ２０４では、暗号化キーを生成し、生成された前記暗号化キーを用いて暗号化左シフト値及び暗号化右シフト値を生成し、前記データ周波数ブロック及び分離受信フィルタ周波数ブロックからなる周波数ブロックのデータ桁数のうち奇数列に配置された周波数を、前記暗号化左シフト値だけ左に移動させて交換し、周波数ブロックのデータ桁数のうち偶数列に配置された周波数を、暗号化右シフト値だけ右に移動させて交換して暗号化する。つまり、中央サーバ又はローカルサーバの時間を用いて年＋月＋日＋時間＋分の組み合わせにより暗号化キーを生成する。独立的なハードウェア（Ｈ／Ｗ）音波発生器を使用した発信器は、内蔵されたタイマーの時間を用いて年＋月＋日＋時間＋分の組み合わせにより暗号化キーを生成する。音波送信部１００に内蔵されたタイマーの時間を組み合わせたり、ネットワークに接続されたサーバの時間を組み合わせたりして暗号化キーを生成する。例えば、暗号化キーは、ＹＹＹＹＭＭＤＤｈｈｍｍ（２０１５０４２７１２０２）の形態を有することができる。
【０１０１】
また、暗号化キーの奇数列又は偶数列のいずれか一方の列を合わせて暗号化左シフト値を算出し、前記暗号化キーの他方の列を合わせて暗号化右シフト値を生成する。
【０１０２】
上記のように左シフト値と右シフト値が生成されると、図７に示すように、周波数ブロックの桁数のうち奇数列は、左シフト値を用いて該当値だけ移動し、移動した桁の周波数と交換される。ただし、左への移動中に１番桁数の後方へ移動するとき、最後の桁数に移動してループを回す。同様に、図８に示すように、周波数ブロックの桁数のうち偶数列は、 右シフト値を用いて該当値だけ移動し、移動した桁の周波数と交換される。ただし、右に移動中に最後の桁数の次に移動するとき、１桁数に移動してループを回す。
【０１０３】
暗号化過程Ｓ２０４を行った後、周波数発信過程Ｓ２０６では、送信するデータを２進数に変換し、変換された値が「１」を持つデータ桁数に割り当てられたデータ周波数を、設定済みの基本デシベルレベルで発生させ、変換された値が「１」を持つデータの個数と同じデータ桁数に割り当てられた分離受信フィルタ周波数を、基本デシベルレベルで発生させ、ハードウェア発信補正のための補正基準周波数を基本デシベルレベルで発生させる。
【０１０４】
つまり、１０進データを２進数に変換して周波数に載せて発生させる図９、及び１６進データを２進数に変換して周波数に載せて発生させる図１０に示すように、「１」の値を持つデータ桁数に割り当てられたデータ周波数に基本デシベルレベルで伝送し、分離受信フィルタ周波数と補正基準周波数の基本デシベルレベルで伝送する。
【０１０５】
一方、前記音波送信過程Ｓ２００の説明では、周波数ブロックの暗号化が適用された例として、周波数ブロックに対して周波数ブロック暗号化を行い、暗号化された周波ブロックのデータ桁数に割り当てられた周波数に対して周波数発信を行う例を説明した。しかし、本発明はこれに限定されるものではなく、周波数ブロックを生成し、暗号化せずに直接データ周波数発信を行いデータを伝送することができるであろう。
【０１０６】
一方、上述したように音波の送信を行った後、相手は音波受信過程Ｓ２１０を行う。音波受信過程Ｓ２１０では、音波送信部１００から送信された音波信号を受信し、前記データ周波数ごとにデシベルを抽出して配列させた後、ハードウェア補正テーブルを用いて、抽出した補正値だけ配列をシフトさせて補正を行い、分離受信フィルタ周波数の帯域のうちから、最高のデシベル値を有する分離受信フィルタ周波数に割り当てられたアレイファクタの個数だけ、前記データ周波数のデシベル値の降順に抽出してデータを復元する。
【０１０７】
音波受信過程Ｓ２１０は、図２１を参照して上述すると、高速フーリエ変換過程Ｓ２１２、受信補正過程Ｓ２１４、復号化過程Ｓ２１６、および音波データ分離過程Ｓ２１８を有することができる。このほか、有効性検証過程Ｓ２１９を有することができる。
【０１０８】
高速フーリエ変換過程Ｓ２１２は、受信された音波信号を設定済みのサンプリング間隔で高速フーリエ変換ＦＦＴしてデシベルを抽出し、サンプリング周波数配列に配置する過程である。
【０１０９】
ＦＦＴ分析では、４４１００Ｈｚのサンプリングレート（Sampling rate）の時間データを５Ｈｚ単位を持つ８８２０個のブロックの周波数データに変換することができる。音波送信部１００から送信されるデータのサイズが大きいほど、ブロックの数を増やすことで周波数間隔を小さくする。分析されたＦＦＴデータは、図１２に示すように、音波通信に該当する周波数帯域（１８０００Ｈｚ?１９８００Ｈｚ）でのみ周波数間隔を持つサンプリング周波数配列に順次保存される。
【０１１０】
受信補正過程Ｓ２１４では、補正周波数帯域で最高のデシベルが検出される周波数を補正周波数として決定し、補正周波数に割り当てられた補正値だけサンプリング周波数配列に配置されたデシベルを移動させて受信補正する。図１３に示すように、 受信補正領域データの最高デシベル値が検出された箇所を補正値とする。補正値が「０」である場合は、ＦＦＴ分析元データに対して別途の補正ロジックを適用せずに暗号化解析モジュールを行う。しかし、補正値が０でない場合、ＦＦＴ分析元データのデシベル値を補正値だけシフトさせた後、暗号化解析モジュールを行う。例えば、受信補正領域帯の周波数において１８,０８５Ｈｚが最高のデシベルを有する場合、１８,０８０Ｈｚの補正基準周波数が５Ｈｚだけ移動して伝送されたと言える。したがって、図１４に示すように、１８,０８５Ｈｚに割り当てられた補正値「−１」だけデシベルを移動させる受信補正を行う。
【０１１１】
復号化過程Ｓ２１６では、暗号化キーを用いて復号化左シフト値及び復号化右シフト値を生成し、音波送受信配列のアレイファクタのうち奇数列に配置された周波数を、前記復号化左シフト値だけ左に移動させて交換し、音波送受信配列のアレイファクタのうち偶数列に配置された周波数を、復号化右シフト値だけ右に移動させて交換した後、受信補正されたサンプリング周波数配列のうちから、前記データ周波数及び前記データ周波数に配置されたデシベルを抽出し、前記受信補正されたサンプリング周波数配列のうちから、分離受信フィルタ周波数及び前記分離受信フィルタ周波数に配置されたデシベルを抽出して前記音波送受信配列に配置する。
【０１１２】
復号化過程Ｓ２１６では、暗号化キーは、音波送信部１００の周波数ブロック暗号化モジュール１２０で生成された暗号化キーと同様に生成され、生成された暗号化キーの特定の列を合わせて左シフト値、右シフト値を決定する。決定された左シフト値に応じて、図１６（ａ）に示すように、奇数列のアレイファクタの周波数を左シフト値だけ移動させ、また、右シフト値に応じて、図１６（ｂ）に示すように、偶数列のアレイファクタの周波数を右シフト値だけ移動させる。そして、図１７に示すように、受信補正されたサンプリング周波数配列のうちから、分離受信フィルタ周波数及び分離受信フィルタ周波数に配置されたデシベルを抽出して保存する。
【０１１３】
音波データ分離過程Ｓ２１８では、復号化された音波送受信配列から、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数を抽出し、抽出した分離受信フィルタ周波数に割り当てられた音波送受信配列のアレイファクタの個数だけ、データ周波数のデシベル値の降順に抽出してデータを復元する。例えば、図１８に示すように、復号化された音波送受信配列から、分離受信フィルタ周波数に配置されたデシベルのうち最高のデシベル値を有する分離受信フィルタ周波数を抽出し、抽出した分離受信フィルタ周波数に割り当てられた音波送受信配列のアレイファクタの個数だけ、データ周波数のデシベル値の降順に抽出してデータを復元する。既存の音波通信は、音波の特性上、同じ領域で異なる信号を発生するとき、データを分離することができる基準がないので、データを受信することができないという問題があるが、本発明は、音波データ分離モジュールを介して最寄りの位置から発信される信号を受信することができる。
【０１１４】
音波データが分離されて復元された受信データは、さらに有効性検証過程Ｓ２１９を有することができる。有効性検証の過程Ｓ２１９では、音波データ分離モジュール２４０を介して復元されたデータにおいて前記パリティビットを用いて復元されたデータの有効性検証を行う。
【０１１５】
有効性検証では、データ領域の周波数ブロック１?３２のうち奇数ブロックとしてマーキングされた周波数の合計が奇数であれば、３３番のブロックの周波数が同時に受信されるべきである。奇数であるにもかかわらず３３番のブロックに該当する周波数が受信されていなければ、データ受信エラーとして認識され、再び受信されて分析される。また、同じ有効性検証において、データ領域の周波数ブロック１?３２のうちの偶数ブロックとしてマーキングされた周波数の合計が偶数であれば、３４番ブロックの周波数が同時に受信されるべきである。偶数にもかかわらず３４番のブロックに該当する周波数が受信されていなければ、データ受信エラーとして認識され、再び受信されて分析される。このような分析は、例えば、合計５回の行うことができる。
【０１１６】
上述した本発明の説明での実施例は、様々な実施可能な例のうち当業者の理解を助けるために最も望ましい例を選択して提示したものであり、本発明の技術的思想が必ずしもこの実施例によって限定されたり制限されるものではなく、本発明の技術的思想を逸脱しない範囲内で多様な変化と変更及び均等な他の実施例が可能なものである。
【図１】
0006454007.tif 000002
【図２】
0006454007.tif 000003
【図３】
0006454007.tif 000004
【図４】
0006454007.tif 000005
【図５】
0006454007.tif 000006
【図６】
0006454007.tif 000007
【図７】
0006454007.tif 000008
【図８】
0006454007.tif 000009
【図９】
0006454007.tif 000010
【図１０】
0006454007.tif 000011
【図１１】
0006454007.tif 000012
【図１２】
0006454007.tif 000013
【図１３】
0006454007.tif 000014
【図１４】
0006454007.tif 000015
【図１５】
0006454007.tif 000016
【図１６】
0006454007.tif 000017
【図１７】
0006454007.tif 000018
【図１８】
0006454007.tif 000019
【図１９】
0006454007.tif 000020
【図２０】
0006454007.tif 000021
【図２１】
0006454007.tif 000022