2017-01-25 6 views
0

Ich muss die Zulassung in meinem RLC messen. Gibt es dafür einen cleveren Weg? Ich weiß, dass es einen speziellen Block zur Impedanzmessung gibt, kann ich das nutzen?Wie misst man die Admittanz in Simulink Matlab?

+0

„kann ich davon Gebrauch machen? " Ich weiß es nicht, hast du es probiert? –

+0

Nein, ich weiß nicht, wie. Deshalb habe ich die Frage gestellt :) – soommy12

Antwort

3

Zunächst möchte ich nochmals bestätigen, was Ander Biguri in seinem Kommentar vorgeschlagen hat. Bevor Sie auf Stack Overflow schreiben, sollten Sie versuchen, arbeiten Dinge auf eigene Faust (verwenden Sie die documentation), und wenn Sie nicht erfolgreich sind, dann veröffentlichen Sie eine Frage mit mehr Details. Auf diese Weise können mehr Benutzer Ihnen helfen und Sie werden bessere Antworten erhalten.

Dieser Ansatz ist die Impedanzmeßblock ohne Verwendung:

Zuerst habe ich eine simulink Modell einer RLC-Schaltung mit den folgenden Blöcke von den Simscape Power Systems Specialized Technology Grundbausteine ​​ Library (powerlib) :

  • Wechselspannungsquelle
  • Strommessung
  • Series RLC Niederlassung
  • PowerGUI

Abgesehen von der Wechselspannungsquelle Block und der Serie RLC Zweigblock, der Strommessblock und der PowerGUI Block ist notwendig für das Modell zu arbeiten.

Simulink model rlc circuit

Da Sie keine besonderen Werte für die Schaltungskomponenten geliefert hat, verwende ich die Standardwerte.

Dann nannte ich das Modell als my_rlc und speicherte es in meinem Arbeitsverzeichnis.

Schließlich habe ich erstellt das folgende Skript (inspiriert von this example), die Nutzung der power_analyze Funktion macht die state-space model der Schaltung (my_rlc), von dem die Zulassung erhalten werden kann zu erhalten. Da das Verhalten einer RLC-Schaltung in Abhängigkeit von der Frequenz variiert, nutzte ich die bode-Funktion, um die Größe und Phase der Admittanz für den Frequenzbereich von 10 Hz bis 10 kHz zu erhalten.

% 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; 

Dies ist das Ergebnis:

RLC circuit: Admittance Magnitude and Phase

Wenn Sie mehr über die Arbeit mit Zustandsraummodelle in MATLAB wissen wollen, ich Sie ermutigen, zu lesen: What Are State-Space Models?

+0

Ja, ich weiß, dass ich die Dinge zuerst selbst machen soll. Mein Name und ich haben nicht meine Versuche auf den Punkt gebracht. Ihre Lösung ist genau das, was ich brauchte, aber ich kam IP nicht für die Idee, es ohne einen Impedanzblock zu machen. Vielen Dank! – soommy12