信号の遅延(Delay) in GNU Radio

今回は信号を遅延(Delay)する方法をご紹介します。

GNU RadioのDelay Blockを用います。Delay Blockは定数で設定しますが、この定数の単位はサンプル数です。

Screenshot from 2015-12-18 17-25-46

例えば、Delay -> 5という意味は、5個分のサンプルをずらすとの意味です。 サンプリング周波数に合わせて、Delayを設定するとより細かく設定ができます。

こちらが実行後の画面です。

Delayされた信号はCh2に表示され、Ch1と区別するためにMarkerをDot Largeにしました。

Screenshot from 2015-12-18 17-26-28

ここで、Delayに5にした場合の結果です。

サンプル数5個分がDelayされていることがわかります。

Screenshot from 2015-12-18 17-26-57

そして、よく出る 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に変更しました。どうですか?下記の画面で大きくなっていることがお分かりですね。

Screenshot from 2015-12-18 17-27-22

このように好きな信号を生成して、Delayさせたり、振幅を調節することが比較的に簡単にできます。

例題ファイルは下記のリンクでダンロードできます。

signal_delay_tutorial.grc

関連ページのリンク

信号の生成

Leave a Reply