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

  • 在Matlab中选择图像上的像素时,索引指的是什么?

    当在Matlab中查看图像的单个像素时 该索引指的是什么 X Y 指的是像素的坐标 RGB 指的是颜色 但是关于索引是什么有什么想法吗 为了澄清一下 当我在 Matlab 中查看图形并使用数据光标选择一个点时 显示的三行是 X Y 指数 R
  • 从筛查乳腺 X 光检查数字数据库 (DDSM) 获取数据

    我正在尝试以可读格式获取 DDSM 数据集 有谁有 DDSM heathusf 程序的工作版本 可以在 Linux 或 Windows 上正常运行吗 我知道 DDSM 的 jpeg 程序有一个适用于 linux 的工作版本 位于http w
  • 将数据提示堆栈放在轴标签顶部,并在轴位置发生更改后更新轴标签

    此问题仅适用于 unix matlab Windows 用户将无法重现该问题 我在尝试创建位于 y 轴标签顶部的数据提示时遇到问题 下图很能说明问题 正如您所看到的 在 ylabel 附近创建的数据提示将到达 ylabel 文本的底部 而期
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • 如何为已编译的 MATLAB 创建安装程序并要求用户接受我们的许可条款?

    我正在 MATLAB 中编写程序分发给 Windows 用户 我使用 MATLAB 编译器和 MATLAB r2014a 版本来创建程序 我可以使用 MATLAB 应用程序编译器创建 Windows 安装程序 并且它的工作效果可以接受 但是
  • 如何正确从表中删除 NaN 值

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

    我正在努力解决我想使用 for 循环制作的情节 我知道当我在循环之后添加它时它会起作用 只是一个简单的图 但我想用另一种方式尝试一下 fib ones 1 10 for k 3 10 hold on fib k fib k 1 fib k
  • 在matlab中,如何读取python pickle文件?

    在 python 中 我生成了一个 p 数据文件 pickle dump allData open myallData p wb 现在我想在Matlab中读取myallData p 我的Matlab安装在Windows 8下 其中没有Pyt
  • 禁止 MATLAB 自动获取焦点[重复]

    这个问题在这里已经有答案了 我有以下问题 在我的 MATLAB 代码中 我使用如下语句 figure 1 更改某些数据的目标数字 问题是 在此 MATLAB 之后 系统将焦点集中在具有该图形的窗口上 当我在后台运行一个大脚本并尝试在计算机上
  • 将 Matlab 数组移植到 C/C++

    我正在将 matlab 程序移植到 C C 我有几个问题 但最重要的问题之一是 Matlab 将任何维度的数组都视为相同 假设我们有一个这样的函数 function result f A B C result A 2 B C A B and
  • 如何在 MATLAB 编译的应用程序中运行外部 .m 代码? [复制]

    这个问题在这里已经有答案了 我有一个 MATLAB 项目 我使用 MCC 对其进行编译以获得单个可执行文件 然后我想知道外部程序员是否可以在 exe 中执行他的一些 m 文件 而无需重新编译整个项目 重点是提供一个应用程序 其他开发人员可以
  • MATLAB - 通过垂直连接子矩阵重新排列矩阵

    我在执行以下任务时遇到问题 假设一个 3x6 矩阵 A 0 2787 0 2948 0 4635 0 8388 0 0627 0 0435 0 6917 0 1185 0 3660 0 1867 0 2383 0 7577 0 6179 0
  • 如何在 MATLAB 中将矩阵元素除以列总和?

    有没有一种简单的方法可以将每个矩阵元素除以列和 例如 input 1 4 4 10 output 1 5 4 14 4 5 10 14 以下是执行此操作的不同方法的列表 使用bsxfun https www mathworks com he
  • matlab 中的动画绘图

    我正在尝试创建一个三角形的动画图 最终结果应该是十个三角形 后面跟着两个更大的三角形 后面跟着一条直线 使用matlab文档 https de mathworks com help matlab ref drawnow html 我最终得到
  • 保存符号方程以供以后使用?

    From here http www mathworks com help releases R2011a toolbox symbolic brvfu8o 1 html brvfxem 1 我正在尝试求解这样的符号方程组 syms x y
  • Matlab:2行10列的子图

    如何在 matlab 中绘制 20 幅图像 2 行 10 列 我知道我必须使用 子图 功能 但我对给出的参数感到困惑 我尝试给予 子图 2 10 行索引 列索引 但它似乎不起作用 请帮忙 的前两个参数subplot函数分别给出图中子图的总行
  • 2D 网格的纹理贴图

    我有一组点 x y meshgrid 1 N 1 M 在常规二维上定义 N x M网格 我还有另一组要点 u v 这是原始网格的一些变形 即 u v f x y 但是我没有实际的f导致变形 如何将纹理映射到由定义的 变形 网格u v 即 给
  • 使用不同的背景颜色保存 MATLAB 图窗

    我想打印一个带有深色背景和白色标签的 MATLAB 图 如果我使用print or saveas命令我不知何故失去了颜色 绘图符号再次变暗 背景变为白色 points rand 100 3 plot3 points 1 points 2 p
  • 基本矩阵错误?

    我试图通过扫描从相机拍摄的两个图像 检测图像中的特征 匹配它们 创建基本矩阵 使用相机内在函数计算基本矩阵 然后分解它以找到旋转和翻译 这是matlab代码 I1 rgb2gray imread 1 png I2 rgb2gray imre
  • Blob 的簇生长

    考虑以下来自 Mathworks 的图像 我已经用标签标记了斑点 L num bwlabel I 如何迭代连接所有斑点 即从一个斑点开始 找到离它最近的一个 考虑最左边的两个斑点 可以从一个斑点的许多点绘制许多条线来连接到另一个斑点blob

随机推荐