量子化(Quantinization) in GNU Radio

今回は量子化の話です。

量子化とは、アナログ信号などの連続量を整数などの離散値で近似的に表現すること。信号処理の授業ではじめに出てくる話ですね。 GNU Radioで、Sine Waveを作り、その振幅を量子化して表現してみます。

まず、このようなブロック図を作成してください。

例題ファイルは、下記のリンクをクリックしてください。

Quantinization_tutorial.grc

Screenshot from 2015-12-21 16-39-22

(1) Quantinizerのブロックを開き、Bitsにvariable_bitsを入力してください。

このBitsの項目で、量子化する解像度を決めます。例えば、1bitだと2^1=2 だから 2段階で量子化。

3bitsだと2^3=8ですので、8段階で量子化する具合です。

そして、variable_bitsとして、設定しておいて、次にWX GUI Chooserでいくつの値が選択できるようにします。

Screenshot from 2015-12-21 16-39-30

(2) WX GUI Chooserで

id = variable_bits

Label = Bits

Default Value = 3

Choices = [1,2,3,4,8,16] にします。

Choicesは単に1bit ~ 16 bitsの間の任意を整数を入れても構いません。

Screenshot from 2015-12-21 16-39-37

(3) 次に実行してみましょう。BitsのDefault値が3になっていますので、2^3 =8として8段階に量子化されていることがわかります。

Screenshot from 2015-12-21 16-39-48

(4) この画面の右上にBits数を設定できるようになっています。これを1にしてみます。

すると、2^1 =2として、2段階に量子化されていることがわかります。

まあ、簡単ですね。GNU Radioの内部では、基本的に何Bitsで量子化しているかご存知の方はコメントを残していただけますか?

よろしくお願いします。

Screenshot from 2015-12-21 16-39-55

 

Leave a Reply