主要内容

使用“重量”参数与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“角”)

图包含2轴对象。坐标轴对象1包含频率(GHz), ylabel级(dB)包含一个类型的对象。该对象代表dB (S_ {21})。坐标轴对象2包含频率(GHz), ylabel角(度)包含一个类型的对象。这个对象表示角(S_ {21})。

分析的输出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”,“位置”,“最佳”)

图包含2轴对象。坐标轴对象1标题默认体重(使用16杆),包含频率(赫兹),ylabel级(dB)包含2线类型的对象。这些对象代表原始数据,默认rationalfit。坐标轴对象2包含频率(赫兹),ylabel角(度)包含2线类型的对象。这些对象代表原始数据,默认rationalfit。

时的输出rationalfit不是可怕的,它不匹配的地区非常小的数据大小。

图绘制(datafreq, 20 * log10 (abs (s21)),“。”)举行情节(respfreq, 20 * log10 (abs (defaultresp)))轴([2.25 e9 2.65 e9 -75 -30])包含(的频率(赫兹))ylabel (“(dB)级”)标题(精度在小重量大小使用默认的)传说(“原始数据”,“默认rationalfit”,“位置”,“最佳”)

图包含一个坐标轴对象。坐标轴对象标题精度在使用默认大小重量小,包含频率(赫兹),ylabel级(dB)包含2线类型的对象。这些对象代表原始数据,默认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”,“位置”,“最佳”)

图包含2轴对象。坐标轴对象1标题重量= 1. / abs (s21)(使用48两极),包含频率(赫兹),ylabel级(dB)包含2线类型的对象。这些对象代表原始数据,定制rationalfit。坐标轴对象2包含频率(赫兹),ylabel角(度)包含2线类型的对象。这些对象代表原始数据,定制rationalfit。

情节显示自定义“重量”参数创建一个更好的适合震级较小的数据点。

图绘制(datafreq, 20 * log10 (abs (s21)),“。”)举行情节(respfreq, 20 * log10 (abs (customresp)))轴([2.25 e9 2.65 e9 -75 -30])包含(的频率(赫兹))ylabel (“(dB)级”)标题(“小重量大小使用自定义的准确性)传说(“原始数据”,“自定义rationalfit”,“位置”,“最佳”)

图包含一个坐标轴对象。坐标轴对象在小大小使用自定义标题准确重量,包含频率(赫兹),ylabel级(dB)包含2线类型的对象。这些对象代表原始数据,定制rationalfit。

相关的话题