今回は信号を遅延(Delay)する方法をご紹介します。
GNU RadioのDelay Blockを用います。Delay Blockは定数で設定しますが、この定数の単位はサンプル数です。
例えば、Delay -> 5という意味は、5個分のサンプルをずらすとの意味です。 サンプリング周波数に合わせて、Delayを設定するとより細かく設定ができます。
こちらが実行後の画面です。
Delayされた信号はCh2に表示され、Ch1と区別するためにMarkerをDot Largeにしました。
ここで、Delayに5にした場合の結果です。
サンプル数5個分がDelayされていることがわかります。
そして、よく出る Blockの中に、Throttleというのがあります。英語でこのThrottle Blockの定義をご紹介します。
Throttle is a device that controls the flow of samples such that average rate does not exceeds samples/sec. Throttle is used when no hardware interface has done.
つまり、USRPなどのH/Wがない状態で使われるもので、流れる信号の平均サンプリング周波数が暴走しないようにチョークする役割をするらしいです。Throttleをつけないとパソコンの動作が遅くなったりするので、USRPがないときには、必ずThrottleをつけることを覚えておきましょう。より詳しい理由をご存知の方は、教えてください。
そして、Delayされた信号の振幅を変えられる機能も追加してみました。
先ほどの、サンプル数を5個分Delayした信号の振幅を1から3に変更しました。どうですか?下記の画面で大きくなっていることがお分かりですね。
このように好きな信号を生成して、Delayさせたり、振幅を調節することが比較的に簡単にできます。
例題ファイルは下記のリンクでダンロードできます。
関連ページのリンク