HackRF One の Sweep Mode の動作
hackrf_sweep コマンドの動作を調べたので記録しておく。このコマンドは HackRF One のファームウェアと協調して、うまく広い帯域をスイープできるように作られている。
まずいくつか定数がある
- サンプリング周波数は 20MHz
- フィルタ周波数は 15MHz
- オフセット周波数は 7.5MHz (設定した周波数の7.5MHz上の周波数になる)
- step_width は 20MHz
- interleaved モード
とにかく interleaved モードを理解しないといけない。interleaved ではないモード (linear) は単純に step_width を足していくだけなので単純明快だが、interleaved ではファームウェア側は +5MHz、+15Mhz を繰替えしてスイープする動作をする。
これで何が嬉しいか?というと、いくらか効率を犠牲にして (スキャン時間や計算量が2倍) フィルタの減衰がかかる両端の領域や、DCオフセットがある中央の領域を捨てて綺麗な帯域だけからスペクトラムを合成できる。
詳しい動作
グラフをかいてみた。中央が0Hzで±10MHz (サンプリング周波数20MHz) の周波数領域を示している。全体の赤い領域が1回でとれる 20MHz サンプル、15MHz フィルタされた信号の全体で、青の領域と紫の領域だけを採用してさらにズラしていく。次は5MHzずらせば真ん中にある隙間と次の5MHz分が埋まり、その次は15MHzずらせば……と続く。
見ての通り帯域の端のほうではローパスフィルタ(アンチエイリアシングフィルタなので必須)による減衰の影響をうける ので避けたいし、0HzにはどうしてもDCオフセットが乗るので避けたい。
一回のサンプルで20MHzの帯域にうち、10MHzぶんの帯域しか取得しないが、全領域でできるだけフラットでノイズのない結果を得られる。
関連エントリー
- 10MHz バンドパスフィルタ2 10MHz バンドパスフィルタ | tech - 氾濫原 の続きです。挿入損失 6dB バージョンの定数を変更してみました。コイルはそのまま...
- HackRF One で遊ぶ HackRF という SDR 用の無線フロントエンドがある。オープンソースハードウェア。この手のものは他に LimeSDR (高い) や R...
- スペアナでスプリアス測定してみる3 KX3 FMの測定 測定方法について 以下を根拠に測定する 特性試験の試験方法 別表第一 スプリアス発射又は不要発射の強度の測定方法 一 スプリアス領域における...
- WebAudio でブラウザで動く SDR をつくる 概要 無線機の出す I/Q 信号をサンプリングして 2ch (ステレオ) としてコンピュータに入力し、これを直接 WebAudio から扱っ...
- FNIRSI-1013D オシロというやつを買ってみたが帯域は怪しい 少し前に、ベンチトップオシロのプローブが届かず、DSO QUAD を久しぶりに使う機会があった。しかしあまりに使いにくく、ポータブルオシロが...
.png)







