実際にやってみましょう、ヒルベルト変換 その2$\vspace{1pt}$

1.前節の疑問は、どうなる?

 

前節で、疑問点がありました。

 

    振幅を一定にするだけで、位相は$\pi $/2だけ遅れたものを作れるのでしょうか?

    位相が$\pi $/2進んだものには、ならないのでしょうか?

 

此れについて、考えて、いました...

振幅と位相は、独立の事象なのですから、

普通は、振幅だけを決めて、位相が求まる訳ではない、ですよね。

 

そんで、もしかしたら...

    フィルタ作成プログラムは

   実部と虚部は、ヒルベルトさんの言われた関係を、暗黙のうちに仮定しているのでは?

と、考える訳です。

 

松尾先生の御著書から、再掲します。

 

「時間関数f(t)がt<0でf(t)=0である関数を因果性の関数と呼びますが、因果性の関数は、そのフーリエ変換が

すべて、実数部は虚数部、虚数部は実数部により一意的に決定されます。

実数部と虚数部をお互いに変換することをヒルベルト変換と呼びます。」

 

(ディジタル.アナログ信号処理のための やさしいフーリエ変換 松尾 博先生 森北出版 p.15)

 

 

実部と虚部の関係から(振幅と位相の関係から)

$\qquad \qquad $

 

   Θ = -π/2

 

 

を証明できればよいと、思うのです。

 

 

 

次数の少ないfirフィルタを、例に挙げて、調べて行きましょう。


dsp35__6.gif

サンプリング周期はTsecとします。

入力は、MATHとすると

遅延器1個の出力は、 MATH

 

ですので、firフィルタの出力は

 

MATH

MATH

 

 

と、なりますので

 

伝達関数 $H(j\omega )$

$\qquad $

MATH

 

ですね。

 

ここからなんですが、非常に巧妙な手があるのです、素晴らしい!(勿論、先達が考えてくれはったんです)

もし、

 

MATH

 

だと、したら(firフィルタ作成プログラムで、左右対称に設定すると、そうなります)

 

MATH

MATH

MATH

MATH

 

 

わおー!

振幅と、位相成分が分離されてしまいました!

 

 

ここで、ヒルベルト変換器は、振幅が1と、設計しましたから

 

MATH

 

です。

MATH

MATH

MATH

 

ですので

出力は、入力に比べて、2Tsecだけ遅れて出力されます。

これが、このフィルタの、時間的遅延になります。

 

 

それから

 

前前節で、導き出した、時間領域でのヒルベルトさんの関係

 

x(t)=r(t)x(−j)

 

が、合っているとしたら、

 

x(t)=r(t) x exp(-jπ/2)

 

ですから、実部から見て、実部と虚部は-π/2の位相差があることになります。

ですので、

入力をr(t)とすれば、ヒルベルト変換器を通すと

実部と虚部が入れ替わって

出力は、入力r(t)の虚部になると、言うことでしょうか?

 

いや、違うな...

 

ヒルベルト変換器の設計は、振幅を1に、しただけであり

上式は、実部と虚部の関係を言っているだけであって、

位相を回転させる働きの設定ではない

 

 

よく、考えてみたら、

 

ヒルベルト変換器の周波数特性は

(位相情報も、入っとるがな...「バカモン」と自分に言い聞かせる)

 

   H(ω) = -j = exp(ーjπ/2) (t>0)

 

でしたから

 

出力 = 入力 x 伝達関数 = exp(jωt) x exp(-jπ/2)

 

            = exp(j(ωt-π/2))

 

で、出力の実部は π/2 遅れるのでした....済みませんでした

 

 

前前節で、ヒルベルト変換器が、何で、そのような周波数特性になるか

を調べていたのに、その事が、まだ、よく解ってない私ですね...涙、涙 (T_T)

 

 

 

 

 

 

 

 

以上は、4次のfirフィルタで考えましたが

これを拡張して、n次のフィルタを、上記のように設定しますと

出力は

MATH

と、なると思います。

 

ですので、

フィルタの時間的遅延は、$\frac{n}{2}T $

に、なりますから、

 

ヒルベルト変換器の中点から出力したものは、ヒルベルト変換器からの出力と、同時になると、思います。

 

 

やれやれ、なんとか、又、こじ付けみたいで、済みません m(__)m

 

    2.群遅延って何の事?

 

ディジタルフィルタを通すと、確かに、時間的遅延があります。

群遅延なる言葉が出てきます。

私は、曖昧な理解で、「群遅延が一定でないと、歪むらしい..」.

位の理解しか、ありませんでした。

 

以下は、インターネットで、公開して下さっているPDFからの引用です。

(http://www.yw.se.shibaura-it.ac.jp/kairo/dspsyst_hyp.pdf)

この場にて、御礼申し上げます。

 

「...

式(6.1) が満足されるようなフィルタリングを無歪みフィルタリングと呼ぶことにすれば,これを実現するディジタル

フィルタはその通過域内において周波数特性が

H($e^{j\omega t}$ ) = MATH (6.3)

となっていないといけないことが分かる.すなわち,振幅特性は一定で(一定振幅と呼ぶ),位相特性はω の1 次関数

(直線位相と呼ぶ)でないといけない.また,群遅延は$n_{0}T$ であるので,直線位相であるときの群遅延は一定である.

式(6.1) を満足していないときには,出力信号が歪むことになる.一定振幅でないときの歪みを振幅歪み,直線位相で

ないときの歪みを位相歪みと呼ぶ....」

 

 

製作致しました、ヒルベルト変換器は、群遅延が、ほぼ一定です。

MATH

$\vspace{1pt}$

ですので、どの周波数を出力しても、フィルタによる遅延は、ほぼ一定です。

(もし、群遅延が一定でないと、音声を復調した時、倍音関係等が、崩れることになります。)

 

 

実測の群遅延=約1.1msです。

 

ヒルベルト変換器は、次数=80で設計いたしましたから、

時間的遅延は

サンプリング周波数=36.87KHzですので

 

 

遅延時間は

MATH

 

大体、合っているようです。

このヒルベルト変換器に、2.082KHz(T=480マイクロsec)の正弦波を入力した時の実測です。

MATH

$\vspace{1pt}$

 

今日は、なんでか知らんけど、

振幅の差が大きいわ...はて?

SGは、アナログの、手作りのツートーンジェネレータ。そのせいかな?

 

 

参考図書

 

「ビギナーズデジタルフィルタ             中村尚吾先生  東京電機大学出版局」

「Excelではじめるディジタル信号処理       並木秀明先生  技術評論社」

 

 

読むと、自分で、フィルタが設計できる気がしてきますよ...いい本です。

 

 

H.16.1.22

$\vspace{1pt}$

This document created by Scientific Notebook 4.1. この文書は次の製品で作成しました Scientific Notebook 4.1.