主要内容

使用'delayfactor'参数RationalFit.

此示例显示如何使用“delayfactor”参数来提高输出的质量RationalFit.

RationalFit.功能选择与频域数据匹配的Rational函数。如果该数据包含一个重要的“时间延迟”,则将其自身作为频域中的相移,然后使用合理数量的磁极拟合可能很困难。

在这些情况下,当输入数据包含一个大的负斜率时(即具有足够大的时间延迟的数据),我们可以问RationalFit.首先删除来自数据的一些延迟,然后找到一个最适合剩余的“未能”数据的合理功能。这RationalFit.通过将其存储在输出的“延迟”参数中,函数帐户删除延迟。默认情况下,RationalFit.不会从数据中删除任何延迟。

首先,从4端口背板S参数创建差分传输函数数据。接下来,尝试使用默认设置拟合数据RationalFit.功能。最后,使用'delayfactor'参数来提高输出的准确性RationalFit.

创建传输功能

从“default.s4p”中的4端口背板S参数数据中读取。

s =斯波拉姆计('default.s4p');fourportdata = s.parameters;freq = s.fruquences;四口Z0 = S.IMPEDANCE;

将4端口单端S参数转换为2端口差分S参数

diffdata = s2sdd(fourportdata);diffz0 = 2 * fourportz0;

从差分2端口数据创建传输函数

tfdata = s2tf(diffdata,diffz0,diffz0,diffz0);

使用“DelayFactor”的默认值时分析RationalFit的输出

使用弗赖琴函数来计算输出的响应RationalFit.

defaultfit = RationalFit(Freq,TFData)
警告:仅实现-10.2 dB精度,48极,而不是-40.0 dB。考虑使用“NPOLES”参数指定更多数量的极点。
defaultfit = rfmodel.ritional的属性:a:[48x1 double] c:[48x1 double] d:0 delay:0名称:'Rational Function'
respfreq = 0:4E6:20E9;defaultresp = freqResp(DefaultFit,Respfreq);

请注意,“延迟”参数为零(从数据中删除延迟)。

绘制原始数据与默认输出RationalFit.

图形子图(2,1,1)TFDATADB = 20 * log10(abs(tfdata));绘图(弗雷克,TFDATADB,'.-') 抓住绘图(respfreq,20 * log10(abs(defaultresp)))保持离开Xlabel('频率(Hz)')ylabel('幅度(db)')defaultnpoles = numel(defaultfit.a);defstr = ['默认delayfactor(使用',num2str(defaultnpoles),'杆)'];标题(DEFST)传奇('原始数据''默认的RationalFit''地点''最好')子图(2,1,2)TFDataphase = 180 *未包装(角度(TFDATA))/ PI;绘图(频率,tfdataphase,'.-') 抓住绘图(respfreq,180 * unwrap(角度(defaultresp))/ pi)保持离开Xlabel('频率(Hz)')ylabel('角度(度)') 传奇('原始数据''默认的RationalFit''地点''最好'

图包含2个轴。带标题默认DelayFactor(使用48极)的轴1包含2个类型的2个对象。这些对象代表原始数据,默认的RationalFit。轴2包含2个类型的2个物体。这些对象代表原始数据,默认的RationalFit。

请注意,使用默认设置时的结果RationalFit.很穷。因为原始数据的相位具有非常大的负斜率,所以可以通过使用“DelayFactor”参数来提高Rational功能的准确性。

使用“DelayFactor”的自定义值时分析RationalFit的输出

“delayfactor”必须设置为0到1之间的值。选择哪个值是试用和错误的练习。对于某些数据集(相位具有整体向上斜率的),更改“DelayFactor”的值将对结果没有影响。

持有所有其他可能的参数RationalFit.常数,0.98被发现创造一个良好的合适。

customfit = RationalFit(Freq,TFData,'delayfactor',0.98)
customfit = rfmodel.ritional的属性:a:[31x1 double] c:[31x1 double] d:0 delay:6.5521e-09名称:'Rational Function'
customresp = freqResp(CustomFit,Respfreq);

请注意,“延迟”参数不为零(RationalFit.从数据中删除了一些延迟)。

绘制原始数据与自定义输出RationalFit.

子图(2,1,1)绘图(FREQ,TFDATADB,'.-') 抓住绘图(respfreq,20 * log10(abs(customresp)))持有离开Xlabel('频率(Hz)')ylabel('幅度(db)')customnpoles = numel(customfit.a);customstr = ['delayfactor = 0.98(使用',num2str(customnpoles),'杆)'];标题(Customstr)图例('原始数据''自定义RationalFit''地点''最好')子图(2,1,2)绘图(频率,tfdataphase,'.-') 抓住绘图(respfreq,180 *未包装(角度(customresp))/ pi)持有离开Xlabel('频率(Hz)')ylabel('角度(度)') 传奇('原始数据''自定义RationalFit''地点''最好'

图包含2个轴。具有标题Diallfactor = 0.98(使用31极)的轴1包含2个类型的2个对象。这些对象代表原始数据,自定义RationalFit。轴2包含2个类型的2个物体。这些对象代表原始数据,自定义RationalFit。

使用“DelayFactor”的自定义值创建的Rational函数更准确,并使用更少的极点。

相关话题