03-26-2020 11:58 PM - 編集済み 03-27-2020 01:17 AM
昨年2019年頃から5G(第5世代移動通信システム)という単語が広く使用されるようになりました。
アメリカ・韓国を筆頭に2019年から本格的に5G通信のサービスが世界中で展開されるようになり,規格に対応したスマートフォンも多く市場に出回るようになっています。
日本では2020年の東京オリンピックパラリンピック競技大会前に本格的なサービス展開が予定されており,5Gの特徴である「超高速」「超低遅延」「多数同時接続」を背景にして様々な場面で我々の生活に関わることになるでしょう!
総務省が作成した下記の動画では5Gで生み出される未来の世界について描かれています。
私は動画冒頭で出てくる「自由視点のサッカー観戦」サービスの登場が待ち遠しく,スタジアムで観戦しているような臨場感だけではなく,選手目線でサッカー観戦も実現できるようになる・・・なんて未来がくれば週末はずっと家でサッカー観戦してしまいそうです。
さて大学・企業等の研究機関では5Gのみならず次世代の通信方式に関する研究や実証実験が多く行われています。
研究や実証実験をより早く進めるためにはプロトタイピングを行い,現実世界で動作環境を評価する必要があると私は考えています。
従来の無線機はアナログ回路やASIC (Application Specific Integrated Circuit) など,ハードウェアの設計時点で仕様が決まっているものだったため,新しい通信方式を試すためにはハードウェアを設計し実際に作成しないといけないという点でプロトタイピングまでの時間が非常にかかってしまうことが問題視されていました。
しかしそのような問題を解消するために,電子回路(ハードウェア)に変更を加えることなく,制御ソフトウェアを変更することによって無線通信方式を切り替えることが可能なソフトウェア無線(Software Defined Radio,SDR)を用いたプロトタイピングが行われています。
しかしこのソフトウェア無線,一般的には開発を行うためにハード,ソフトの両面で高度な知識を求められるため,十分な知識がないまま開発をスタートしてしまうと
「ハード面の仕様で希望する周波数帯で通信することができなかった・・・」
「FPGAで実装するのであれば,FPGA用のコードを書くために新しく知識をインプットしないといけない・・・」
「単純な通信は行うことができたが,複数の通信方式に対応させる方法が分からない・・・」
などのお悩みを抱えることになり,結局のところ費用対効果が低くなってしまうことが実際問題として起きています。
弊社ではソフトウェア無線開発のために様々な周波数帯をカバーする製品を取り扱っており,LabVIEWをベースとする一貫したプログラミング知識で障壁が低く実装できるだけではなく(実は信号処理部分において既存のMATLABコードでプログラムを組んでいただくこともできるのです!),技術サポートを通じた柔軟な開発の支援も行っております。
またFPGAを搭載したソフトウェア無線製品については,CPU上でのプログラムと同様のアルゴリズムでFPGAコードを記述できるため新たなハードウェア言語を習得する必要がなく,開発工数短縮できる点で非常に好評をいただいております。
(いやあNIすごいなあ・・・ポツリ。)
そこで今回は
・NIが提供しているUSRP(Universal Software Radio Peripheral。ソフトウェア無線の開発に使用する無線周波数の信号入出力モジュール)製品の紹介
・USRPを用いたアプリケーション例としてFMラジオを試聴するためLabVIEWプログラミング方法
についてお話させていただきます!
<NIが提供しているUSRP製品の紹介>
NIが提供するソリューションを用いてソフトウェア無線開発を行う場合,無線周波数の信号入出力を行うUSRP製品(ハードウェア)と信号処理を行うLabVIEW(ソフトウェア)を組み合わせて実装します。USRPは送信と受信の両方がこの一つの筐体で実現できる送受信機です。
機器との接続は下記写真の通りで,USRPはコンパクトな筐体にRF送受信機能やとBaseband IQをPCと転送するといいた豊富な機能が備わっているため,USRPの筐体とギガビットイーサネットケーブル,LabVIEWがインストールされているパソコンだけで非常に簡単にソフトウェア無線を実現できます。
USRPを使ったソフトウェア無線ではPC側でソフトウェア処理を行います。
USRPをより詳細に見てみると,製品毎に扱える周波数帯やGPS基準クロックの有無はありますが共通して下記のような特徴があります。また更に高い瞬時帯域幅が求められる場合,内部にFPGAを搭載したUSRP-RIO製品で通信量の多いアプリケーションまでカバーすることが可能です。
各製品でカバーする周波数帯を図示すると下記のようになります。例として日本のFMラジオ周波数帯である76 - 90MHz帯をソフトウェア無線を用いて受信したい場合29x0シリーズの製品でカバーすることができるといったように,周波数帯に応じてシンプルにハードウェア部を選択していただくことが可能です!
USRP各製品の比較・仕様などについて下記のページでまとまっておりますのでぜひご一読ください。
(参考リンク)USRPソフトウェア無線デバイス - National Instruments
https://www.ni.com/ja-jp/shop/select/usrp-software-defined-radio-device
<FMラジオを試聴するためLabVIEWプログラミング方法>
NI-USRPドライバは初期化からクローズまでの一連の流れで実装します。
これはNI製品の他のドライバ(DAQmxなど)も同じですので,特にLabVIEW経験のある方にとっては同じ流れでプログラム(VI)を構築していただくことができます。
それではUSRPを用いてFMラジオを聴く場合,どのようなプログラムになるでしょうか。
FMラジオは下記3つのステップ(1.キャリア位相を検知,2.位相をアンラップ,3.微分計算)で復調することができるため,実際にLabVIEWへと実装してみましょう。
下記のVIがIQ波形読み取り後に復調処理やサウンドカードから音声を出力する処理を加えたものになります。
読み取りループ内の処理を追加で加えるだけでFMラジオに対応した処理を容易に実装することができました。
無線通信関連の業界では復調処理の部分についてMATLABコードで実装していただく方が理解が容易,また研究資産が活かせるといった要望も多くあるかと思いますが,LabVIEWでは.mスクリプト言語と主に互換性があるMathScript ノードを使用して復調処理(計算式・アルゴリズム)を記述していただく方法もご用意があります。
これによりハードウェアとの連携部分などは大まかな部分はLabVIEW,複雑な信号処理はMATLABコードでプログラムを組んでいただくことによりソフトウェア無線をより自在に扱っていただけます。
(参考リンク)MathScriptノード - LabVIEW 2018ヘルプ - National Instruments
http://zone.ni.com/reference/ja-XX/help/371361R-0112/gmath/mathscript_node/
-----------
ここまで読んでいただき,ありがとうございます。
最後に関連リンクを下記でご案内しておりますので,ご興味ある記事があればそちらもお読みください。
ご作成したいアプリケーション・解決されたい課題などあればぜひお気軽にご相談ください。
●ソフトウェア無線 - National Instruments
https://www.ni.com/ja-jp/innovations/wireless/software-defined-radio.html
●NI Universal Software Radio PeripheralとLabVIEWを使用して実践型の無線通信実験システムを開発 - National Instruments
https://www.ni.com/ja-jp/innovations/case-studies/19/designing-hands-on-wireless-communications-labs...
●NI LabVIEWとRFモジュールの活用で、マルチユーザMIMOの実証実験システムを構築 - National Instruments
https://www.ni.com/ja-jp/innovations/case-studies/19/building-a-multi-user-mimo-demonstration-system...
この記事を書いた人
米田 実紀
大阪生まれ,兵庫育ち,京都へ進学した生粋の関西人。
日本ナショナルインスツルメンツ(NI)にて,Technical Support Engineerとして幅広い業界のお客様への技術サポートやNIのソフトウェアトレーニング講師などを担当。
新しいもの好きで,昨日までなかった新しい技術の誕生を後押しするためにNIに入社。
現在の興味分野:機械学習,アグリテック,サッカー,浮世絵