此示例说明如何使用幅度,平均值和标准偏差(STD)对一组S参数数据文件进行统计分析。
首先,阅读十二个S参数文件,其中这些文件将12个类似的RF滤波器表示到MATLAB®工作区中并绘制它们。接下来,绘图和分析这些过滤器的通带响应,以确保它们符合统计规范。
使用内置的RF工具箱™函数读取一组S-Parameter数据文件。对每个滤波器绘制S21 dB值。文件名称为AWS_Filter_1。通过AWS_Filter_12.s2p s2p。这些文件代表了12个具有类似规范的通带滤波器。
numfiles = 12;文件名=“AWS_Filter_”+ (1: numfiles) +“.s2p”;%建立文件名s = sparameters(文件名(1));%读取文件#1用于初始设置freq = s.fruquences;%所有文件的频率值是相同的numfreq =元素个数(频率);%频率点数s21_data =零(numfreq,numfiles);%预先释放速度s21_groupdelay = 0 (numfreq numfiles);%预先释放速度%读取了TouchStone文件为n = 1:numfiles S = parameter (filename(n));s21 = rfparam (2, 1);s21_data (:, n) = s21;s21_groupdelay (:, n) = groupdelay(年代,频率,2,1);结束s21_db = 20 * log10 (abs (s21_data));图绘制(频率/ 1 e9 s21_db)包含(“频率(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
计算每个频率点的通频带幅度响应的平均值和标准差。这决定了数据是否符合正态分布。
mean_abs_S21_freq =意味着(abs_S21_pass_freq, 2);std_abs_S21_freq =性病(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 *性病”,“的意思是- 2 *性病”)情节(freq_pass_ghz abs_S21_pass_freq,“c”,“HandleVisibility”,'离开') 网格在轴([min(freq_pass_ghz)max(freq_pass_ghz)0.9 1])Ylabel('幅度S21')xlabel(“频率(GHz)”) 标题(“S21(震级)-统计分析”) 抓住离开
绘制通频带大小数据的直方图。这决定了数据的上限和下限是否符合正态分布。
histfit (abs_S21_pass_freq(:))网格在xlabel([0.8 10 100])'幅度S21')ylabel(“分布”) 标题(“比较滤波器通带响应与正态分布”)
获取通带S21数据的组延迟。使用内60%的带宽对群延迟进行统计分析,并将其归一化为10 ns。
Idx_gpd = (freq >= 2.13e9) & (freq <= 2.15e9);freq_pass_ghz_gpd =频率(idx_gpd) / 1 e9;%正常化到GHzs21_groupdelay_pass_data = s21_groupdelay (idx_gpd:) / 10 e-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);
将所有归一化频带群延迟数据作为频率的函数绘制出来,包括基本统计分析定义的上下限。
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 *性病”,“的意思是- 2 *性病”)绘图(freq_pass_ghz_gpd,s21_groupdelay_pass_data,“c”,“HandleVisibility”,'离开') 网格在xlim ([min (freq_pass_ghz_gpd)马克斯(freq_pass_ghz_gpd)]) ylabel ('归一化群延迟S21')xlabel(“频率(GHz)”) 标题('S21(归一化组延迟)-统计分析') 抓住离开
绘制归一化通带组延迟数据的直方图。这决定了数据的上限和下限是否遵循均匀分布。
直方图(all_grpdelay_data 35)网格在Xlabel('组延迟S21(秒)')ylabel(“分布”) 标题('标准化组延迟的直方图')
对通频带S21数据的大小进行方差分析。
Anova1(abs_s21_pass_freq',freq_pass_ghz);
ylabel('幅度S21')xlabel(“频率(GHz)”) ax1 = gca;ax₁。XTick = 0.5:10:120.5;ax₁。XTickLabel = {2.11,'', 2.12,'', 2.13,'',2.14,'',2.15,'',2.16,''2.17};标题(“通带S21幅度响应的方差分析(ANOVA)”) 网格在
在归一化GroupDelay通带S21数据上执行ANOVA。
freq_pass_ghz_gpd anova1 ((s21_groupdelay_pass_data)。');
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)“(归一化)') 网格在