オリジナルの無線LANをFPGAで作ろう 10ページ目


過去の記事はこちら 1ページ目 2ページ目 3ページ目 4ページ目 5ページ目  6ページ目 7ページ目 8ページ目 9ページ目


1-受信側FPGA-FPGAファームブロック図
2ページ目で紹介しました受信機能をFPGAで作っていきます。2ページ目のブロック図を再掲します。
受信側はIQ復調器がメインで、IQ復調器に補助的なモジュールがついていきます。




2-受信側FPGA-発振器(NCO)と乗算器
受信側FPGAファームを作っていきます。受信側FPGAファーム用に新たにプロジェクトを作ってください。プロジェクト名はmusen_lan-RXにします。
プロジェクトにBlock Diagram/Schematic Fileをファイル名"musen_lan-RX.bsf"として追加してください。
プロジェクト作成と、Block Diagram/Schematic Filの追加については、3ページ目 をご覧下さい。

まずはIQ変調器に必要な発振器(NCO)と乗算器をつくります。発振器(NCO)と乗算器の作り方は3ページ目をご覧下さい。
3ページ目とほぼ同じパラメータ設定でOKですが、NCOは出力ビットを16ビットに、乗算器は出力ビットを16ビットに変更してください。


3-受信側FPGA-特殊コード検出
次に特殊コードを検出するモジュールをつくります。
2ページ目に載せた特殊コードのコンスタレーションダイヤグラムの図を再掲します。

特殊コードの検出には、特殊コードの前半部で振幅がゼロになることを利用します。
通常コードは振幅がゼロになることはありませんから、確実に特殊コードを見つけ出すことができます。

特殊コード検出モジュールは図のような仕様にします。
det_pulseは特殊コードの始まりに出る1クロック分のパルスです。det_pulseはIQ復調結果を音声信号に変換するモジュールで利用します。
doukiは位相合わせを促すための信号です。10MHz発振器の位相を送信側と揃えるモジュールを用意しますが、そのモジュールに位相合わせを促すための信号です。



特殊コードの検出のモジュールはdet_tokushu_codeにしました。det_tokushu_codeモジュールのソースコードはこちらです。
det_tokushu_codeモジュールをシンボル化して回路図に配置してください。
NCOと乗算器とdet_tokushu_codeモジュールを回路図に配置して結線の終わった状態です。


次回も引き続き受信側のFPGAファームを作っていきます。


2015年1月26日 記
11ページ目に続く

戻る