【传输线开路和短路故障】带有集总元件的非对称传输线扩频时域反射测量(Matlab代码实现)

2023-12-05

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

????3 参考文献

????4 Matlab代码、数据、文章讲解


????1 概述

摘要:
扩频时域反射测量(SSTDR)传统上用于检测传输线上的硬故障(开路和短路故障)。以往的研究主要集中在线路末端的负载上,对于位于线路中部(即不在负载处)或仅在一根导线上的电路元件的阻抗研究相对较少。本研究考虑了各导线上具有不同阻抗的传输线情况。我们将两根导线上阻抗相同(正和负)的线路称为对称线路,而两根导线上阻抗不同的线路称为非对称线路。当存在高度局部化的阻抗时(长度近似为无穷小,即显著小于入射信号波长),传播波中的反射及其对波的影响变得难以用传统传输线理论描述。我们提供了对于对称和非对称传输线的反射系数的分析表达式,并证明这些公式对于电容器和电阻器的实验测量结果能够准确地描述其绝对值约99%的准确度和相位约75%的准确度。

本文涉及的主题对于传输线上的阻抗研究具有重要意义,特别是在存在非对称线路和局部化阻抗的情况下。我们的研究成果通过提供准确的分析表达式,有助于深入理解传输线内部电路元件的阻抗特性对反射波的影响。这对于传输线上的故障诊断和信号传输质量的评估具有重要的实际应用价值。同时,我们的研究还强调了传统传输线理论在处理局部化阻抗时的局限性,并为未来研究提供了新的思路和方法。

详细文章讲解见第4部分。

???? 2 运行结果

部分代码:

% INITIALIZE NORMALIZATION FACTOR THAT ALIGNS SIMULATION AND EXPERIMENTAL OPEN CIRCUIT
nrm_fctr = zeros(N,1);

% PLOT MAGNIUTUDES
for nn = 1:N

% DETERMINE IF X-AXIS IS RESISTANCE, CAPACITANCE, OR INDUCTANCE
[~, indx] = max([std(RI{nn}(:)) std(CI{nn}(:)) std(LI{nn}(:))]);
if indx == 1, ZI = RI{nn}; ZE = RE{nn}; end
if indx == 2, ZI = CI{nn}; ZE = CE{nn}; end
if indx == 3, ZI = LI{nn}; ZE = LE{nn}; end

% GENERATE NORMALIZATIONS
sim_maxamp_1 = interp1(RI{1}, sim_maxamp{1}, RE{1});        % Find simulation values at experimental impedances for first config
sim_maxamp_2 = interp1(RI{3}, sim_maxamp{3}, RE{3});        % Find simulation values at experimental impedances for second config
sim_maxamp_i = interp1(ZI   , sim_maxamp{nn}, ZE);          % Find simulation values at experimental impedances for dataset nn
if strcmpi(types{nn}, 'series')
nrm_fctr(nn) =  max(sim_maxamp_1)./max(exp_sub_maxamp{1});  % Reduce all data sets by the max of the first data set (keep all data sets proportional)
else
nrm_fctr(nn) =  max(sim_maxamp_2)./max(exp_sub_maxamp{3});  % Reduce all data sets by the max of the first data set (keep all data sets proportional)
end

figure(1)
set(gcf, 'units', 'inches', 'Position', [0 0 8 5])
subplot(2,N/2,nn)

if Zf{nn} ~= 3
plot(ZI, sim_maxamp{nn}, 'linewidth', 2);
axis([min(ZI) max(ZI) -1 1])
hold on;
scatter(ZE, exp_sub_maxamp{nn}.*nrm_fctr(nn),'s','linewidth', 2);
set(gca, 'Xscale', 'log')
set(gca, 'fontsize', fontsize)
hold off;
else

