此示例显示如何使用“npoles”参数来提高输出的质量RationalFit.
。默认情况下,RationalFit.
函数使用48或更少的极点来找到最能匹配数据的合理功能。如果48极是不够的,则改变所使用的极数量的范围可能是有利的RationalFit.
。
首先,在文件中包含的带通滤波器数据中读取npoles_bandpass_example.s2p.
,并绘制S21.
数据。接下来,使用RationalFit.
功能适合合理的功能S21.
数据,具有“NPoles”参数设置为其默认值,并在视觉上将结果与原始数据进行比较。最后,使用RationalFit.
同样,这次指定更多数量的极点,看看结果是否有所提高。
s =斯波拉姆计('npoles_bandpass_example.s2p');图形子图(2,1,1)RFPLOT(S,2,1,'D b')子图(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)))保持关闭Xlabel('频率(Hz)')ylabel('幅度(db)')defaultnpoles = numel(defaultfit.a);defaultstr = ['默认NPOLES(用',num2str(defaultnpoles),'杆)'];标题(defaultstr)图例('原始数据'那'默认的RationalFit'那'地点'那'最好')子图(2,1,2)绘图(DataFreq,Unwrap(角度(S21))* 180 / PI,'.-'抱紧上绘图(respfreq,unwrap(角度(defaultresp))* 180 / pi)保持关闭Xlabel('频率(Hz)')ylabel('角度(度)')传奇('原始数据'那'默认的RationalFit'那'地点'那'最好')
分析输出的程度如何RationalFit.
匹配原始数据,似乎虽然默认值RationalFit.
在带通区域的中心执行合理的工作,在带通区域的边缘上的拟合差。使用更复杂的合理功能可能会达到更好的合适。
适合原文S21.
数据,但这次,指导RationalFit.
使用“NPOLES”参数在49和60杆之间使用。
customfit = RationalFit(DataFreq,S21,'npoles',[49 60]);customresp = freqResp(CustomFit,Respfreq);
将原始数据与通过计算的自定义Rational函数的频率响应进行比较RationalFit.
。
图形子图(2,1,1)绘图(DataFreq,20 * log10(ABS(S21)),'.-'抱紧上绘图(respfreq,20 * log10(abs(customresp)))持有关闭Xlabel('频率(Hz)')ylabel('幅度(db)')customnpoles = numel(customfit.a);customstr = ['npoles = [49 60](用途',num2str(customnpoles),'杆)'];标题(Customstr)图例('原始数据'那'自定义RationalFit'那'地点'那'最好')子图(2,1,2)绘图(DataFreq,Unwrap(角度(S21))* 180 / PI,'.-'抱紧上绘图(respfreq,unwrap(角度(customresp))* 180 / pi)保持关闭Xlabel('频率(Hz)')ylabel('角度(度)')传奇('原始数据'那'自定义RationalFit'那'地点'那'最好')
使用较大数量的杆的配合显然更精确。