- ベストアンサー
伝達関数H(z)を求める際の入力信号
- 伝達関数H(z)を求める際の入力信号について詳しく知りたいです。
- x(t)にはどのような信号が適切か、ホワイトノイズと矩形波の違いはありますか?
- Z変換を使わずにDFTで未知のシステムH(z)を推定できるのでしょうか?
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
<1> x(t) は、少なくとも調べたい周波数帯域で 0 でないスペクトルを持つ必要があります。できれば十分大きなパワーを持つことが望ましいです。なので単発パルスのようなものよりホワイト・ノイズや TSP (Time Stretched Pulse) のようなものがよいと思います。 TSP --> 参考 URL 矩形波は基本周波数の整数倍にしかスペクトルが無いので倍音のスキマの伝達関数が求められません。なのでひどい結果になると思います。もちろんホワイトノイズを入れた時とは全く異なる結果になると思います。 <2> DFT でも求められますが、DFT は変換対象が周期関数とみなしていますので、インパルス応答が変換窓の長さに比べて十分短いと思われる時しか使えないと思います。短い窓長で DFT して長いインパルス応答を求めようとすると巡回畳み込みが生じておかしな結果になってしまいます。 また、入力のパワー・スペクトルが小さい周波数では推定誤差が大きくなります。 なお、DFT より FFT がお勧めです。
その他の回答 (7)
- kiyomushi
- ベストアンサー率68% (13/19)
ということは、R=Y/U*P ということですね (違っていたらごめんなさい)。 >この場合ではZ変換のほうが有利でしょうか、 >それともDFTでもあまり変わらないのでしょうか。 >システムはオープンな系(フィードバック系ではない)です。 Y も U もフィードバックの無いシステムに TSP などの有限長の信号 X を入れて出てきた信号とのことなので、Y も U も有限長のサンプルになると思います。 だとすると R=Y/U*P は、U=0 の根が単位円にあまり近くない内側にのみ存在するなら、DFT で計算できると思います。 U=0 の根が単位円にあまり近すぎる場合、DFT で R を計算すると、巡回畳み込みによっておかしな結果になってしまいます。 もちろん U=0 の根が単位円上や単位円の外にあると R が発散してしまうので DFT では駄目です。この場合は z 変換になると思います。 【参考】 ふたつの波形 u, y に対して伝達関数 Y/U のインパルス応答を適応的に求める「適応フィルタ」というものもあります。収束が遅くてよいなら LMS という方式が簡単です ("適応フィルタ LMS" で検索すれば沢山資料が見つかります)。これに u と y の波形を繰り返し与えて放っておけば、LMS のタップ係数が Y/U のインパルス応答に収束します。これは u, y にノイズが乗っていても、ゆっくり収束させれば、それなりの結果 (ウィーナー・フィルタ解) に落ち着きます。Y/U のインパルス応答が求まってしまえば、そのインパルス応答の FIR に p を入力するだけで r が出てきます。
お礼
今回いろいろと教えていただいたおかげで、少し理解ができてきました。 LMSについても学んでみようと思います。 解析の結果を申しますと、おかげさまでDFTとTSPを使って調べたかった信号波形rを測定することができ 納得のいく結果を得ることができました。 結果は得られましたが、U=0の根がどこにあるかを調べて教えていただいた内容をぜひ納得できるようにしたいと思います。 また、機会がありましたらその際はよろしくお願いします。 ありがとうございました。
- kiyomushi
- ベストアンサー率68% (13/19)
>Z変換であれば過渡現象までを解析できるが >DFTは周波数解析しかできないという理由も >DFTが変換対象を周期関数とみなすことに起因しているという理解でよいのでしょうか? おっしゃる意味が複数に取れるので、それぞれに対して私の考えを少々申し上げます (間違っているかもしれませんが…)。 【その1】 DFT は、「変換対象を周期関数とみなすから周波数解析しかできない」というわけではありません。 例えば、フーリエ変換は変換対象を周期関数とみなさなくても周波数解析しかできません。 それでもフーリエ変換は減衰する過渡現象を扱えます。 【その2】 無限に続く離散時間の過渡現象を厳密に議論する場合は、おっしゃるとおり z 変換の出番です。 DFT では無限の長さの非周期信号を厳密には扱えませんので、例えばフィードバックを持った回路の「厳密な」インパルス応答は DFT では計算できません。どうしても誤差が入ります。 でも、安定な線形回路なら、十分時間が経過すれば出力は 0 になるとみなせ、近似的に有限の過渡現象になりますし、厳密でなくても (小さな誤差はあっても) 許せることが多いですから、DFT で実用上問題なく扱える場合が多いように思います。 【その3】 Z変換なら「複素」周波数での解析が可能だが、DFTでは「実」周波数解析しかできない… という意味の場合も、おっしゃるとおりです。 でも、「周波数解析しかできない」と「過渡現象までを解析できない」というわけではありません。 上でも書きましたが、フーリエ変換は周波数解析しかできませんが、減衰する過渡現象を扱えます。 DFT は有限の時間窓で切り取った部分しか用いないから、無限に続く過渡現象を正確に扱えないだけです。
お礼
kiyomushiさん、たくさん補足いただきありがとうございます。 私としては【その1】のつもりでしたが、またいろいろと参考になりました。 いろいろお聞きしたいことがいっぱいあるのですが、長々続いてしまってもいけないので、 もしよろしければ、最後に以下の質問をさせてください。 最終的にやりたいこととしては (1) H(z)=Y(z)/X(z)なる伝達関数H(z)を求め、(y(n)は測定可能、x(n)は任意(TSP)) (2) Q(z)=H(z)P(z)なる信号q(n)を求め(p(n)は矩形波等の任意信号) (3) G(z)=U(z)/X(z)なる伝達関数G(z)を求め、(u(n)は測定可能、x(n)は(1)と同じく任意(TSP)) (4) Q(z)=G(z)R(z)なる信号r(n)を求めたい(q(n)は(2)から得た信号) ということなのですが、この場合ではZ変換のほうが有利でしょうか、 それともDFTでもあまり変わらないのでしょうか。 システムはオープンな系(フィードバック系ではない)です。
- kiyomushi
- ベストアンサー率68% (13/19)
>そうすると全く変換を使わなくてもインパルス応答を >知ることができるということでしょうか。 はい。おっしゃるとおりです。 TSP を使えば、全く変換 (DFT や FFT) を使わなくても インパルス応答を計算できます。 TSP の 時間をひっくり返した信号を、定義式のとおりに 畳み込むだけです。今時のコンピュータなら、ちょっと待つ だけで計算できると思います。 なお、畳み込みは FFT を使って計算する方が速いので、 もし FFT についてある程度知識がおありでしたら、FFT も検討する価値があります。特に長いサンプルを処理 する場合や、さまざまなサンプルを何度も分析する場合 はFFT を使う方が圧倒的に速いです。
お礼
畳みこみを計算するのは結構手間がかかりそうなので、 結局TSPを入力してFFTをかけてみたところ、おおむね期待通りの結果が得られました。 この方法でうまくいきそうです。ありがとうございました。
- kiyomushi
- ベストアンサー率68% (13/19)
>Z変換であれば過渡現象までを解析できるが >DFTは周波数解析しかできないという理由も >DFTが変換対象を周期関数とみなすことに起因しているという理解でよいのでしょうか? DFT は z 平面上の単位円 (|z|=1) を等分割した点での評価ですので、得られる 情報は若干制限されますが、DFT でもサンプル長を十分長くとれば、(減衰する) 過渡現象は十分扱えると思います。z 変換でなければ駄目ということはないと 思います。 理論的な解析には z 変換は有効だと思いますが、普通の測定は DFT (実際に 計算する時は FFT) で事足りることがほとんどではないでしょうか。
- kiyomushi
- ベストアンサー率68% (13/19)
書き忘れました。 TSP を使えば DFT/FFT を使わずに、TSP 信号の時間軸をひっくり返した信号を得られた出力信号に畳み込みだけでインパルス応答が求められます。
お礼
そうすると全く変換を使わなくてもインパルス応答を知ることができるということでしょうか。 どの方法が簡単に計算できるかちょっと考えてみます。
- Tacosan
- ベストアンサー率23% (3656/15482)
ちょっと待って. 「電気回路」なら, 普通は (離散時間じゃなくて) 連続時間じゃないの? もしそうなら, 本来 z変換ではなくラプラス変換を使うべきでは?
お礼
バックグラウンドが小出しになってしまい申し訳ありません。 この回路自体が複雑なため、ラプラス変換することが難しいのです。(少なくとも私にはですが、、、) そこで、SPICEを使って計算機処理的に伝達関数をもとめたく、Z変換を検討しています。
- Tacosan
- ベストアンサー率23% (3656/15482)
y(n) として δ を入れれば, 出力 (の z変換) がそのまま伝達関数 (の z変換). で, z変換は DFT と同じようなものだから, 入出力を DFT すればそれなりに推定できる.
お礼
ありがとうございます。 基本的なところがよく理解できていなかったようです。 教えていただいた内容からいろいろ調べることができました。 以下のように考えておりますが、間違いがありましたら、ご教示お願いします。 検討しているシステムは電気回路なのですが、 δを入力するのは難しそうなので、ステップ応答y(n)=u(n):Y(z)=Z/(Z-1)をいれようとおもいますが、 これでよいでしょうか。 (最初に提示したX(z)=H(z)Y(z)が一般的記載に対してXとYが逆で紛らわしいですが) また、DFTはZ変換と同じようなものだが、周波数解析のみで、過渡現象を記述していない。 Z変換 ⊃ DFT (DFTはZ変換の複素平面上の単位円周上のみのため) 今回は回路の過渡現象を確認したいので、Z変換のほうが適していると判断しました。
お礼
ありがとうございます。 TSPという波形があるのですね。勉強になります。 やはり今回は計算機で計算することもあり、できるだけいろいろな周波数を含んだシグナルをいれることが 必要かと思いましたので、TSPを使うことも検討してみます。 >DFT は変換対象が周期関数とみなしていますので、インパルス応答が変換窓の長さに比べて十分短いと思われる時しか使えないと思います。 と書いていただきましたが、 Z変換であれば過渡現象までを解析できるが DFTは周波数解析しかできないという理由も DFTが変換対象を周期関数とみなすことに起因しているという理解でよいのでしょうか? 理解が乏しくてすみません。