plot(ZI, sim_maxamp{nn}, 'linewidth', 2);
axis([min(ZI) max(ZI) -1 1])
hold on;
scatter(ZE, exp_sub_maxamp{nn}.*nrm_fctr(nn),'s','linewidth', 2)
set(gca, 'Xscale', 'log')
set(gca, 'fontsize', fontsize)
hold off;
end
axis([min(ZI) max(ZI) -1 1])
if indx == 1, xlabel('Series Resistance [\Omega]'); end
if indx == 2, xlabel('Series Capacitance [F]'); end
if indx == 3, xlabel('Series Inductance [H]'); end
if Zf{nn} == 3, xlabel('Parallel Capacitance [F]'); end
if Zf{nn} == 4, xlabel('Parallel Resistors [\Omega]'); end

ylabel('Ref. Coefficient')
if indx == 1, legend('Our Theory', 'Experiment', 'Location', 'Southeast'); end
if indx == 2, legend('Our Theory', 'Experiment',  'Location', 'Southeast'); end
title(names{nn})

% COMPUTE R^2 VALUES
R2 = corr(sim_maxamp_i(:), exp_sub_maxamp{nn}(:).*nrm_fctr(nn));
fprintf('%s: Magnitude R^2 value: %f \n', names{nn}, R2);

end
saveas(gcf, ['../results/magnitudes.png'])

% PLOT PHASES
for nn = 1:N

% DETERMINE IF X-AXIS IS RESISTANCE, CAPACITANCE, OR INDUCTANCE
[~, indx] = max([std(RI{nn}(:)) std(CI{nn}(:)) std(LI{nn}(:))]);
if indx == 1, ZI = RI{nn}; ZE = RE{nn}; end
if indx == 2, ZI = CI{nn}; ZE = CE{nn}; end
if indx == 3, ZI = LI{nn}; ZE = LE{nn}; end

% PLOT RESULTS
figure(2)
set(gcf, 'units', 'inches', 'Position', [0 0 8 5])
subplot(2,N/2,nn)

%set(gcf, 'Units', 'Inches', 'Position', [0 4 4 1.7], 'color', [1 1 1]) %[0 2 4 2]
plot(ZI, sim_maxang{nn}, 'linewidth', 2);
axis([min(ZI) max(ZI) -pi pi])
set(gca, 'fontsize', fontsize)
hold on;
scatter(ZE, exp_sub_maxang{nn}, 's','linewidth', 2)
set(gca, 'Xscale', 'log')
set(gca, 'fontsize', fontsize)
hold off;
axis([min(ZI) max(ZI) -pi pi])

if indx == 1, xlabel('Series Resistance [\Omega]'); end
if indx == 2, xlabel('Series Capacitance [F]'); end
if indx == 3, xlabel('Series Inductance [H]'); end
if Zf{nn} == 3, xlabel('Parallel Capacitance [F]'); end
if Zf{nn} == 4, xlabel('Parallel Resistors [\Omega]'), legend('Our Theory', 'Experiment',  'Location', 'Southeast'); end

ylabel('Ref. Phase Angle [rad]')
title(names{nn})
legend('Our Theory', 'Experiment')

% COMPUTE R^2 VALUES
sim_maxang_1 = interp1(ZI(:), sim_maxang{nn}(:), ZE(:));        % Find simulation values at experimental impedances for dataset 1
R2 = corr(sim_maxang_1(:), exp_sub_maxang{nn}(:));
fprintf('%s: Phase R^2 value: %f \n', names{nn}, R2);
end
saveas(gcf, ['../results/phases.png'])

% PLOT TIME DOMAIN SIGNALS
for nn = 1:N
% DETERMINE IF X-AXIS IS RESISTANCE, CAPACITANCE, OR INDUCTANCE
[~, indx] = max([std(RI{nn}(:)) std(CI{nn}(:)) std(LI{nn}(:))]);
if indx == 1, ZI = RI{nn}; ZE = RE{nn}; end
if indx == 2, ZI = CI{nn}; ZE = CE{nn}; end
if indx == 3, ZI = LI{nn}; ZE = LE{nn}; end

