USRPで長期間データ収録を行ってみる

こんにちはドルフィンシステム福島です。

先日お客さまに「USRPで連続してデータ収録をしたいが、1ヶ月程度連続稼働できるのか?」という問い合わせがございました。

通常、ソフトウェア無線機での実験やデータ収録は数時間程度で終わるので、長期間の連続稼働は弊社でも実績がありません。日本NIさんにも聞いてみたものの、一晩程度なら実績はあるがそれ以上はないとのこと。

というわけで、今回は弊社で長時間ロードテストを行いました。


連続稼働させる

NI-USRPを使用して連続収録がどの程度可能か実際に動かして確認します。

実行環境は以下の通りです。

PCThinkPad P51
OSWindows 10 (64bit)
USRPNI USRP-2943
接続1GbE接続 (cat.5e)
開発環境LabVIEW 2022 (32bit)
NI-USRP 2022 Q3


niUSRP EX Rx Continuous Async.viを改造し、

  • 起動時にデータを書き込むファイルをオープン
  • 実行中取得したIQデータをファイルに書き込む
  • 順次ファイルに追記するとストレージがあふれるので、一定間隔で書き込み位置をファイルの先頭に戻しあふれないようにする
  • 途中で終了してしまっても良いように1分ごとにログを記録する

という処理をするようにしました。

これで一先ず収録準備は完了しました。これで実行を開始します。


Windowsの自動更新で再起動してしまう

途中で様子を見ると3時間ほど経過しましたが、特に問題は起きず順調に収録をしています。

ログを見ても順調に記録されています。

一安心なので実行中のまま今日は帰宅します。


翌朝出社すると、アプリが起動していません。
これは!?と思いWindowsの更新履歴を見ると、自動的に更新され再起動したようです。

予想はしていましたがありがちな罠にかかりました。


自動更新を一時的に無効にします。

スタートメニュー→設定→更新とセキュリティ→更新を7日間一時停止

を選択すると7日間停止できますが、7日以上連続稼働させるかもしれないので停止期間が短い気がします。



スタートメニュー→設定→更新とセキュリティ→詳細オプション→更新の一時停止

ここで最大35日間更新を停止できますので、この設定で一時停止にしておきます。

無期限で更新を停止したい場合は、グループポリシーエディタで設定することで自動更新を無効に設定できるようです。収録専用PCなら自動更新無効にしてしまっても良いかもしれないですね。

Windows 10 - Windows Updateの自動更新を停止する方法
https://pc-karuma.net/windows-10-temporarily-turn-off-windows-update/


再度データ収録を行う

では気を取り直して再度データ収録を行います。
その日は動かしたまま帰宅し、翌朝確認するとちゃんと動いています!
ログも順調に記録しているようです。


1日・・・
2日・・・・
3日・・・・・
4日・・・・・・
・・・・
6日目、

ここまで順調に来ていましたが、ここで悲劇が。
ノートPCのディスプレイをうっかり閉じてしまい、Windowsがスリープ状態に。

直ぐにディスプレイを開けたのですがUSRPとは切断状態になり、連続動作はここで終了。

519,244秒連続稼働し、ちょうど6日間連続稼働させることが出来ました。
519244秒/86400=6.0098 日


考察

もし稼働停止する要因を考えると

  • PCのハード的(故障やドライバのバグ)
  • Windows
  • USRP
  • 収録アプリ

が考えられます。

Windows 10に関しては497日問題というのがあるようです。

再起動せずに497日間連続稼働すると、TCP/IPネットワークが通信できなくなるようです。

https://social.technet.microsoft.com/Forums/ja-JP/f77845e1-78fa-49de-90f3-e81f330671aa/497?forum=Wcsupportja


収録アプリのオーバーフロー関連を調べてみたところ、USRPから取得する連続稼働時間(秒)は、U64なので最大18,446,744,073,709,551,615秒。

584942417355 年なのであふれることはなさそうです。

収録アプリ内部で使用しているカウンターはU32ですが秒単位なので、136年分はカバーできるので大丈夫でしょう。

(1024*1024*1024*4)/(60*60*24)=49710.2696 

49710/365=136.1918 年


まとめ

  • NI-USRPを使用した収録アプリは実績値で6日連続稼働した。
  • Windows10は497日でTCP/IPネットワークが通信できなくなる問題がある。
  • 収録アプリやLabVIEWはオーバーフローの心配はなさそう。

というわけで、お客様には連続稼働は実績6日という報告をあげておきます。

以上、ドルフィンシステム福島でした。


コメント