Time domain transfer function

I have two signals in the time domain (X and Y). I am trying to calculate the transfer function between them. I used the tfestimate function, which returns the transfer function as a function of frequency and the frequency vector at which t evaluates the estimate of the transfer function. It returns only for positive frequencies, since my signals are not complex. My problem is how to visualize this transfer function in the time domain. I tried the following code, but the returned function changed in a temporary domain. I wonder why.

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. 

The result 't' is not a transfer function, but a version whose time is the opposite. Can someone help me understand what is happening? Thank.

+3
matlab transfer-function
Mar 07 '14 at 18:57
source share
1 answer

This is a very common mistake. Many people seem to think that ' means transposition, but in fact it means conjugate transposition. To just transpose, you have to use .'

So: change

 t = ifft([txy' tyx']); 

at

 t = ifft([txy.' tyx.']); 
+5
Mar 07 '14 at 19:49
source share
— -



All Articles