การวิเคราะห์วงจรโดยใช้ Matlab ทำอย่างไร?


14

ฉันมักจะได้ยินคนที่ใช้ Matlab สำหรับการวิเคราะห์วงจร แต่ฉันไม่เคยคิดจริง ๆ ว่ามันจะทำอย่างไร ฉันคิดว่ามันมีอะไรมากกว่านั้นแค่ตั้งค่าสมการด้วยมือแล้วแก้มันใน Matlab

ฉันกำลังมองหาจุดเริ่มต้นที่ดี


คุณกำลังถามเกี่ยวกับการใช้ Matlab เป็น "การแทนที่ SPICE" เพื่อจำลองส่วนประกอบ RLC ที่ไม่ต่อเนื่องหรือมากกว่านั้นในการจำลองระบบหรือไม่?
W5VO

@ W5VO ทั้งคู่ แต่เน้นไปที่ SPICE มากกว่า ฉันรู้ว่าการจำลองระบบสามารถทำได้ด้วย Simulink และไม่ยากเกินไป
AndrejaKo

5
การแก้วงจรเป็นการแก้สมการอนุพันธ์ไม่เชิงเส้นดังนั้นจึงเป็นไปได้ใน Matlab OTOH ฉันเนื่องจาก SPICE ไม่มีอะไรมากไปกว่าตัวแก้สมการเชิงอนุพันธ์แบบไม่เชิงเส้นดังนั้นฉันจะใช้ Matlab เฉพาะเมื่อฉันมีปัญหาที่แปลกหรือพิเศษจริงๆ
jpc

คำตอบ:


6

คุณสามารถใช้กล่องเครื่องมือMatlab Simulink Simpowersystemเพื่อทำการวิเคราะห์วงจร มันมีส่วนประกอบ RLC, สวิทช์, เครื่องใช้ไฟฟ้า ฯลฯ คุณสามารถสร้างส่วนประกอบของคุณเองและแก้ไขพารามิเตอร์ใด ๆ ของส่วนประกอบห้องสมุด ในขณะที่คุณสามารถรวมวงจรของคุณเข้ากับ Simulink blocs ใด ๆ Simulink solver หรือฟังก์ชัน Matlab ใด ๆ เครื่องมือนี้มีประสิทธิภาพมาก ไม่จำเป็นต้องแก้สมการวงจรก่อนเพราะคุณทำงานในสภาพแวดล้อม Simulink เดิมทีมันใช้สำหรับระบบไฟฟ้า แต่ฉันคิดว่าคุณสามารถใช้กับวงจรอิเล็กทรอนิกส์ใด ๆ


3
คำตอบของเราอาจจะมาช้า แต่ก็มีSimElectronicsที่เฉพาะเจาะจงมากขึ้นที่ Simpowersystem (แต่แบ่งปันกับปัญหาของใบอนุญาตกล่องเครื่องมือที่มีราคาแพง)
Clement J.

สิ่งที่ฉันพบ Simulink แม้จะมีกล่องเครื่องมือเพิ่มค่อนข้างยุ่งยาก เพียงแค่ดูสิ่งที่จะได้รับวงจร RLC จำลอง มีความซับซ้อนมากกว่าใน SPICE IMO ที่คุ้มค่าในกรณีที่เฉพาะเจาะจงมากซึ่งคุณมีบล็อกโค้ดพฤติกรรมที่เกี่ยวข้องกับคอนโทรลเลอร์ซึ่งไม่สามารถทำได้ใน SPICE ด้วยวิธีการที่สมเหตุสมผล
Fizz

นอกจากนี้ในการรับฟังก์ชั่นการถ่ายโอนสัญลักษณ์ qsapecng นั้นฟรีและคุณเพียงแค่วาดวงจรและคลิกปุ่มเดียวก็เสร็จแล้ว
Fizz

14

ฉันใช้ MATLAB ในการวิเคราะห์วงจรค่อนข้างน้อย บางครั้งฉันชอบที่จะใช้เครื่องเทศบางครั้งฉันชอบเครื่องเทศขึ้นอยู่กับอารมณ์และความต้องการของฉัน