% PLOT TIME-DOMAIN RESULTS
L = length(files{nn});
figure(3)
set(gcf, 'units', 'inches', 'Position', [0 0 8 5])
subplot(2,N/2,nn)
plottype = {'-','-','--','--',':b',':','-.r','-.','-.k','-.k*','--m','--ko'};
for ii = 1:2:L-1
[~, zero_samp] = max(time_sig{nn}{ii}(1:data_center(nn,1)));
tdist = 0.5*((-zero_samp/Fsampl):(1/Fsampl):((length(time_sig{nn}{ii})-zero_samp-1)/Fsampl))*vop*2.99792*1e8;
plot(tdist, time_sig{nn}{ii}*nrm_fctr(nn), plottype{ii});
hold on;
set(gca, 'fontsize', fontsize)
end
hold off;

if indx   == 1, legend("10\Omega","30\Omega","130\Omega","1000\Omega", 'Location', 'Northeast'); end
if indx   == 2, legend("1pF","5pF","15pF","25pF","100pF"); end
if indx   == 3, xlabel('Series Inductance [H]'); end
if Zf{nn} == 3, legend("1pF","5pF","15pF","25pF","100pF"); end
if Zf{nn} == 4, legend("10\Omega","30\Omega","130\Omega","1000\Omega", 'Location', 'Northeast'); end

axis([tdist(data_center(nn,1)) tdist(data_center(nn,end)) -0.5 1.5])
xlabel('Distance (meters)','fontsize', fontsize)
ylabel('Ref. Coeff.')
title(names{nn})

end
saveas(gcf, ['../results/time.png'])

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

