射频滤波器一组s参数的数据分析

此示例显示了如何对一组S-参数数据文件进行统计分析。首先,阅读表示12个类似RF滤波器的十二个S参数文件进入MATLAB工作区并绘制它们。接下来,绘图和分析这些过滤器的通带响应,以确保它们符合统计规范。

从过滤数据文件中读取s参数

使用内置RF Toolbox功能用于读取一组S参数数据文件。对于每个过滤器,收集和绘制S21原始值和S21 DB值。文件的名称是AWS_FILTER_1.S2P通过AWS_FILTER_12.S2P。这些文件表示具有相似规格的12个通带筛选器。

numfiles = 12;filename =.“aws_filter_”+(1:numfiles)+“.s2p”;%构造文件名S = sparameters(文件名(1));%读取文件#1进行初始设置频率= S.Frequencies;所有文件的%频率值都是相同的numfreq = numel(freq);%频率点数s21_data = 0 (numfreq numfiles);%预分配速度%读取Touchstone文件为了n = 1:numfiles S = parameters(filename(n));s21 = rfparam (2, 1);s21_data (:, n) = s21;结尾s21_db = 20 * log10(abs(s21_data));图绘图(freq / 1e9,s21_db)xlabel('频率(GHz)') ylabel ('过滤响应(DB)')标题(“12个滤波器的传输性能”)轴网格

过滤通信可视化

在本节中,查找,存储和绘制S21数据从AWS下行链路频带(2.11到2.17 GHz)。

Idx = (freq >= 2.11e9) & (freq <= 2.17e9);s21_pass_data = s21_data (idx:);s21_pass_db = s21_db (idx:);freq_pass_ghz =频率(idx) / 1 e9;%标准化为GHz情节(freq_pass_ghz s21_pass_db)包含('频率(GHz)') ylabel ('过滤响应(DB)')标题(“12个过滤器的通带变化”)轴([min(freq_pass_ghz)max(freq_pass_ghz)-1 0])网格

S21数据的基本统计分析

对所有通带S21数据集的幅度和相位进行统计分析。这决定了数据是否遵循正常分布,如果存在异常数据。

abs_S21_pass_freq = abs (s21_pass_data);

计算整个通带S21数据集的幅度的平均值和标准偏差。

mean_abs_S21 =意味着(abs_S21_pass_freq,'全部'
mean_abs_s21 = 0.9289
std_abs_s21 = std(abs_s21_pass_freq(:))
std_abs_S21 = 0.0104

计算每个频率点的通带幅度响应的平均值和标准差。这决定了数据是否服从正态分布。

mean_abs_s21_freq =均值(abs_s21_pass_freq,2);std_abs_s21_freq = std(abs_s21_pass_freq,0,2);

绘制作为频率的函数的所有原始通带幅度数据,以及由基本统计分析定义的上下限。

情节(freq_pass_ghz mean_abs_S21_freq);绘图(freq_pass_ghz,mean_abs_s21_freq + 2 * std_abs_s21_freq,'r') plot(freq_pass_ghz,mean_abs_S21_freq - 2*std_abs_S21_freq,“k”) 传奇(“的意思是”'平均+ 2 * std''意思是 -  2 * std')绘图(freq_pass_ghz,abs_s21_pass_freq,'C''houspvisibility'“关闭”网格)轴([min(freq_pass_ghz)max(freq_pass_ghz)0.9 1]);ylabel(“S21级”)包含('频率(GHz)')标题('S21(幅度) - 统计分析')举行

绘制通带幅度数据的直方图。这决定了数据的上限和下限是否遵循正态分布。

histfit(abs_s21_pass_freq(:))网格轴([0.8 1 0 100])Xlabel(“S21级”) ylabel ('分配')标题('比较过滤器通带响应与正常分布'

计算通带S21数据的相位响应,然后是相位响应的每个频率均值和标准偏差。然后将所有通带S21相位数据收集到单个向量中以供以后分析。

pha_s21 =角度(s21_pass_data)* 180 / pi;mean_pha_s21 =均值(pha_s21,2);std_pha_s21 = std(pha_s21,0,2);ALL_PHA_DATA = REPAPE(PHA_S21。',NUMER(PHA_S21),1);

将所有原始通带相位数据作为频率的函数,以及由基本统计分析定义的上限和下限。

plot(freq_pass_ghz,mean_pha_s21)保持情节(freq_pass_ghz mean_pha_S21 + 2 * std_pha_S21,'r')绘图(freq_pass_ghz,mean_pha_s21  -  2 * std_pha_s21,“k”) 传奇(“的意思是”'平均+ 2 * std''意思是 -  2 * std')情节(freq_pass_ghz pha_s21,'C''houspvisibility'“关闭”网格)轴([min(freq_pass_ghz)max(freq_pass_ghz)-180 180])Ylabel('阶段S21')包含('频率(GHz)')标题(“S21(阶段)-统计分析”)举行

绘制通带相位数据的直方图。这决定了数据的上限和下限是否遵循均匀分布。

直方图(ALL_PHA_DATA,35)网格xlabel([-180 180 0 100])“阶段S21(度)) ylabel ('分配')标题('过滤阶段响应的直方图'

S21数据的方差分析

对幅度和相通带数据进行ANOVA分析。

freq_pass_ghz anova1 (abs_S21_pass_freq。');

ylabel(“S21级”)包含('频率(GHz)')AX1 = GCA;AX1.xtick = 0.5:10:120.5;ax1.xticklabel = {2.11,'',2.12,'',2.13,'', 2.14,'', 2.15,'', 2.16,'',2.17};标题(“通带损失的方差分析”网格)

freq_pass_ghz anova1 (pha_s21。');

ylabel(“阶段S21(度))包含('频率(GHz)')AX2 = GCA;Ax2.xtick = 0.5:10:120.5;ax2.xticklabel = {2.11,'',2.12,'',2.13,'', 2.14,'', 2.15,'', 2.16,'',2.17};标题(“通带阶段响应的差异(ANOVA)分析”网格)

相位数据拟合为一阶多项式

使用线性回归模型对S21相数据进行曲线拟合。

phase_s21_fit = fit(repmat(freq_pass_ghz,numfiles,1),all_pha_data,“poly1”
系数(95%置信限):p1 = -310.8 (-500.9, -120.6) p2 = 665.3 (258.3, 1072)