เหล่านี้เป็นขั้นตอนต่อไปนี้:

  • 1: ใช้การแปลง Laplace ของวงจร
  • 2: รับฟังก์ชั่นการถ่ายโอน
  • 3: พล็อต / วิเคราะห์โดยใช้ฟังก์ชั่น MATLAB ลางบอกเหตุแรงกระตุ้น freqresp และอื่น ๆ

ส่วนที่ยากที่สุดที่ฉันพบคือการแปลง Laplace และหาสมการฟังก์ชันการถ่ายโอนของคุณ

มีตัวอย่างมากมายและหนังสือเกี่ยวกับการใช้ Laplace บนอินเทอร์เน็ต สั้น ๆ จุดมุ่งหมายที่นี่คือการได้รับสมการในรูปแบบของ

H(s)=as2+s+ds2+อีs+

ad

ในการทำเช่นนี้จะแปลงองค์ประกอบทั้งหมดที่คุณแฝงเป็นอิมพีแดนซ์ที่ซับซ้อน นั่นคือ

  • C = 1 / sC
  • R = R
  • L = sL

จากนั้นหาสมการสำหรับวงจรของคุณในรูปแบบของ Vout / Vin

สำหรับตัวกรองความถี่ต่ำอย่างง่ายในรูปแบบของ:

Vin -------R-------------- Vout
               |
               C
               |
------------------------------

สิ่งนี้จะทำให้:

Vโอยูเสื้อVผมn=sR+s

เขียนสมการข้างต้นในรูปของ num และ den สำหรับ MATLAB:

num = [C 0];
den = [C R];

จากนั้นติดตามการใช้งานฟังก์ชั่น matlab ที่คุณต้องการวิเคราะห์ฟังก์ชั่นการถ่ายโอน (ลาง), แผนภาพศูนย์ขั้วและอื่น ๆ

ด้านล่างนี้เป็นตัวอย่างของตัวกรองที่ฉันเพิ่งเล่นด้วยและพยายามปรับค่า:

R1 = 20e3;
C1 = 235e-9;
R2 = 2e3;
C2 = 22e-9;
num = [2*R2*C1 0];
den = [C1*R1*C2*R2*2 (2*C1*R1 + C2*2*R2) 2];
g = tf(num,den);
P = bodeoptions; % Set phase visiblity to off and frequency units to Hz in options
P.FreqUnits = 'Hz'; % Create plot with the options specified by P
bode(g,P);
%[num,den] = eqtflength(num,den);      % Make lengths equal
%[z,p,k] = tf2zp(num,den)          % Obtain zero-pole-gain form

โอกาสของตัวอย่างพร้อมคำอธิบายที่ดีของแต่ละขั้นตอนหรือไม่
AndrejaKo

แน่นอน - ฉันจะลองและให้รายละเอียดตัวอย่างสำหรับคุณในช่วงสุดสัปดาห์!
smashtastic

สิ่งนี้ถูกต้องอย่างสมบูรณ์ แต่ไร้จุดหมายโดยสิ้นเชิง อย่าตัดสินฉันฉันชอบ Laplace และ Z แปลง ... :) .... เพียงลองใช้วิธีนี้ในการจำลองทรานซิสเตอร์และแอมป์แอมป์สหกรณ์ ... :)
Brethlosze

ฉันคิดว่าคุณทำผิดพลาดเมื่อเขียนฟังก์ชั่นการถ่ายโอนสำหรับตัวกรองสัญญาณความถี่ต่ำ ฉันคิดว่าคุณหมายถึง Vout / Vin = (1 / sC) / (R + (1 / sC))
Scott Lawson

6

ฉันใช้scipy (ชุดเครื่องมือตัวเลขสำหรับหลาม) เพื่อทำการวิเคราะห์วงจร และใช่ว่าโดยทั่วไปเกี่ยวข้องกับการแก้สมการวงจรด้วยมือก่อน สิ่งนี้มีประโยชน์ส่วนใหญ่เมื่อทำการวิเคราะห์การยอมรับและการวิเคราะห์ความไวในวงจร

