3

時間領域に 2 つの信号 (X と Y) があります。それらの間の伝達関数を計算しようとしています。関数 tfestimate を使用しました。この関数は、伝達関数を周波数の関数として返し、tfestimate が伝達関数を推定する周波数のベクトルを返します。私の信号は複雑ではないため、正の周波数に対してのみ返されます。私の問題は、この伝達関数を時間領域で視覚化する方法です。次のコードを試しましたが、返される関数は時間領域で逆になっています。なぜだろう。

x = randn(16384,1); % generate random signal
gaussFilter = gausswin(100);
gaussFilter = gaussFilter / sum(gaussFilter); % Normalize.
y = conv(x,gaussFilter);
y = y(1:length(x)); % truancate the Y to be the same length as X
txy = tfestimate(x,y,1024);
tyx = conj(txy(end:-1:2)); % since tfestimate only returns for positive frequency, I estimate the result for negative frequency as the conjugate of positive frequency. 
t = ifft([txy' tyx']); % use inverse fourier to visualize transfer function in time domain.

結果の 't' は伝達関数ではなく、時間が逆になったバージョンです。誰かが何が起こっているのかを理解するのを手伝ってくれますか? ありがとう。

4

1 に答える 1