Bagaimana cara melakukan analisis rangkaian menggunakan Matlab?

14

Saya sering mendengar orang menggunakan Matlab untuk analisis rangkaian, tetapi saya tidak pernah benar-benar menemukan cara melakukannya. Saya berasumsi bahwa ada sesuatu yang lebih dari sekadar menyiapkan persamaan dengan tangan dan menyelesaikannya di Matlab.

Saya mencari titik awal yang baik.

AndrejaKo
sumber
Apakah Anda bertanya tentang penggunaan Matlab sebagai "penggantian SPICE" untuk mensimulasikan komponen RLC diskrit, atau lebih sesuai dengan simulasi sistem?
W5VO
@ W5VO Keduanya, tetapi dengan lebih fokus pada SPICE. Saya tahu bahwa simulasi sistem dapat dilakukan dengan Simulink dan tidak terlalu sulit.
AndrejaKo
5
Memecahkan sirkuit hanya menyelesaikan persamaan diferensial nonlinier sehingga dimungkinkan di Matlab. OTOH I sejak SPICE benar-benar tidak lebih dari pemecah persamaan diferensial nonlinear maka saya akan menggunakan Matlab hanya jika saya memiliki masalah yang benar-benar aneh atau khusus.
jpc

Jawaban:

6

Anda dapat menggunakan kotak alat Matlab Simulink Simpowersystem untuk membuat analisis rangkaian. Ini termasuk komponen RLC, sakelar, mesin listrik, dll. Anda dapat membuat komponen Anda sendiri dan memodifikasi parameter apa pun dari komponen perpustakaan. Karena Anda dapat menggabungkan sirkuit Anda dengan blok Simulink, pemecah Simulink atau fungsi Matlab apa pun, alat ini sangat kuat. Tidak perlu menyelesaikan persamaan sirkuit terlebih dahulu karena Anda bekerja di lingkungan Simulink. Awalnya berorientasi pada sistem tenaga tetapi saya pikir Anda dapat menggunakannya untuk sirkuit elektronik apa pun.

ths1104
sumber
3
Jawaban kami mungkin datang agak terlambat tetapi ada juga SimElectronics yang lebih spesifik daripada Simpowersystem (tetapi berbagi dengan masalah lisensi kotak peralatan yang mahal)
Clement J.
Masalahnya adalah saya menemukan Simulink bahkan dengan semua kotak peralatan ditambahkan agak rumit. Lihat saja apa yang diperlukan untuk mendapatkan rangkaian RLC yang disimulasikan . Jauh lebih rumit daripada di SPICE. Hanya IMO yang bermanfaat dalam kasus yang sangat spesifik di mana Anda memiliki blok kode perilaku terkait-pengontrol yang tidak dapat dilakukan dalam SPICE dengan cara apa pun yang wajar.
Fizz
Juga, hanya mendapatkan fungsi transfer simbolis qsapecng gratis dan Anda hanya menggambar sirkuit dan klik satu tombol dan selesai.
Fizz
14

Saya menggunakan MATLAB sedikit untuk analisis rangkaian. Kadang-kadang saya lebih suka bumbu, kadang-kadang saya lebih suka bumbu, tergantung pada suasana hati dan persyaratan saya.

Ini adalah langkah-langkah berikut:

  • 1: ambil Transformasi Laplace dari sirkuit
  • 2: dapatkan fungsi transfer
  • 3: plot / analisis menggunakan fungsi MATLAB. pertanda, impuls, freqresp dan sebagainya.

Bagian tersulit yang saya temukan adalah mengambil Transformasi Laplace dan menurunkan persamaan fungsi transfer Anda.

Ada banyak contoh dan buku teks tentang cara mengambil Laplace di Internet. Secara singkat tujuannya di sini adalah untuk mendapatkan persamaan dalam bentuk

H(s)=Sebuahs2+bs+cds2+es+f

Sebuahcdf

Untuk melakukan ini, ubah semua elemen pasif Anda menjadi impedansi kompleks. Itu

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

Selanjutnya turunkan persamaan untuk sirkuit Anda dalam bentuk Vout / Vin.

Untuk filter low pass sederhana dalam bentuk:

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