มีหนังสือเกี่ยวกับหัวข้อ"การวิเคราะห์ความคลาดเคลื่อนของวงจรอิเล็กทรอนิกส์ที่ใช้ MATLAB"ซึ่งให้ตัวอย่างบางส่วนของวิธีการดำเนินการวิเคราะห์ทั่วไปในวงจรทั่วไปบางอย่าง มันไม่ใช่สิ่งทดแทนสำหรับ SPICE จริง ๆ แต่มีประโยชน์เมื่อพยายามออกแบบเพื่อให้ได้ผลผลิตที่ดีในทุกองค์ประกอบที่รับความคลาดเคลื่อนหรือเพื่อพิจารณาองค์ประกอบขององค์ประกอบในช่วงเวลาและอุณหภูมิ


3
SciPy นั้นฟรีไม่เหมือน Matlab และทำสิ่งเดียวกันมากมาย scipy.org/NumPy_for_Matlab_ ผู้ใช้ ฉันคิดว่ามันยอดเยี่ยมมากฉันเอง
endolith

เครื่องเทศบางชนิดมีการจำลอง Monte Carlo และการวิเคราะห์ความไวด้วย โดยเฉพาะ SIMetrix นั้นเป็นรุ่นแรกที่ให้บริการฟรีแม้ในรุ่นสาธิต / อินโทรที่ยังไม่หมดอายุ แต่ฟังก์ชั่นหลังนั้นไม่ฟรี ทั้ง Intersil (iSim: PE) และ Analog Devices (ADIsimPE) ตอนนี้ส่ง SIMetrix เป็น SPICE บริษัท ของพวกเขา
Fizz

นอกจากนี้ที่หน้าปกตำราสะกดผิด MATLAB เป็น MAT H LAB ... รักสนุกและไม่สร้างแรงบันดาลใจความมั่นใจมาก
Fizz

1

สำหรับวงจร RLC อย่างง่ายพร้อมโทโพโลยีใด ๆ (อนุกรมและขนาน) เราสามารถใช้ "rlcdemo" เป็น gui ที่ดีสำหรับตัวกรองการวิเคราะห์ (LPF-HPF-BPF-BSF)

 rlcdemo
 Analyzing the Response of an RLC Circuit
 This demo shows how to use the Control System Toolbox(TM) functions
 to analyze the time and frequency responses of common RLC circuits
 as a function of their physical parameters.

0

คุณสามารถใช้โปรแกรมที่สร้างขึ้นใน Matlab ที่เรียกว่า SCAM (การวิเคราะห์วงจรสัญลักษณ์ใน Matlab) และอยู่ที่นี่: https://www.swarthmore.edu/NatSci/echeeve1/Ref/mna/MNA6.html


ทำไม? เพียงแค่ใช้ SimScape + SimElectronics เท่าที่จะสามารถใช้แบบจำลอง SPICE ...
JonRB

SimElectronics ไม่ได้ให้สมการเชิงวิเคราะห์ซึ่งบางครั้งก็มีประโยชน์มาก
JLo

0

นอกจาก SCAM ใน Matlab แล้วยังมีเครื่องมือวิเคราะห์วงจรสัญลักษณ์แบบออนไลน์ที่CircuitNAVซึ่งใช้ไฟล์ netlist (จาก LTspice, Micro-Cap, TINA-TI, PSpice และอื่น ๆ ) เป็นอินพุตและสร้างโซลูชันพีชคณิตสำหรับพารามิเตอร์แต่ละวงจร .

CircuitNAV นอกจากนี้ยังมีการสาธิตและการกวดวิชา


-1

หนังสือ pdf ของตัวอย่าง Spice และ Matlab, http://www.elsevierdirect.com/companions/9780750659321/exercises/SpiceAndMatlab.pdfหนังสือคู่มือแนะนำการวิเคราะห์เชิงเส้นและการสร้างแบบจำลองโดย Moura & Darwazeh ดูดีมากสำหรับฉัน วัตถุประสงค์


1
ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.