Do you ever need to derive system transfer functions of analog circuits or filters? Once you get beyond a few components, the algebra can become quite tedious. Why not use the symbolic toolbox to handle this for you?
Let's assume that you have a netlist of resistors, capacitors, inductors and even opamps.
The netlist might look like this:
====================
# example op amp circuit
#
r1 vi e1
r2 e1 e2
c2 e2 vo
opamp1 0 e1 vo
c3 e1 vo
====================
Note that there are no component values; only the topology is presented. The netlist file needs to have a 'vi' and 'vo' node.
This pair of .m files will read in the file, and provide the transfer function in analytic form, allowing you to substitute real component values and even run your own sensitivity analyses. I find this helpful in looking at what resistors or capacitors combination affects which poles and zeros.
The output might look like this:
The solutions are:
e1 = 0
e2 = -(c2*r2)/(r1*(c2 + c3 + c2*c3*r2*s))
vi = 1
vo = -(c2*r2*s + 1)/(r1*s*(c2 + c3 + c2*c3*r2*s))
Or if you want to make it look nice, you can run:
>> pretty(xsoln(end))
c2 r2 s + 1
- ---------------------------
r1 s (c2 + c3 + c2 c3 r2 s)
Enjoy!
Raj
인용 양식
Raj Sodhi (2024). Analytic Circuit Solver (https://www.mathworks.com/matlabcentral/fileexchange/42129-analytic-circuit-solver), MATLAB Central File Exchange. 검색됨 .
MATLAB 릴리스 호환 정보
플랫폼 호환성
Windows macOS Linux카테고리
- Signal Processing > Signal Processing Toolbox > Digital and Analog Filters > Analog Filters >
- AI, Data Science, and Statistics > Text Analytics Toolbox >
태그
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!버전 | 게시됨 | 릴리스 정보 | |
---|---|---|---|
1.0.0.0 |