此示例显示如何使用“npoles”参数来提高输出的质量RationalFit.
。默认情况下,RationalFit.
函数使用48或更少的极点来找到最能匹配数据的合理功能。如果48极是不够的,则改变所使用的极数量的范围可能是有利的RationalFit.
。
首先,在文件中包含的带通滤波器数据中读取npoles_bandpass_example.s2p.
,并绘制S21
数据。接下来,使用RationalFit.
功能适合合理的功能S21
数据,具有“NPoles”参数设置为其默认值,并在视觉上将结果与原始数据进行比较。最后,使用RationalFit.
同样,这次指定更多数量的极点,看看结果是否有所提高。
S = sparameters (“npoles_bandpass_example.s2p”);图次要情节(2,1,1)rfplot (2, 1,“数据库”)子图(2,1,2)RFPLOT(S,2,1,'角度')
使用rfparam.
提取的功能S21
值,然后致电RationalFit.
。
S21 = RFPARAM(S,2,1);datafreq =s.fr;defaultfit = RationalFit(DataFreq,S21);
警告:仅实现-13.0 DB精度,具有48个极点,而不是-40.0 dB。考虑使用“NPOLES”参数指定更多数量的极点。
使用弗赖琴
函数来计算输出的响应RationalFit.
。
respfreq = 2.25e9:2e5:2.75E9;defaultresp = freqResp(DefaultFit,Respfreq);
将原始数据与由计算的默认合理函数的频率响应进行比较RationalFit.
。
子图(2,1,1)绘图(DataFreq,20 * log10(ABS(S21)),'.-')举行在情节(respfreq, 20 * log10 (abs (defaultresp)))离开包含('频率(Hz)') ylabel ('幅度(db)')defaultnpoles = numel(defaultfit.a);defaultstr = ['默认NPOLES(用',num2str(defaultnpoles),“两极)”];标题(defaultstr)图例('原始数据'那'默认的RationalFit'那“位置”那'最好的事物')子图(2,1,2)绘图(DataFreq,Unwrap(角度(S21))* 180 / PI,'.-')举行在情节(respfreq打开(角(defaultresp)) * 180 / pi)离开包含('频率(Hz)') ylabel ('角度(度)') 传奇('原始数据'那'默认的RationalFit'那“位置”那'最好的事物')
分析输出的好坏RationalFit.
匹配原始数据时,显示RationalFit.
在带通区域的中心做的比较好,在带通区域的边缘的配合比较差。使用更复杂的有理函数可能会得到更好的拟合。
适合原文S21
数据,但这次,指导RationalFit.
使用“npole”参数来使用49到60个极点。
customfit = rationalfit (s21 datafreq,“NPoles”,[49 60]);customresp = freqResp(CustomFit,Respfreq);
将原始数据与通过计算的自定义Rational函数的频率响应进行比较RationalFit.
。
图形子图(2,1,1)绘图(DataFreq,20 * log10(ABS(S21)),'.-')举行在绘图(respfreq,20 * log10(abs(customresp)))持有离开包含('频率(Hz)') ylabel ('幅度(db)')customnpoles = numel(customfit.a);customstr = [' npole =[4960](使用',num2str(customnpoles),“两极)”];标题(Customstr)图例('原始数据'那“自定义rationalfit”那“位置”那'最好的事物')子图(2,1,2)绘图(DataFreq,Unwrap(角度(S21))* 180 / PI,'.-')举行在绘图(respfreq,unwrap(角度(customresp))* 180 / pi)保持离开包含('频率(Hz)') ylabel ('角度(度)') 传奇('原始数据'那“自定义rationalfit”那“位置”那'最好的事物')
使用大量杆的配合显然更精确。