使用“重量”
参数与rationalfit
这个例子展示了如何使用“重量”
参数来提高的输出质量rationalfit
。
默认情况下,rationalfit
之间的绝对误差函数最小化数据和有理函数,把所有的数据点一样。如果你想强调的一些数据点超过其他人使用“重量”
参数。
例如,如果输入数据的大小有一个大的动态范围,通常很有用更关心每个数据点的相对误差,而不是绝对误差在每个数据点,以便准确数据点与相对较小的大小合适。最常见的方法是设置“重量”参数1. / abs(数据)
。
把上面的例子在实践中,遵循以下步骤。
在看到读到过滤数据中包含的文件
sawfilter.s2p
,情节S21
数据。使用
rationalfit
适合的有理函数的函数S21
数据,“重量”
参数设置为默认值,视觉上比较结果与原始数据。使用
rationalfit
再一次,这一次指定“重量”
参数是1. / abs (S21)
,看看结果改善。
读取和可视化数据
阅读和可视化看到过滤器的参数数据。
S = sparameters (“sawfilter.s2p”);图次要情节(2,1,1)rfplot (2, 1,“数据库”次要情节(2,1,2)rfplot (S, 2, 1“角”)
分析的输出rationalfit
当使用默认值“重量”
使用rfparam
函数来提取S21
值,然后调用rationalfit
。
s21 = rfparam (2, 1);datafreq = S.Frequencies;defaultfit = rationalfit (datafreq s21);
使用freqresp
函数计算的输出的响应rationalfit
。
respfreq = 1 e9:1.5e6:4e9;defaultresp = freqresp (defaultfit respfreq);
比较原始数据和默认的有理函数计算的频率响应rationalfit
。
次要情节(2,1,1)情节(datafreq, 20 * log10 (abs (s21)),“。”)举行在情节(respfreq, 20 * log10 (abs (defaultresp)))从包含(的频率(赫兹))ylabel (“(dB)级”)defaultnpoles =元素个数(defaultfit.A);defaultstr = [“默认的重量(使用”num2str (defaultnpoles),“两极)”];标题(defaultstr)传说(“原始数据”,“默认rationalfit”,“位置”,“最佳”次要情节(2,1,2)情节(datafreq,打开(角(s21)) * 180 /π,“。”)举行在情节(respfreq打开(角(defaultresp)) * 180 / pi)从包含(的频率(赫兹))ylabel (的角(度))传说(“原始数据”,“默认rationalfit”,“位置”,“最佳”)
时的输出rationalfit
不是可怕的,它不匹配的地区非常小的数据大小。
图绘制(datafreq, 20 * log10 (abs (s21)),“。”)举行在情节(respfreq, 20 * log10 (abs (defaultresp)))从轴([2.25 e9 2.65 e9 -75 -30])包含(的频率(赫兹))ylabel (“(dB)级”)标题(精度在小重量大小使用默认的)传说(“原始数据”,“默认rationalfit”,“位置”,“最佳”)
使用“重量”参数,数据的准确性相对更重要的是可以帮助健康。
分析的输出rationalfit
当使用自定义值“重量”
通过使用一个“重量”1. / abs (s21)
,rationalfit
相对误差最小化的系统,而不是系统的绝对误差。
customfit = rationalfit (s21 datafreq,“重量”1. / abs (s21));
警告:只有-39.7 dB准确性48波兰人来实现的,而不是-40.0 dB。考虑指定更多的波兰人使用“NPoles”参数。
customresp = freqresp (customfit respfreq);
比较原始数据定制的有理函数的频率响应计算rationalfit
。
图次要情节(2,1,1)情节(datafreq, 20 * log10 (abs (s21)),“。”)举行在情节(respfreq, 20 * log10 (abs (customresp)))从包含(的频率(赫兹))ylabel (“(dB)级”)customnpoles =元素个数(customfit.A);customstr = [的体重= 1. / abs (s21)(使用'num2str (customnpoles),“两极)”];标题(customstr)传说(“原始数据”,“自定义rationalfit”,“位置”,“最佳”次要情节(2,1,2)情节(datafreq,打开(角(s21)) * 180 /π,“。”)举行在情节(respfreq打开(角(customresp)) * 180 / pi)从包含(的频率(赫兹))ylabel (的角(度))传说(“原始数据”,“自定义rationalfit”,“位置”,“最佳”)
情节显示自定义“重量”
参数创建一个更好的适合震级较小的数据点。
图绘制(datafreq, 20 * log10 (abs (s21)),“。”)举行在情节(respfreq, 20 * log10 (abs (customresp)))从轴([2.25 e9 2.65 e9 -75 -30])包含(的频率(赫兹))ylabel (“(dB)级”)标题(“小重量大小使用自定义的准确性)传说(“原始数据”,“自定义rationalfit”,“位置”,“最佳”)