时域的传输功能



我在时域中有两个信号(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'不是传输函数,而是时间相反的版本。有人可以帮我了解发生了什么吗?谢谢。

这是一个非常普遍的错误。许多人似乎相信 '表示 transpose ,但实际上是指 conjugate transpose 。要简单地转置您应该使用.'

so:更改

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

进入

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

最新更新