主要内容

估计一个未知系统的传递函数

你可以估计一个未知系统的传递函数的基础上,系统的输入和输出数据来衡量。

在DSP系统工具箱™,你可以估计系统的传递函数使用dsp.TransferFunctionEstimator在MATLAB系统对象™®离散传递函数估计量在仿真软件金宝app®。输入之间的关系x和输出y建模的线性、定常传递函数Txy。传递函数是十字架的功率谱密度的比值xy,Pyx的功率谱密度x,Pxx:

T x y ( f ) = P y x ( f ) P x x ( f )

dsp.TransferFunctionEstimator对象和离散传递函数估计量块使用韦尔奇的平均周期图法来计算PxxPxy。为更多的细节在这个方法中,看到的光谱分析

一致性

之间的一致性或平方连贯性,xy被定义为:

C x y ( f ) = | P x y | 2 P x x * P y y

相干函数估计的程度可以预测yx。相干的值范围0≤Cxy(f)≤1。如果Cxy= 0,输入x和输出y是不相关的。一个Cxy值大于0小于1表明下列之一:

  • 测量是吵了。

  • 系统是非线性的。

  • 输出y是一个函数的x和其他投入。

线性系统的一致性表示小数部分的输出信号功率产生的输入频率。对于一个特定的频率,1 -Cxy是一个估计的部分功率的输出,输入不为。

当你设置OutputCoherence的属性dsp.TransferFunctionEstimator真正的,对象计算输出一致性。在离散传递函数估计量块,计算相干谱,选择输出级的平方相干估计复选框。

估计MATLAB的传递函数

估计在MATLAB™系统的传递函数,使用dsp.TransferFunctionEstimator系统对象™。对象实现韦尔奇的平均修正周期图法和使用测量的输入和输出数据进行评估。

初始化系统

两个滤波器的系统是一个级联阶段:dsp。LowpassFilter和dsp的并行连接。AllpassFilter dsp.AllpoleFilter。

allpole = dsp.AllpoleFilter;allpass = dsp.AllpassFilter;lpfilter = dsp.LowpassFilter;

指定信号源

系统的输入是一个正弦波的频率100赫兹。采样频率是44.1 kHz。

正弦= dsp.SineWave(频率= 100,SampleRate = 44100,SamplesPerFrame = 1024);

创建传递函数估计量

来估计系统的传递函数,创建dsp.TransferFunctionEstimator系统对象。

tfe = dsp.TransferFunctionEstimator (FrequencyRange =“单向的”,OutputCoherence = true);

创建数组的阴谋

初始化两个dsp.ArrayPlot对象:一个显示的大小反应系统,另一个显示输入和输出之间的相干性估计。

tfeplotter = dsp.ArrayPlot (PlotType =“行”,包含=的频率(赫兹),YLabel =“级响应(dB)”,YLimits = 20 [-120],XOffset = 0,包含=的频率(赫兹),Title =系统传递函数的,SampleIncrement = 44100/1024);coherenceplotter = dsp.ArrayPlot (PlotType =“行”,YLimits = 1.2 [0],YLabel =“一致性”,XOffset = 0,包含=的频率(赫兹),Title =的一致性估计,SampleIncrement = 44100/1024);

默认情况下,数组的轴情节是在样本。这个轴转换成频率,设置SampleIncrement财产的dsp.ArrayPlot反对Fs / 1024。在本例中,这个值是44100/1024,或43.0664。对于一个双边频谱,XOffset财产的dsp.ArrayPlot对象必须是(- f / 2)。频率变化范围(- f / 2 f / 2)。在这个例子中,阵图显示了一个片面的光谱。因此,设置XOffset为0。频率变化范围(0 f / 2)。

传递函数估计

传递函数估计接受两个信号:两级滤波器的输入和输出的两级过滤器。滤波器的输入是一个含有加性高斯白噪声的正弦波。噪声具有零均值和标准偏差为0.1。估计量的估计两级滤波器的传递函数。估计量的输出滤波器的频率响应,这是复杂的。提取这个复杂的级部分估计,使用abs功能。将结果转换成数据库,应用转换因子20 * log10(级)。

Iter = 1:1000输入= sin () + 1。* randn (1024 1);lpfout = lpfilter(输入);allpoleout = allpole (lpfout);allpassout = allpass (lpfout);输出= allpoleout + allpassout;[tfeoutput, outputcoh] = tfe(输入、输出);tfeplotter (20 * log10 (abs (tfeoutput)));coherenceplotter (outputcoh);结束

第一个图显示了响应的系统级。第二个图显示之间的相干估计系统的输入和输出。连贯的情节变化范围(0 - 1)。

使用fvtool级响应的滤波器

两个过滤器的过滤器是一连串阶段- dsp。LowpassFilter和dsp的并行连接。AllpassFilter dsp.AllpoleFilter。所有过滤器对象中使用它们的默认状态。使用滤波器系数,推导出系统的传递函数和阴谋使用freqz频率响应。下面是(Num)中的系数(Den)格式:

  • 所有极点滤波器——[1 0][1 0.1]

  • 所有通滤波器——[0.5 1 /√(2)1][1 1 /√(2)0.5]

  • 低通滤波器,使用下面的命令确定系数:

lpf = dsp.LowpassFilter;系数=多项式系数(lpf);

Coefficients.Numerator给一个数组格式的系数。整个系统传递函数的数学推导是这里没有显示。一旦你得到传递函数,运行fvtool你可以看到下面的频率响应:

级响应,fvtool显示匹配的大小反应dsp.TransferFunctionEstimator对象的估计。

估计模型的传递函数金宝app

来估计系统的传递函数模型®,使用离散传递函数估计的块。金宝app块实现了韦尔奇的平均修正周期图方法,并使用估计的测量输入和输出数据。

两个滤波器的系统是一个级联阶段:低通滤波器和并联的allpole过滤和allpass过滤器。系统的输入是一个含有加性高斯白噪声的正弦波。噪声具有零均值和标准偏差为0.1。估计是系统的输入系统输入和输出。估计量的输出是系统的频率响应,这是复杂的。提取这个复杂的级部分估计,使用Abs块。将结果转换成数据库,系统使用一个dB(1欧姆)。

打开并检查模型

打开ex_transfer_function_estimator模型。输入是一个嘈杂的正弦信号频率为100赫兹。输入噪声为高斯白均值为0,方差为0.01。离散传递函数估计阻止估计滤波器的传递函数过滤的数据输入和输出。第一个数组图块显示了响应的系统级和第二个数组块显示一致性估计的阴谋。

默认情况下,x设在数组的情节是在样本。这个轴转换成频率,样本增量参数设置为Fs / 1024。在本例中,这个值是44100/1024,或43.0664。双面的光谱,x参数必须- f / 2。频率变化范围(- f / 2 f / 2)。在这个例子中,阵图显示了一个片面的光谱。因此,x设置为0。频率变化范围(0 f / 2)。

运行模型

运行模型。第一个图显示了响应的系统级。第二个图显示之间的相干估计系统的输入和输出。连贯的情节变化范围(0 - 1)。

相关的话题