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

  • 图像分析-光纤识别

    我是图像分析新手 您知道如何以仅获取纤维的方式对该图像进行二值化吗 我尝试过不同的阈值技术等 但没有成功 我不介意应该使用什么工具 但我更喜欢 NET or Matlab PS 我不知道该把答案放在哪里 所以我把它放在StackOverfl
  • Matlab-如何在曲线上绘制切线

    我在 matlab 中绘制了一个图表 plot x y 我的图表有不同的斜率 我如何在每个斜率上绘制切线并计算斜率的系数 如果您没有用于绘制点的显式函数 您可以使用有限差分 http en wikipedia org wiki Finite
  • 如何在Matlab中自定义轮廓线?

    我正在准备一个等高线图 我应该在其中突出显示特定级别的等高线 例如 我的轮廓线值位于 1 和 1 之间 我想突出显示与值 0 相对应的线 我尝试使用以下过程来执行此操作 M c contourf longitude latitude del
  • 使用 GPU 进行 Matlab 卷积

    我用gpuArray尝试了matlab的卷积函数conv2 convn 例如 convn gpuArray rand 100 100 10 single gpuArray rand 5 single 并将其与 cpu 版本 convn ra
  • matlab mex 文件和 C++ dll (Windows)

    我有一个带有 Test 类的 DLL 标题 class MY EXPORT Test public int doit const string str 和来源 int Test doit const string str return in
  • 在 MATLAB 中检索 spfun、cellfun、arrayfun 等中的元素索引

    有什么办法可以找回index调用函数的元素的cellfun arrayfun or spfun行为 即检索函数范围内元素的索引 为了简单起见 假设我有以下玩具示例 S spdiags 1 4 0 4 4 f spfun x 2 x S 它构
  • 检查Matlab中脚本需要使用的函数

    我有一个别人写的代码包 我正在运行一个脚本 它调用一些函数 这些函数又调用更多函数 等等 我想获取不是 MATLAB 内置函数但属于包的一部分的函数列表 我尝试使用matlab codetools requiredFilesAndProdu
  • Simulink 仿真引擎如何工作?

    我想了解 Simulink 仿真引擎的工作原理 它是否使用离散事件模拟机制 那么如何处理连续时间 它是否依赖于基于静态循环的代码生成 或者 在第一个周期之前 它会计算出块的执行顺序 从不需要任何其他块输入的块开始 每个周期 它都会根据输入和
  • Matlab:保存后翻转图例顺序和图例重叠图

    我正在尝试根据以下内容反转我的图例条目顺序matlab条形图中图例颜色的逆序 https stackoverflow com questions 31178005 reverse ordering of legend colors in m
  • MATLAB 特征函数

    我很好奇哪里可以找到完整的描述FEATURE功能 它接受哪些论点 没有找到文档 我只听说过memstats and getpid 还要别的吗 gt gt which feature built in undocumented 注意 更完整的
  • MATLAB:具有复数的 printmat

    我想使用 MATLAB 的printmat显示带有标签的矩阵 但这不适用于复数 N 5 x rand N 1 y rand N 1 z x 1i y printmat x y z fftdemo N 1 2 3 4 5 x y x iy O
  • Matlab:如何更改矩阵的存储方式?从 1x1x3 到 1x3?

    我目前有 val 1 0 7216 val 2 0 7216 val 3 0 7216 但我想要 0 7216 0 716 0 721 我可以做什么样的操作来做到这一点 The reshape函数将在这里解决问题 Arrange the e
  • 使用符号求解器仅求解某些变量

    我正在尝试在 MATLAB 中求解包含 3 个变量和 5 个常量的方程组 是否可以使用solve求解三个变量 同时保持常量为符号而不用数值替换它们 当您使用SOLVE http www mathworks com access helpde
  • 黑白随机着色的六角格子

    我正在尝试绘制一个 10 000 x 10 000 随机半黑半白的六边形格子 我不知道如何将该格子的六边形随机填充为黑色和白色 这是我真正想要从这段代码中得到的示例 但我无法做到 https i stack imgur com RkdCw
  • matlab中的排列函数是如何工作的

    这是一个有点愚蠢的问题 但我似乎无法弄清楚排列在 matlab 中是如何工作的 以文档为例 A 1 2 3 4 permute A 2 1 ans 1 3 2 4 到底是怎么回事 这如何告诉 matlab 3 和 2 需要交换 哇 这是我迄
  • 如何找到平面和 3d 矩阵之间的交平面

    如果我有一堆图像并且尺寸如下 size M 256 256 124 我有 3 个点 它们的坐标是 coor a 100 100 124 coor b 256 156 0 coor c 156 256 0 如何创建 M 与这 3 个点定义的平
  • 如何使用 MATLAB 的 substruct 函数创建表示使用“end”的引用的结构?

    我想使用substruct http www mathworks com help matlab ref substruct html函数创建一个结构体以供使用subsref 目的是使用索引字符串subsref而不是通常的 符号 因为我正在
  • 如何在放置颜色条后保持子图大小不变

    假设我们有一个 1 2 子图 我们在其中绘制了一些图形 如下所示 subplot 1 2 1 surf peaks 20 subplot 1 2 2 surf peaks 20 然后我们要添加一个颜色条 colorbar 我不希望结果中的正
  • 如何在 MATLAB 中绘制 3D 曲面图?

    我有一个像这样的数据集 0 1 0 2 0 3 0 4 1 10 11 12 13 2 11 12 13 14 3 12 13 14 15 4 13 14 15 16 我想在 matlab 中绘制 3D 曲面图 使列标题位于 y 轴 行标题
  • @(t)在Matlab中是什么意思? [复制]

    这个问题在这里已经有答案了 正如标题所示 考虑到下面的上下文 t 在 Matlab 中到底意味着什么 computeNumericalGradient 是一个函数 cofiCostFunc 也是一个接受一堆参数的函数 问题是 t 对 cof

随机推荐