【问题标题】:How to measure admittance in Simulink Matlab?如何在 Simulink Matlab 中测量导纳?
【发布时间】:2017-06-11 02:28:02
【问题描述】:

我需要在我的 RLC 中测量准入。有什么聪明的方法吗?我知道有专门的阻抗测量模块,我可以用吗?

【问题讨论】:

  • "我可以使用它吗?"不知道,你试过吗?
  • 不,我不知道,因为我不知道该怎么做。这就是我问这个问题的原因:)

标签: matlab simulation simulink


【解决方案1】:

首先,我想重申 Ander Biguri 的建议 在他的评论中。在 Stack Overflow 上发帖之前,您应该尝试 用你自己的方式解决问题(使用documentation),如果你没有成功,然后发布一个 提供更多细节的问题。这样更多的用户将能够 帮助你,你会得到更好的答案。

这是一种不使用阻抗测量模块的方法:

首先,我使用 Simscape 电力系统专业技术基础模块 库 (powerlib) 中的以下模块创建了 RLC 电路的 simulink 模型:

  • 交流电压源
  • 电流测量
  • 系列 RLC 分支
  • Powergui

除了交流电压源模块和串联 RLC 分支模块外,电流测量模块和 Powergui 模块是模型工作所必需的。

由于您没有为电路组件提供任何特定值,因此我使用默认值。

然后我将模型命名为my_rlc 并将其保存在我的工作目录中。

最后,我创建了以下脚本(灵感来自this example),它利用power_analyze 函数来获取电路(my_rlc)的state-space model,从中可以获得导纳。由于 RLC 电路的行为因频率而异,因此我使用 bode 函数来获取 10 Hz 至 10 kHz 频率值范围内的导纳幅度和相位。

% Analyze electric circuit.
% Obtain the matrices (A,B,C,D) of the state-space model of the circuit.
[A, B, C, D] = power_analyze('my_rlc');

% Generate logarithmically spaced vector of frequency values.
% 500 points between decades 10^1 and 10^4.
freq = logspace(1, 4, 500);

% Vector of angular frequency values.
w = 2*pi*freq;

% Magnitude and phase of frequency response.
% Ymag: Admittance magnitude.
% Yphase: Admittance phase.
[Ymag, Yphase] = bode(A, B, C, D, 1, w);

% Plot Admittance magnitude.
subplot(2, 1, 1);
loglog(freq, Ymag);
grid on;
title('RLC Circuit');
xlabel('Frequency [Hz]');
ylabel('Admittance [S]');

% Plot Admittance phase.
subplot(2, 1, 2);
semilogx(freq, Yphase);
xlabel('Frequency [Hz]');
ylabel('Phase [deg]');
grid on;

这是结果:

如果您想了解更多关于在MATLAB 中使用状态空间模型的信息,我鼓励您阅读:What Are State-Space Models?

【讨论】:

  • 是的,我知道我应该先自己做事。我的 nad 我没有发布我的尝试来达到这一点。您的解决方案正是我所需要的,但我并不是想在没有阻抗块的情况下做到这一点。非常感谢!
猜你喜欢
  • 2019-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-28
相关资源
最近更新 更多