???? 4 Matlab代码、数据、文章讲解

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【传输线开路和短路故障】带有集总元件的非对称传输线扩频时域反射测量(Matlab代码实现) 的相关文章

  • 将输出从符号数学 (sym) 转换为浮点型

    我的问题类似于这个问题 https stackoverflow com questions 11114101 how to convert mupad symbol i sqrt 1 to i in matlab 11114959 1111
  • 如何将Matlab代码库与Android集成?

    我有一个算法和 MATLAB 中的一些其他代码 我想在我的 Android 应用程序中使用它 我怎样才能做到这一点 我可以从 MATLAB 制作 jar 文件以便与 Android 一起使用吗 我必须做点别的事吗 如果您还有其他产品 适用于
  • 在 Matlab 中对列进行排序

    我有 2 列使用 textscan 导入的数据 数据看起来像这样 其中U is undetect and D is detect mydata 51 U 57 D 48 U 47 D my data 4x1 double 4x1 char
  • MATLAB 中的抗锯齿线和标记

    您好 我在 MATLAB 中有一张图像 我希望这条线是平滑的 看看从 0 4 到 0 8 的线 这太可怕了 当在图中使用 LineSmoothing on 运算符时 我得到了这个 我在线条上做得很好 但它也使标记变得平滑 而且它们太可怕了
  • 如何建立数据流挖掘的滑动窗口模型?

    我们遇到的情况是 流 来自传感器的数据或服务器上的点击流数据 采用滑动窗口算法 我们必须将最后 例如 500 个数据样本存储在内存中 然后 这些样本用于创建直方图 聚合并捕获有关输入数据流中异常的信息 请告诉我如何制作这样的滑动窗 如果您询
  • 使用 python 在网络上部署 matlab 应用程序

    您好 我想使用 python 在网络上部署 matlab 应用程序 有没有办法做到这一点 我已按照数学工作网站上的文档将我的应用程序转换为 jar 文件 java 类 有人能指出我前进的正确方向吗 事实上 您的 Matlab 代码打包为 J
  • matlab矩阵中求子矩阵的通用方法

    我正在寻找一种 好 方法来在更大的矩阵 任意维数 中找到矩阵 模式 Example total rand 3 4 5 sub total 2 3 1 3 3 4 现在我希望这样的事情发生 loc matrixFind total sub 在
  • Matlab 编辑器不使用 emacs 快捷方式

    Is there some way I can make the matlab integrated editor not use emacs shortcut but use more normal shortcuts such that
  • 在 C/C++ 中调用 MATLAB API

    我刚刚从某处听说 对于数值计算 MATLAB 确实提供了一些用户友好的 API 如果你在 C C 代码中调用这些 API 你可以显着加快计算速度 但我在MATLAB文档中没有找到这样的信息 例如http www mathworks com
  • 白色像素簇提取

    我正在研究指纹毛孔提取项目 并陷入毛孔 白色像素簇 提取的最后阶段 我有两个输出图像 我们可以从中获取毛孔 但不知道该怎么做 这两个图像的尺寸不同 image1 的尺寸为 240 320 image2 的尺寸为 230 310 这是我的图像
  • 将组合字符串和数字输入的元胞数组写入文本文件

    考虑以下 DateTime 2007 01 01 00 00 2007 02 01 00 00 2007 03 01 00 00 Headers Datetime Data Dat 100 200 300 Data DateTime num
  • 作为动画的八度情节点

    我有以下八度脚本 TOTAL POINTS 100 figure 1 for i 1 TOTAL POINTS randX rand 1 randY rand 1 scatter randX randY hold on endfor 当我运
  • 单元格的 Fieldnames 函数的等效项

    正如标题所说 只是想知道是否有一个函数可以用作字段名 http www mathworks co uk help matlab ref fieldnames html 但适用于单元格 所以如果我有类似的东西 a imread redsqua
  • 在Matlab中选择图像上的像素时,索引指的是什么?

    当在Matlab中查看图像的单个像素时 该索引指的是什么 X Y 指的是像素的坐标 RGB 指的是颜色 但是关于索引是什么有什么想法吗 为了澄清一下 当我在 Matlab 中查看图形并使用数据光标选择一个点时 显示的三行是 X Y 指数 R
  • 垂直子图的单一颜色条

    我想让下面的 MATLAB 图有一个沿着两个子图延伸的颜色条 像这样的事情 使用图形编辑器手动完成 Note 这与提出的问题不同here https stackoverflow com questions 39950229 matlab t
  • matlab部署工具到java包javac错误

    我正在尝试将我的程序包装为与 java 一起使用 我首先尝试了一个简单的 hello world 你好世界 m disp 你好世界 我使用了deploytool并选择了java包 当它到达这一行时 执行命令 javac verbose cl
  • 将数据提示堆栈放在轴标签顶部,并在轴位置发生更改后更新轴标签

    此问题仅适用于 unix matlab Windows 用户将无法重现该问题 我在尝试创建位于 y 轴标签顶部的数据提示时遇到问题 下图很能说明问题 正如您所看到的 在 ylabel 附近创建的数据提示将到达 ylabel 文本的底部 而期
  • 动态调整自定义刻度数

    Taking SO 的一个例子 https stackoverflow com a 7139485 97160 我想根据当前视图调整轴刻度 这是默认行为 除非设置自定义的刻度数 下图展示了由此产生的行为 左侧是默认行为 右侧是带有自定义刻度
  • Matlab 一个图上有多个图例 2014b

    我想在一个地块上有多个传说 该解决方案在 2014b 版本之前完美运行 我试图弄清楚如何使用手柄优雅地制作它 但到目前为止还没有成功 欢迎任何想法 2013b 的示例 x 1 50 y1 sin x 2 y2 cos x 2 f figur
  • 如何正确从表中删除 NaN 值

    在 Matlab 中阅读 Excel 电子表格后 不幸的是 我的结果表中包含了 NaN 例如这个 Excel 表格 将产生此表 其中出现额外的 NaN 列 我尝试使用以下代码片段删除 NaN measurementCells readtab

随机推荐