此示例说明如何使用幅度,平均值和标准偏差(STD)对一组S参数数据文件进行统计分析。
首先,阅读十二个S参数文件,其中这些文件将12个类似的RF滤波器表示到MATLAB®工作区中并绘制它们。接下来,绘图和分析这些过滤器的通带响应,以确保它们符合统计规范。
使用内置RF Toolbox™功能,用于读取一组S参数数据文件。对于每个过滤器,绘制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);%预先释放速度s21_groupdelay = zeros(numfreq,numfiles);%预先释放速度%读取了TouchStone文件为了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)')ylabel('过滤响应(DB)') 标题('12个过滤器的传输性能')轴在网格在
在本节中,查找,存储和绘制来自AWS下行链路频段(2.11 - 2.17 GHz)的S21数据。
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数据集的幅度和组延迟进行统计分析。
abs_s21_pass_freq = abs(s21_pass_data);
计算整个通带S21数据集的幅度和STD。
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
计算每个频率点处的通带幅度响应的平均值和STD。这决定了数据是否遵循正常分布。
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,'M') 抓住在绘图(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'那'离开') 网格在轴([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数据的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
计算归一化组延迟响应的每个频率均值和标准偏差。所有数据都被收集到单个向量中以进行改变分析。
mean_grpdelay_s21 =均值(s21_groupdelay_pass_data,2);std_grpdelay_s21 = std(s21_groupdelay_pass_data,0,2);all_grpdelay_data = REPAPE(S21_GROUPDELAY_PASS_DATA。',numel(s21_groupdelay_pass_data),1);
将所有归一化通带GroupDelay数据绘制为频率的函数,包括基本统计分析所定义的上限和下限。
plot(freq_pass_ghz_gpd,mean_grpdelay_s21,'M') 抓住在绘图(freq_pass_ghz_gpd,mean_grpdelay_s21 + 2 * std_grpdelay_s21,'r')plot(freq_pass_ghz_gpd,mean_grpdelay_s21 - 2 * std_grpdelay_s21,'K') 传奇('意思'那'平均+ 2 * std'那'意思是 - 2 * std')绘图(freq_pass_ghz_gpd,s21_groupdelay_pass_data,'C'那'houspvisibility'那'离开') 网格在xlim([min(freq_pass_ghz_gpd)max(freq_pass_ghz_gpd)])ylabel('规范化组延迟S21')Xlabel('频率(GHz)') 标题('S21(标准化组延迟) - 统计分析') 抓住离开
绘制归一化通带组延迟数据的直方图。这决定了数据的上限和下限是否遵循均匀分布。
直方图(ALL_GRPDELAY_DATA,35)网格在Xlabel('组延迟S21(秒)')ylabel('分配') 标题('标准化组延迟的直方图')
在通带S21数据的幅度上执行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};标题(“通带S21幅度响应的方差分析(ANOVA)”) 网格在
在归一化GroupDelay通带S21数据上执行ANOVA。
ANOVA1((s21_groupdelay_pass_data)。',freq_pass_ghz_gpd);
ylabel('规范化组延迟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 GroupDelay的”差异分析(ANOVA)“(归一化)') 网格在