プロが教える店舗&オフィスのセキュリティ対策術

先日MATLABで次のような波形を作りインパルス応答を調べました。

入力x(t)=sin波
出力y(t)=微分フィルタのよって出力された波形(cos波)
X=fftshift(fft(x)),Y=fftshift(fft(y))として
H=Y./X

としたところ、添付画像のような結果が得られました。
時間領域でのインパルス応答h(t)は以前同じような質問がなされていたので理解できましたが、この周波数領域(ラプラス変換をするならばS領域)でこのような結果が得られる理由をご教授いただきたく思います。


私の考えうる限りでは、周波数領域で考えれば
Y(ω)=iωX(ω) (Xを微分すればiωが前に出るため)
H(ω)=iω
となり少なくとも添付画像のように実数部が値を持ったり、虚数部が値を持つことがないと思うのですが・・・



t=((1:N)-1)*(T/N)
omega=((1*N)-N/2)*(2*pi/T)
と設定しました。


どうかよろしくお願い致します。

「微分要素のインパルス応答の周波数領域」の質問画像

A 回答 (3件)

今日は、



 インパルス応答は入力信号にユニット・インパルス信号を入力したとき
の出力の応答でそれが系の伝達関数になります。MATLABは経験がありません
のでoboro7411さんの書かれた式

  X=fftshift(fft(x)),Y=fftshift(fft(y))

は良く理解できませんが、少なくとも入力信号X(t)はsin波ではなくユニット・
インパルス信号を使用しなければなりません。

ユニットインパルスのラプラス変換は 1 になりますから、入力信号X(t)
のラプラス変換後の式は

  X(s) = 1

になります。伝達関数をH(S)とすれば出力Y(s)は

 Y(s) = H(s)*X(s) = H(s)*1 = H(s)

になるのでインパルス信号を入力したときの出力はその系の伝達関数を
表しているというのがインパルス応答の特徴です。したがって、入力信号に
ユニット・インパルス以外の信号を入力してもその系の伝達関数は得られません
ので計算結果はH(s)の周波数特性を表してはいないということになります。
  
    • good
    • 0
この回答へのお礼

返事が遅れて申し訳ありません。

質問内容に微分フィルタと書かせていただきましたが
実際のプログラムを見ると

y(t)=(x(t+⊿t)-x(t))/⊿t

というような式よって微分フィルタを表現されていたということを記入し忘れておりました。。

これにより理論通りの微分フィルタにはならないためより深く考察すれば図のような結果が得られそうだという結論に達しました。

せっかく回答していただいたのに申し訳ない限りです。。。
ありがとうございました。

お礼日時:2011/12/01 10:33

入力信号を


x(t) = e^(iωt)
としたらどうなりますかね.
    • good
    • 0
この回答へのお礼

返事が遅れて申し訳ありません。

いまは事情により手元にプログラムがないため再実験はできません。
すみません。。

お礼日時:2011/12/01 10:27

入力の「sin波」が x(t) = sin ωt のようなものであるとしたら, それを周波数領域に移しても


Y(ω) = iωX(ω)
にはなりませんよ.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

例えばx(t)=sinω0tという波形を入力した時
出力はその微分つまりy(t)=cosω0tになるかと思います。

ここで以下のURLの式をお借りしますと
http://okawa-denshi.jp/techdoc/2-2-5Fourierhenka …
X(ω)とY(ω)との関係は
Y(ω) = iωX(ω)
となると思うのです。

なにより微分要素の伝達関数H(s)がs領域で
H(s)=s
と表現できるならば周波数領域で
H(ω)=iω
と表現できると考えておりますがやはり違いますかね・・・

お礼日時:2011/11/22 15:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!