用于RF滤波器的一组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用于初始设置freq = s.fruquences;所有文件的%频率值都是相同的numfreq = numel(freq);%频率点数s21_data =零(numfreq,numfiles);%预先释放速度%读取了TouchStone文件对于n = 1:numfiles s = sparameters(filename(n));S21 = RFPARAM(S,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 = freq(IDX)/ 1E9;%标准化为GHzplot(freq_pass_ghz,s21_pass_db)xlabel('频率(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);

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

plot(freq_pass_ghz,mean_abs_s21_freq)保持;绘图(freq_pass_ghz,mean_abs_s21_freq + 2 * std_abs_s21_freq,'r')绘图(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''off')网格轴([min(freq_pass_ghz)max(freq_pass_ghz)0.9 1]);ylabel('幅度S21')xlabel('频率(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''off')网格轴([min(freq_pass_ghz)max(freq_pass_ghz)-180 180])Ylabel('阶段S21')xlabel('频率(GHz)')标题('S21(阶段) - 统计分析'抱紧关闭

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

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

S21数据的ANOVA分析

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

Anova1(abs_s21_pass_freq',freq_pass_ghz);

ylabel('幅度S21')xlabel('频率(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};标题(“通带损失的方差分析”(ANOVA)')网格

ANOVA1(PHA_S21。',FREQ_PASS_GHZ);

ylabel('阶段S21(度)')xlabel('频率(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)分析”)网格

将相位数据拟合到1阶多项式

使用线性回归模型执行S21相位数据的曲线拟合。

phase_s21_fit = fit(repmat(freq_pass_ghz,numfiles,1),all_pha_data,'poly1'
phase_s21_fit =线性型号poly1:paplace_s21_fit(x)= p1 * x + p2系数(具有95%的置信度):p1 = -310.8(-500.9,-120.6)p2 = 665.3(258.3,1072)