此示例演示如何使用幅值、平均值和标准偏差(STD)对一组S参数数据文件执行统计分析。
首先,读取12个S参数文件,其中这些文件代表MATLAB®工作区中的12个类似RF滤波器,并绘制它们。接下来,绘制并分析这些滤波器的通带响应,以确保它们符合统计规范。
使用内置射频工具箱™ 用于读取一组S参数数据文件的函数。对于每个过滤器,绘制S21 dB值。文件名为AWS_Filter_1.s2p到AWS_Filter_12.s2p。这些文件代表12个具有类似规格的通带滤波器。
numfiles = 12;filename =.“aws_filter_”+(1:numfiles)+“.s2p”;%构造文件名S=参数(文件名(1));%读取文件#1进行初始设置频率=S.频率;所有文件的%频率值都是相同的numfreq = numel(freq);%频点数目s21_数据=零(numfreq,numfiles);%预先分配速度s21_groupdelay = zeros(numfreq,numfiles);%预先分配速度%读取试金石文件为了n = 1:numfiles s = sparameters(filename(n));S21 = RFPARAM(S,2,1);s21_data(:,n)= s21;s21_groupdelay(:,n)= groupdelay(s,freq,2,1);结尾s21_db = 20 * log10(abs(s21_data));图绘图(freq / 1e9,s21_db)xlabel('频率(GHz)')伊拉贝尔('过滤响应(DB)')头衔(“12个过滤器的传输性能”)轴在…上网格在…上
在本节中,查找、存储和绘制AWS下行链路频段(2.11-2.17 GHz)的S21数据。
idx=(频率>=2.11e9)和(频率<=2.17e9);s21_通过_数据=s21_数据(idx,:);s21_-pass_-db=s21_-db(idx,:);频率通过频率ghz=freq(idx)/1e9;%标准化为GHz绘图(频率通过ghz,s21通过db)xlabel('频率(GHz)')伊拉贝尔('过滤响应(DB)')头衔(“12个过滤器的通带变化”)轴([min(freq_pass_ghz)max(freq_pass_ghz)-1 0])网格在…上
为了确定数据是否遵循正常分布,并且如果存在异常值,请对所有通带S21数据集的幅度和组延迟进行统计分析。
abs_S21_pass_freq=abs(S21_pass_数据);
计算整个通带S21数据集幅度的平均值和标准偏差。
平均值=平均值(平均值),“全部”)
mean_abs_s21 = 0.9289
std_abs_S21=std(abs_S21_pass_freq(:)
标准值=0.0104
计算每个频率点处的通带幅度响应的平均值和STD。这决定了数据是否遵循正常分布。
mean_abs_s21_freq =均值(abs_s21_pass_freq,2);std_abs_s21_freq = std(abs_s21_pass_freq,0,2);
将所有原始通带幅值数据绘制为频率的函数,以及基本统计分析定义的上限和下限。
绘图(频率通过ghz,平均值通过频率21,“我是)持有在…上绘图(频率通过ghz,平均值21频率+2*标准值21频率,'r')绘图(频率通过ghz,平均值21频率-2*标准值21频率,“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])Y标签(“震级S21”)xlabel('频率(GHz)')头衔('S21(幅度) - 统计分析')持有关
绘制通带幅度数据的直方图。这决定了数据的上限和下限是否遵循正态分布。
histfit(abs_s21_pass_freq(:))网格在…上轴([0.8 1 0 100])Xlabel(“震级S21”)伊拉贝尔('分配')头衔('比较过滤器通带响应与正常分布')
获取通带S21数据的GroupDelay。使用带带的内部60%用于对Glableay的统计分析,并将其标准化为10 ns。
idx_gpd =(freq> = 2.13e9)&(freq <= 2.15e9);freq_pass_ghz_gpd = freq(idx_gpd)/ 1e9;%标准化为GHzs21_groupdelay_pass_data = s21_groupdelay(idx_gpd,:) / 10e-9;%标准化为10 ns
计算归一化群延迟响应的每频率平均值和标准偏差。所有数据都收集到一个向量中进行分析。
平均值=平均值(S21组延迟数据,2);std_grpdelay_S21=std(S21_groupdelay_pass_数据,0,2);所有延迟数据=重塑(s21组延迟通过数据),numel(s21组延迟通过数据),1);
将所有归一化通带GroupDelay数据绘制为频率的函数,包括基本统计分析所定义的上限和下限。
绘图(频率通过ghz gpd,平均时间21,“我是)持有在…上绘图(freq_pass_ghz_gpd,mean_grpdelay_s21 + 2 * std_grpdelay_s21,'r')绘图(频率通过ghz gpd,平均时间21-2*std时间21,“k”) 传奇(“中庸”那'平均+ 2 * std'那'意思是 - 2 * std')绘图(频率通过ghz gpd、s21组延迟通过数据、,'C'那'houspvisibility'那“关”)网格在…上xlim([min(freq_pass_ghz_gpd)max(freq_pass_ghz_gpd)])ylabel('规范化组延迟S21')xlabel('频率(GHz)')头衔('S21(标准化组延迟) - 统计分析')持有关
绘制归一化通带组延迟数据的直方图。这确定数据的上限和下限是否遵循均匀分布。
直方图(ALL_GRPDELAY_DATA,35)网格在…上xlabel('组延迟S21(秒)')伊拉贝尔('分配')头衔(“标准化组延迟的直方图”)
在通带S21数据的幅度上执行ANOVA。
anova1(abs_S21_pass_freq',freq_pass_ghz);
伊拉贝尔(“震级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};标题(‘通带S21震级响应的方差分析(ANOVA)’)网格在…上
对标准化的groupdelay通带S21数据进行方差分析。
ANOVA1((s21_groupdelay_pass_data)。',freq_pass_ghz_gpd);
伊拉贝尔('规范化组延迟S21')xlabel('频率(GHz)')ax2=gca;ax2.XTick=0.5:4:40.5;ax2.XTickLabel={2.13,2.132,2.134,2.136,2.138,2.14,2.142,2.144,2.146,2.148,2.15};头衔(‘通带S21分组延迟(标准化)的方差分析(ANOVA)’)网格在…上