时域传递函数 [英] transfer function in time domain

查看:229
本文介绍了时域传递函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在时域有两个信号(X和Y).我正在尝试计算它们之间的传递函数.我使用了函数tfestimate,该函数将传递函数作为频率的函数以及tfestimate估计传递函数的频率向量返回.因为我的信号并不复杂,所以它只返回正频率.我的问题是如何在时域中可视化此传递函数.我尝试了以下代码,但是返回的函数在时域中是反向的.我不知道为什么.

I have two signals in time domain (X and Y). I am trying to calculate the transfer function between them. I used the function tfestimate, which returns a transfer function as a function of frequency and a vector of frequencies at which tfestimate estimates the transfer function. It only returns for positive frequencies, since my signals are not complex. My issue is how to visualize this transfer function in the time domain. I tried the following code, but the returned function is reversed in time 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.

结果't'不是传递函数,而是时间相反的版本.有人可以帮我了解发生了什么吗?谢谢.

The result 't' is not the transfer function, but is a version whose time is in reverse. Could someone help me to understand what is going on? Thanks.

推荐答案

这是一个非常常见的错误.许多人似乎相信 ' 意味着转置,但实际上是 共轭转置.要简单地进行转置,您应该使用 .'

This a very common mistake. Many people seem to believe ' means transpose, but actually it means conjugate transpose. To simply transpose you should use .'

所以:改变

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

进入

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

这篇关于时域传递函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