ini akan menghasilkan:

VoutVin=sCR+sC

Tulis persamaan di atas dalam bentuk num and den untuk MATLAB:

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

Kemudian ikuti menggunakan fungsi matlab yang Anda inginkan untuk menganalisis fungsi transfer (bode), diagram titik nol dan sebagainya.

Di bawah ini adalah contoh dari filter yang baru-baru ini saya mainkan dan mencoba menyetel nilainya:

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
smashtastic
sumber
Adakah peluang sebuah contoh dengan penjelasan yang bagus untuk setiap langkah?
AndrejaKo
tentu saja - saya akan mencoba dan memberikan contoh untuk Anda selama akhir pekan!
smashtastic
Ini benar sekali, tetapi sama sekali tidak ada gunanya. Jangan menilai saya, saya suka Transformasi Laplace dan Z ...:) .... Coba gunakan pendekatan ini untuk mensimulasikan transistor dan op-amp amplifier ... :)
Brethlosze
Saya pikir Anda membuat kesalahan ketika menulis fungsi transfer untuk filter low pass. Saya pikir maksud Anda Vout / Vin = (1 / sC) / (R + (1 / sC))
Scott Lawson
6

Saya beberapa kali menggunakan scipy (toolset numerik untuk python) untuk melakukan analisis rangkaian. Dan ya, itu biasanya melibatkan penyelesaian persamaan rangkaian dengan tangan terlebih dahulu. Ini sangat membantu ketika melakukan analisis toleransi dan analisis sensitivitas pada rangkaian.

Ada sebuah buku tentang subjek "Analisis Toleransi Sirkuit Elektronik Menggunakan MATLAB" yang memberikan beberapa contoh bagaimana melakukan analisis khas pada beberapa sirkuit umum. Ini bukan benar-benar pengganti untuk sesuatu seperti SPICE, tetapi berguna ketika mencoba merancang untuk hasil produksi yang baik atas semua toleransi komponen, atau untuk memperhitungkan penyimpangan komponen dari waktu ke waktu dan suhu.

Clint Lawrence
sumber
3
SciPy gratis, tidak seperti Matlab, dan melakukan banyak hal yang sama. scipy.org/NumPy_for_Matlab_Users Saya pikir ini cukup bagus.
endolith
Beberapa SPICE memiliki simulasi Monte Carlo dan analisis sensitivitas ditambahkan juga. SIMetrix khususnya memiliki yang pertama secara gratis bahkan dalam versi demo / intro yang tidak kedaluwarsa, tetapi fungsi yang terakhir tidak gratis. Baik Intersil (iSim: PE) dan Analog Devices (ADIsimPE) sekarang mengirimkan SIMetrix sebagai SPICE perusahaan mereka, tetapi pada dasarnya ini adalah versi intro dengan pustaka chip tambahan mereka.
Fizz
Juga bahwa sampul buku pelajaran salah mengeja MATLAB sebagai MAT H LAB ... cukup lucu dan tidak menginspirasi banyak kepercayaan diri.
Fizz
1

untuk rangkaian RLC sederhana dengan topologi apa pun (seri dan paralel) kita dapat menggunakan "rlcdemo". Ini adalah gui yang bagus untuk filter analisis (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.
Amir Alizadeh
sumber
0

Anda dapat menggunakan program yang dibuat di Matlab yang disebut SCAM (analisis rangkaian simbolik di Matlab), dan ada di sini: https://www.swarthmore.edu/NatSci/echeeve1/Ref/mna/MNA6.html

ARTURO CORONA NIEVA
sumber
Mengapa? cukup gunakan SimScape + SimElectronics karena dapat menggunakan model SPICE ...
JonRB
SimElectronics tidak memberikan Anda persamaan analitik yang kadang-kadang sangat berguna
JLo
0

Selain SCAM di Matlab, ada juga alat analisis sirkuit simbolik online yang apik di CircuitNAV , yang menggunakan file netlist (dari LTspice, Micro-Cap, TINA-TI, PSpice, dll) sebagai input dan menghasilkan solusi aljabar untuk setiap parameter sirkuit .

CircuitNAV juga menyediakan demo dan tutorial .

XJ
sumber