【发布时间】:2017-06-11 02:28:02
【问题描述】:
我需要在我的 RLC 中测量准入。有什么聪明的方法吗?我知道有专门的阻抗测量模块,我可以用吗?
【问题讨论】:
-
"我可以使用它吗?"不知道,你试过吗?
-
不,我不知道,因为我不知道该怎么做。这就是我问这个问题的原因:)
标签: matlab simulation simulink
我需要在我的 RLC 中测量准入。有什么聪明的方法吗?我知道有专门的阻抗测量模块,我可以用吗?
【问题讨论】:
标签: matlab simulation simulink
首先,我想重申 Ander Biguri 的建议 在他的评论中。在 Stack Overflow 上发帖之前,您应该尝试 用你自己的方式解决问题(使用documentation),如果你没有成功,然后发布一个 提供更多细节的问题。这样更多的用户将能够 帮助你,你会得到更好的答案。
这是一种不使用阻抗测量模块的方法:
首先,我使用 Simscape 电力系统专业技术基础模块 库 (powerlib) 中的以下模块创建了 RLC 电路的 simulink 模型:
除了交流电压源模块和串联 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?
【讨论】: