计算频响函数和相干函数

频响函数(FRF)

 频率响应函数表征了测试系统对给定频率下的稳态输出与输入的关系。这个关系具体是指输出、输入幅值之比与输入频率的函数关系,和输出、输入相位差与输入频率的函数关系。这两个关系称为测试系统的频率特性。频率响应函数一般是一个复数。

频率响应函数直观地反映了测试系统对各个不同频率正弦输入信号的响应特性。通过频率响应函数可以画出反映测试系统动态特性的各种图形,简明直观。此外,很多工程中的实际系统很难确切地建立其数学模型,更不易确定其模型中的参数,因此要完整地列出其微分方程式并非易事。所以,工程上常通过实验方法,对系统施加激励,测量其响应,根据输入、输出关系可以确立对系统动态特性的认识。因而频率响应函数有着重要的实际意义。

和传递函数之间的关系

在系统传递函数  已经知道的情况下,若系统是稳定的,令  中  的实部为零,即令  代入 ,可以得到系统的频率响应函数 。

若在 时刻将输入信号接人定常线性系统,令 代入拉普拉斯变换中,实际上是将拉普拉斯变换变成傅里叶变换。又由于系统的初始条件为零,因此系统的频率响应函数 就成为输出 、输入 的傅里叶变换 之比,即

上式告诉我们,在测得输出 和输入后,由其傅里叶变换可求得频率响应函数 

需要注意的是,频率响应函数是描述系统的简谐输入和其稳态输出的关系,在测量系统频率响应函数时,必须在系统响应达到稳态阶段时才能测量。
 

传递函数是在复数域中来描述和考察系统的特性的,比在时域中用微分方程来描述和考察系统特性有许多优点。但是工程中的许多系统却极难建立其微分方程式和传递函数,而且传递函数的物理概念也很难理解。
 
频率响应函数是在频率域中描述和考察系统特性的。与传递函数相比较,频率响应函数的物理概念明确,也易通过实验来建立;利用它和传递函数的关系,由它极易求出传递函数。因此频率响应函数是实验研究系统的重要工具。

 

意义

根据定常线性系统的频率保持性,系统在简谐信号  的激励下,所产生的稳态输出也是简谐信号) 。此时输入和输出虽为同频率的简谐信号,但两者的幅值并不一样,其幅值比 随频率 而变,是 的函数。相位差 也是频率  的函数。

 

可以证明,定常线性系统在简谐信号的激励下,其稳态输出信号和输入信号的幅值比就是该系统的幅频特性,即 ;稳态输出对输入的相位差就是该系统的相频特性,即 。两者统称为系统的频率特性。因此,系统的频率特性就是系统在简谐信号激励下,其稳态输出对输入的幅值比、相位差随激励频率 变化的特性。

 

尽管频率响应函数是对简谐激励而言的,但是任何信号都可分解成简谐信号的叠加。因而在任何复杂信号输入下,系统频率特性也是适用的。这时,幅频、相频特性分别表征系统对输入信号中各个频率分量幅值的缩放能力和相位角前后移动的能力。
 

图形表示

1. 幅频特性曲线和相频特性曲线
以  为自变量,以 和 为因变量画出的曲线  曲线和 曲线分别称为系统的幅频特性曲线和相频特性曲线。它表示输出与输入的幅值比和相位差随频率  的变化关系。
 
2. 伯德图(Bode图)
对自变量 取对数 作为横坐标,以 和 作纵坐标,画出的曲线,即作 曲线,两者分别称为对数幅频特性曲线和对数相频特性曲线,总称为伯德图(Bode图)。它把 轴按对数进行了压缩,便于对较宽范围的信号进行研究,观察起来一目了然,绘制容易,使用方便。
 
3. Nyquist图
曲线 和 分别称为系统的实频特性和虚频特性曲线。如果将 的虚部和实部分别作为纵、横坐标,则曲线 称为奈魁斯特图(Nyquist图).它反映了频率变化过程中系统响应 的变化。

相干函数

 相干函数(coherency function)亦称简称相干.指两过程在各频率上分量间的线性相关程度。
 
相干函数是检查输出与输入的相干关系,也就是说我们测到的输出是不是完全由输入引起的,一点外来的干扰因素也没有,如果是,则相干函数恒等于1,否则要小于1,小得越多,外干扰越大,等于0了,一点干系也没有了。
 
相干函数可用于评定频响函数估计的可信度,它表示在频域内总输出中真正输入信号产生的输出所占的比例。
 
如果相干函数为零,表示输出信号与输入信号不相干,那么,当相干函数为1时,表示输出信号与输入信号完全相干。若相干函数在0~1之间,则表明有如下三种可能: (1)测试中有外界噪声干扰; (2)输出y(t)是输入x(t)和其它输入的综合输出; (3)联系x(t)和y(t)的线性系统是非线性的。
 
 

MATLAB计算

 

% https://www.mathworks.com/help/signal/ref/tfestimate.html
% [txy,f] = tfestimate(x,y,window,noverlap,f,fs)
tfestimate(ch1,ch2,hanning(1024),1024/2,[],Fs); % 计算传递函数
% [Txy,f] = tfestimate(ch1,ch2,hanning(1024),1024/2,[],Fs);
% plot(f,mag2db(abs(Txy)))
xlim([20 140])

% https://www.mathworks.com/help/signal/ref/mscohere.html
% [cxy,f] = mscohere(x,y,window,noverlap,f,fs)
mscohere(ch1, ch2, hanning(1024),1024/2, [], Fs)
% [cxy,f] = mscohere(ch1, ch2, hanning(1024),1024/2, [], Fs); 
% plot(f, cxy)
xlim([20 140])

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注