Tôi sử dụng MATLAB khá nhiều để phân tích mạch. Đôi khi tôi thích nó làm gia vị, những lần khác tôi thích gia vị hơn, tùy thuộc vào tâm trạng và yêu cầu của tôi.
Đây là các bước sau:
- 1: lấy biến đổi Laplace của mạch
- 2: có được chức năng chuyển
- 3: vẽ đồ thị / phân tích bằng các hàm MATLAB. bode, xung, freqresp và như vậy.
Phần khó nhất tôi tìm thấy là lấy biến đổi Laplace và rút ra phương trình hàm truyền của bạn.
Có rất nhiều ví dụ và sách giáo khoa về việc lấy Laplace trên Internet. Tóm lại mục đích ở đây là để có được phương trình ở dạng
H(s)=as2+bs+cds2+es+f
trong đó đến c là tử số và d đến f mẫu số trong ví dụ trình bày dưới đây.acdf
Để làm điều này chuyển đổi tất cả các yếu tố bạn thụ động thành trở kháng phức tạp. Đó là
Tiếp theo rút ra một phương trình cho mạch của bạn dưới dạng Vout / Vin.
Đối với bộ lọc thông thấp đơn giản ở dạng:
Vin -------R-------------- Vout
|
C
|
------------------------------
điều này sẽ mang lại:
VoutVin=sCR+sC
Viết phương trình trên dưới dạng num và den cho MATLAB:
num = [C 0];
den = [C R];
Sau đó tiếp tục sử dụng bất kỳ hàm MATLAB nào bạn muốn để phân tích hàm truyền (bode), sơ đồ cực 0, v.v.
Dưới đây là một ví dụ về bộ lọc tôi mới chơi và cố gắng điều chỉnh các giá trị:
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