【传输线开路和短路故障】带有集总元件的非对称传输线扩频时域反射测量(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 中创建多行匿名函数 没有合适的例子在文档中 http www mathworks com help matlab matlab prog anonymous functions html
  • 在每次迭代中使用 for 循环的索引命名图像

    我正在使用 MATLAB 进行图像处理项目 我使用 for 循环在每次循环迭代时生成某种图像数据 图像大小不同 我的问题是如何阻止它在下一次迭代中覆盖图像 Img i j data 理想情况下我希望它有 Img 1 data for 1st
  • 将此 MATLAB 代码转换为 Python 时我做错了什么?

    我正在努力将生成波形的 MATLAB 代码转换为 Python 就上下文而言 这是原子力显微镜带激发响应的模拟 与代码错误无关 在 MATLAB 中从 r vec 生成的图形与我在 Python 中生成的图形不同 我是否正确地将 MATLA
  • 在 Matlab 中保存当前运行的脚本

    有没有办法保存Matlab中当前运行的脚本 我有一个脚本 它会自动备份一组脚本 但如果我更改了当前脚本 则保存的版本将过期 也许可以调用一些java Thanks 在 Yair Altman 网站上的某个地方 请参阅我的其他答案中的链接 他
  • 对多个属性使用一种设置方法 MATLAB

    我有几个属性基本上使用相同的属性set method classdef MyClass properties A B end methods function mc MyClass a b Constructor mc A a mc B b
  • 使用 GPU 进行 Matlab 卷积

    我用gpuArray尝试了matlab的卷积函数conv2 convn 例如 convn gpuArray rand 100 100 10 single gpuArray rand 5 single 并将其与 cpu 版本 convn ra
  • 如何让MCR启动时间快

    我将 matlab 程序转换为 net 程序集 即 dll 文件 我制作了一个控制台 C 应用程序 添加了 dll 文件并从 php 调用它 每次调用 exe 时都会调用 MCR 如何使 MCR 在服务器启动时初始化 并且即使在一段时间后调
  • MATLAB中如何画水平线和垂直线?

    我目前正在尝试在 MATLAB 中绘制简单的垂直线和水平线 例如 我想绘制线 y 245 我该怎么做呢 MATLAB 根据您提供的向量逐点进行绘图 因此 要创建一条水平线 您需要改变x同时保持y对于垂直线恒定 反之亦然 xh 0 10 yh
  • 按元素出现的频率对数组元素进行排序

    是否可以在 matlab octave 中使用sort函数根据元素的相对频率对数组进行排序 例如数组 m 4 4 4 10 10 10 4 4 5 应该产生这个数组 5 10 10 10 4 4 4 4 4 5是出现频率较低的元素 位于顶部
  • Matlab Mex文件编译

    我正在尝试编译一个 mex 文件以在 matlab 中使用套接字连接 问题是它总是说我没有安装sdk或编译器 但我已经安装了 Visual Studio 2010 Express Visual Studio 2012 Express Vis
  • Matlab - 如果值包含xxx,则删除元胞数组中的行

    在 Matlab 中 如何删除包含变量字符串的元胞数组中的元胞 假设我的元胞数组是 C svnTrunk RadarLib radarlb utilities scatteredInterpolant m C svnTrunk RadarL
  • 如何使用matlab生成不同频率的正弦波?

    对于我的项目 我需要使用 matlab 生成一个正弦波 它有 100 000 个样本 并且频率在每 10 000 个样本后随机变化 采样率和频率可以根据方便而定 matlab中有没有函数可以生成这个 好的另一个例子 生成 5 个随机频率 r
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • 如何在 Matlab 中使用谷歌翻译?

    我正在编写一个程序 使用 Matlab 列出电影字幕文件中的所有唯一单词 现在我有一个独特的单词列表 我想将其翻译成我的语言并在观看电影之前了解其含义 有谁知道如何在 Matlab 中使用 Google Translate 以便完成我的脚本
  • 如何找到在matlab中重复的矩阵的每一行的索引?

    我想找到矩阵中所有有重复项的行的索引 例如 A 1 2 3 4 1 2 3 4 2 3 4 5 1 2 3 4 6 5 4 3 要返回的向量将是 1 2 4 很多类似的问题建议使用unique函数 我已经尝试过 但我能得到的最接近我想要的功
  • 如何在没有安装Visual Studio的另一台机器上使用Visual Studio生成的dll?

    我已经在 Visual Studio 2012 中生成了动态库 我想在另一台机器上使用该库 但我不想在远程机器上安装 Visual Studio 我有 mex 库和 dll 我想运行一个使用这两个库的脚本 当我运行脚本时 出现以下错误 缺少
  • MATLAB 特征函数

    我很好奇哪里可以找到完整的描述FEATURE功能 它接受哪些论点 没有找到文档 我只听说过memstats and getpid 还要别的吗 gt gt which feature built in undocumented 注意 更完整的
  • 括号中的波形符字符

    在 MATLAB 中 以下代码执行什么操作 m func returning matrix 波浪号运算符 的作用是什么 在 Matlab 中 这意味着不要将函数中相应的输出参数分配到赋值的右侧 因此 如果func returning mat
  • 检测植物图片中的所有分支

    我想知道有什么可以检测下图中的所有绿色树枝 目前我开始应用 Frangi 过滤器 options struct FrangiScaleRange 5 5 FrangiScaleRatio 1 FrangiBetaOne 1 FrangiBe
  • 如何找到平面和 3d 矩阵之间的交平面

    如果我有一堆图像并且尺寸如下 size M 256 256 124 我有 3 个点 它们的坐标是 coor a 100 100 124 coor b 256 156 0 coor c 156 256 0 如何创建 M 与这 3 个点定义的平

随机推荐