Exploring Electronics: Understanding Circuit Design and Its Limitations

  • Thread starter dijkarte
  • Start date
  • Tags
    Electronics
In summary: These programs are designed by people who know the basics and use algorithms that they know of to approach the solution. It is not a rigid procedure like a computer algorithm because there are so many variables and limitations in real world circuits. Additionally, there is a lot of trial and error involved in circuit design, as it is not always a straightforward process. In summary, circuit design involves a combination of basic principles and practical design approaches, with the use of simulation programs and iterations to approach solutions. It is not as rigid as algorithm design in computer science, but there are systematic methods and tools used
  • #1
dijkarte
191
0
I'm new to electronics and still exploring stuff and learning basics. Coming from a computer science background, I was wondering if electronic circuit design can be treated in an abstract manner like we do with algorithm design. For instance, do we have the same flexibility like in designing an algorithm to solve a problem? I noticed that there are a few types of amplifiers that are treated as black boxes and do certain jobs. This means that somehow circuit design involves integrating different pre-built/designed components to create a more complex system.
But I noticed also there's some kind of limitation in using and analyzing circuits and it could be me not understanding the subject very well.
For example, I have not come across a subject that discusses how to generate a waveform of a desired shape that's not one of the standard waves, sinusoidal, square, sawtooth, square, ...etc. There could be some circuits that generate a specific shape but there's no explanation on how to approach designing a circuit that does so. Another example is how to predict the behavior of a specific circuit. I'm trying to correspond things in both fields, CS and EE, but I find in CS it's more flexible the way we do things in algorithms.
Reading some microelectronics books, they describe only predefined sets of very basic building blocks, BJT, FET, OpAmp and some of their applications. There's no in depth rigorous explanation on how to interconnect various elements to create a more complex devices. Am I missing a good textbook? Or it's just different than designing an algorithm and programming?

Help appreciated.
 
Engineering news on Phys.org
  • #2
I don't know if its appropriate to try to hold circuit design to a rigid algorithm procedure, but algorithms are definitely a tool used during the process. It is difficult to describe circuits with nonlinear components with just math equations, and so algorithms and iterations can help approach solutions. If you have had a chance to use any pspice programs you can see how algorithms play a part in simulation (not design algorithm). And like you said, you can abstract systems with black box / mathematical functions and design top down that way (and sometimes back up and down a second try). I'm not that experienced, but I have noticed a lot of design is about making different relationships approach the ideal, without sacrificing other relationships, and so you iteratively balance the parameters til you approach the best practical values with the compromised solution.

If you are looking for a good book with more examples of creating complex devices without necessarily a rigid computer science algorithm approach, I have been reading a good one called Communication Circuits: Analysis and Design by clarke and hess. Its a little outdated, but it shows how all the basic blocks are used to make all kinds of circuits with all kinds of waveforms. Don't let the title word communication mislead you about the information inside. Another one I like is Analysis and Design of Analog Integrated Circuits by gray,hurst,lewis,and meyer. I had the same impression from intro microelectronics books that they don't really give practical design approaches or examples, but these books that I mentioned are a level slightly beyond those and have lots of practical examples.

I'm sure a lot of people here are seasoned designers, and they can give you advice, but I would suggest not trying to fit the design process to your CS background so rigidly.
 
Last edited:
  • #3
Thanks a lot.

So as I understand there are no systematic design methods; however, simulation algorithms are very possible and established, like they do in PSPICE and EWBA/D.

I will give an idea what I was thinking. If I want to generate a periodic signal given by f(t), I would break it into elementary components using Fourier transform, and then for each component I would use a predefined circuitry, then using another circuit to smooth the curve of the generated signal. And for filter design, one that only passes a signal f(t), I could use the same circuit used to generate it but somehow inverting it "mathematically."

However it does not seem that straightforward. I even looked at some open university courses and lectures, and I could tell, nothing more than what the books teach, very basic and elementary principles.
 
  • #4
I would think you need to learn the basics first to be able to design circuits...in my opinion.

Basics such as:
V=IR
P=IV
KVL (kirchoffs voltage law)
KCL (kirchoffs current law)
Voltage division
Current division
Reactance of capacitor and inductor
Phase shifting, bode plots, transfer functions, etc...

Without this stuff you will always be handcuffed I would think.
 
  • #5
dijkarte said:
Thanks a lot.

I will give an idea what I was thinking. If I want to generate a periodic signal given by f(t), I would break it into elementary components using Fourier transform, and then for each component I would use a predefined circuitry, then using another circuit to smooth the curve of the generated signal. And for filter design, one that only passes a signal f(t), I could use the same circuit used to generate it but somehow inverting it "mathematically."

However it does not seem that straightforward. I even looked at some open university courses and lectures, and I could tell, nothing more than what the books teach, very basic and elementary principles.

I am a little confused why you have these steps without knowing, myself, what you're actually trying to do. You can invert filters mathematically, in a way, to be a LP instead of a HP, or to be a bandstop instead of a bandpass, but its not clear to me what you mean with your last sentence about filtering with your source generating circuit to recover the signal.
 
  • #6
dijkarte said:
Thanks a lot.

So as I understand there are no systematic design methods;

There are systematic design methods, but it is not so straight forward as a computer algorithm. There are actually programs you can use to design filters, control systems, etc. but you are leaving it up to an algorithm that might not be optimized for what your application is. And this is all after the fact that the clever engineers already figured out the topologies and components you need through other design methods. There are also topologies that you can use, often in "Filter" textbooks that are cookbook solutions, but you won't really learn much from that and won't know why they do what they do.

I would think of designing complex circuit more as using building blocks like legos, or using software libraries and components to create a system rather than an actual algorithm that gets you from start to end without thinking.

Is this what you had in mind maybe?
http://lyle.smu.edu/ee/1382/CH1Slides.ppt

I think step 4 is what you actually want to do, and I don't know if that process itself can be defined so easily as an algorithm.
 
Last edited:
  • #7
I'm just thinking of the electronics science in general, no projects in mind yet. Maybe it's my lack of understanding the basics of circuits and its physics that confuses me about the subject.
 
  • #8
dijkarte said:
I'm just thinking of the electronics science in general, no projects in mind yet. Maybe it's my lack of understanding the basics of circuits and its physics that confuses me about the subject.

I think doing a simple design project is a good way to feel your way through the process. A lot of it is looking at how other circuits work and manipulating those prototypes to do something slightly different or completely new.
 
  • #9
For now I will be focusing on theory. What I'm trying to do is abstracting away all the physical details of circuits. I think the book: "Foundations of Analog and Digital Electronics" takes this approach, which is very interesting.

Lets say two op-amp's are connected together so that the output of one is the input of the other, or maybe in parallel, to figure out the outcome of the circuit do I need to analyze it as a whole? or can I analyze the outcome of each op-amp and then combine the results based on how they are connected?

An algorithm/programming analogy is calling functions in an algorithm. I could either do it both ways, have no subroutines just one function, or break it down into several functions that are made of same code chunks of the main algorithm...
 
  • #10
dijkarte said:
Lets say two op-amp's are connected together so that the output of one is the input of the other, or maybe in parallel, to figure out the outcome of the circuit do I need to analyze it as a whole? or can I analyze the outcome of each op-amp and then combine the results based on how they are connected?

An algorithm/programming analogy is calling functions in an algorithm. I could either do it both ways, have no subroutines just one function, or break it down into several functions that are made of same code chunks of the main algorithm...

THe analogy isn't perfect, because passing data between functions doesn't have anything that corresponds to "input and output impedance". If you calculate a value, if doesn't matter if you use it as input to one function call or 1,000,000. On the other hand if an electronic circuit works fine with sub-circuit A passing "data" (in the form of electrical signals) to sub-circuit B, It probably won't work the same way if you connect 10 copies of B to A, let alone 1,000,000 copies.

Of course it is often a good idea to design sub-circuits to minimize the (unwanted) interactions between them, but you can never completely eliminate them.
 
  • #11
But let's assume the signal is magnified before passing it to another sub-circuit so that it stays the same for all stages. Besides passing a value to 1,000,000 functions definitely affect performance, which is somehow analogous to impedance in this scenario.

So my question is, let alone physical properties which affect both the running of algorithms and signals, can we do the same compose-decompose in terms of functionality?
 
  • #12
seems to me there's a disconnect from basics at play here.

At simplest level programming is arranging instructions -- fetch, test&branch, arithmetic calculate(add subtract),, logical calculate(and or invert rotate), store--- to perform a task. You bundle some of those into neat task specific packages and call them subroutines or procs or microcode or objects or whatever. You have to observe the rules for interconnecting them, keep an eye on re-entrancy, etc. I haven't done any since the days of bit slice processors.
In other words we've progressed from thinking in terms of an alphabet of single instructions to thinking in terms of paragraphs.
Who programs in machine language anymore?

At simplest level, circuit design is arranging circuit elements - resistors capacitors inductors and semiconductor - to perform a task. Nowadays we have integrated circiuts with thousands of parts inside to make task specific packages. You have to observe the rules for interconnecting them , keep an eye on feedback etc.
In other words we've gone from thinking in terms of an alphabet - R,L,C, Hfe, to thinking in terms of functional blocks.
Who builds discrete amplifiers anymore?

I don't see programmers as different from hardware guys, just they use different tools.

In the computer courses i took i did notice a different psychological makeup though.
Programmers are more language oriented. Their conversation sparkles, they work anagrams and crossword puzzles at breaktime, and are reading the current bestseller books.
Hardware guys (myself included) are generally less eloquent, discuss machinery and home workshop projects at breaktime, and are reading technical journals.

So to your question:
For instance, do we have the same flexibility like in designing an algorithm to solve a problem?

Yes.
Let's say you want to extract the square root of a voltage.
There's transconductance amplifier, time division multiplier, VCO rate multiplier, digitize and use a microcomputer, add just right amount of feedback, and lots more i don't know about.

"A workingman sure of his skill goes
leisurely about his job and accomplishes much though he works as if at play. On
the other hand, the workingman new to his trade attacks his work as if he were
saving the world, and he must do so if he is to get anything done at all." eric hoffer

I'm sure you are skilled in your trade.

If you have interest in hardware, learning more about it might make you an even better programmer. Pick something that interests you and have at it...
Here's a thread where a student learned a lot by undertaking a hardware project:
http://www.discovercircuits.com/ubbthreads/ubbthreads.php?ubb=showflat&Number=7744&page=1

just my obsolete thoughts.

old jim
 
  • #14
Last edited by a moderator:
  • #15
dijkarte said:
...So as I understand there are no systematic design methods...

This post is too heavy for me read everything because of my time constraint. so i apologize if my words have already been told.

If you can express anything mathematically, you will be able to design the circuit. for simpler cases, you can describe something using differential equations, series or ant other function. I can guarantee you that all these are very much possible to implement.

in fact, for YOUR PRACTICAL PURPOSE, whatever you can think is damn possible to build either by programming or circuit design.
 
  • #16
If you can express anything mathematically, you will be able to design the circuit.

That's what I wanted to know. But let me reward my questions...

From my very basic understanding so far, it's possible to model an LRC circuit using DEs, but is the opposite true?

I mean they created filters, active components by observation and experiments, in other words, by chance, then they could interpret their behavior using math.

Based on what you said, I want to generate a periodic wave of a certain form, not one of the standard, I draw the shape on paper, then I find a function that represents it, is there a transformation I apply to the function that give me the circuit I want? or are there well defined steps to accomplish this?

Another question, can we do circuit on the fly, so I start with a resistor, then I connect another component to it and I know the behavior, then add another component and the behavior changes, keep doing this incrementally but at each step I know the change of the output through a well defined algorithm?
 
  • #17
dijkarte said:
Yeah that's how I want to do it, learning it from the computer science perspective.

That's great but there is a huge space between logic and physical design.

Remember:

Weinberg's Second Law: If Builders Built Buildings The Way Programmers Write Programs, Then The First Woodpecker That Came Along Would Destroy Civilization.
 
  • #18
dijkarte said:
...it's possible to model an LRC circuit using DEs, but is the opposite true?...

Yes the opposite is true. you can even solve differential equations, express any function using circuits. let me give some examples, the following differential equation can be solved using circuits,
(a*d2y/dx+b*dy/dx)2+d3y/dx=[itex]\sqrt[3]{x}[/itex]

dijkarte said:
...I want to generate a periodic wave of a certain form, not one of the standard...
Periodic waves can be expressed as series Ʃaxn

dijkarte said:
...is there a transformation I apply to the function that give me the circuit I want? or are there well defined steps to accomplish this?...

You have solved mathematical problems many ways. things work similarly here. there is not a single well defined FLOW CHART or STEPS. you can solve using in many possible ways.

dijkarte said:
...Another question, can we do circuit on the fly, so I start with a resistor, then I connect another component to it and I know the behavior, then add another component and the behavior changes, keep doing this incrementally but at each step I know the change of the output through a well defined algorithm?

I am not quite clear what you wish to do making circuits on the fly. but i can say that its possible to change the behavior of a running circuit. you can create classes, events and proceed to your complete solution incrementally. same things may be applied here. but there is a problem. in programming language, you not only care the output but also memory and time issues. you must consider some issues for circuits - power consumption, input output impedance, gain, efficiency and so on.

nsaspook said:
...there is a huge space between logic and physical design...

Yes, that's correct.
 
Last edited:
  • #19
nsaspook said:
Remember:

Weinberg's Second Law: If Builders Built Buildings The Way Programmers Write Programs, Then The First Woodpecker That Came Along Would Destroy Civilization.

I completely disagree on this. Unless the computer science and programming are treated as a a hobbyist self-learned trade, then this statement is simply FALSE.

I have worked with self-taught "programmers" who don't understand the basic stuff, they could produce very nice output (or buildings), but the code simply sucks. They resort to copy-paste, cannot figure it out themselves, no math, no algorithm analysis, and no data structures. This is what makes it for may people looks like two different disciplines, one as logic and the other as physics. I'm a self-learning advocate but do it right.
Both fields can produce bugs that can destroy civilization. Both can have very dangerous bugs, a software failure can cause a disaster, as well as a physical failure, assuming there're no backups...

However I think with software programming, we can type/delete/debug with almost no cost other than time, while in physics it costs besides time, the physical materials. Anyway...

Yes the opposite is true. you can even solve differential equations, express any function using circuits. let me give some examples, the following differential equation can be solved using circuits,
(a*d2y/dx+b*dy/dx)2+d3y/dx=x√3

Could you please give me some resources, or textbooks where I can read about this stuff?
 
  • #20
dijkarte said:
Could you please give me some resources, or textbooks where I can read about this stuff?

there are thousands of books. which one should i suggest? but to be able to say, "yeah, i can build whatever i think" - you must study a lot.
let me say something else, this is my view- some one can learn programming alone and beat other professional programmers. but this is not the case for circuits, physics, chemistry. because to learn programming all you need is a computer. but you need various types of laboratory equipment to learn circuits.

you must study numerous subjects (you know already) like - analog - digital circuit, power electronics, control system, device and others. you will get books on these topics on web.

i think you can start with 'digital logic design' and 'microcontrollers'. try to interface external devices. then go for analog circuits and power electronics. after that you will get your own direction. best wishes... :smile:
 
  • #21
dijkarte said:
From my very basic understanding so far, it's possible to model an LRC circuit using DEs, but is the opposite true?

Yes, the opposite is true. There was a whole field before digital computers were invented called analog computing where the DE behavior of circuits was used to make calculations. There are all kinds of mathematical operations that can be done from "building blocks", but designing computer software to automate this still requires a connection to the physical components.

Have you ever studied VHDL or FPGAs? You can design digital systems with basic I/O blocks that are implemented in hardware automatically, but someone had to still design the hardware system and rules.

All circuit design can be abstracted into blocks and I/O. This is actually done in a lot of different simulating software too. It won't get you all the way to a real design without someone making the decision to configure the parts in the way they end up.

At first I thought you may be trying to teach yourself to design electronics in a computer science algorithmic approach, and I think that is not the best way. If you are trying to write software that can design electronics, then that is a different discussion. I guess a computer could go through all possible permutations of possible connections with a collection of parts, calculate their outputs from desired inputs, and iterate until a desired output is found. Maybe this iteration process could be enhanced with some special rules or learning behavior. Is that what you had in mind?
 
  • #23
there are thousands of books. which one should i suggest?

You are the expert, pick a few that I can study from. Frankly I've been reviewing many books, which are standards in academia, in analog circuit design and none of which could explain this process. All they give is some standard very simple circuits and their equations. But please show me I'm full of... :rofl:

let me say something else, this is my view- some one can learn programming alone and beat other professional programmers. but this is not the case for circuits, physics, chemistry. because to learn programming all you need is a computer. but you need various types of laboratory equipment to learn circuits.

I agree as long as you consider only the programming aspect of computer science. Computer science is not just coding. It has various specialized areas, some of which are open studies and many problems have not been solved so far. CS is the mathematics of abstract computing machines, the science of solving problems, and it's a lot a lot of math.
However programming is one little stage of implementing an algorithm, and yea you just need a computer and a compiler to learn it. Honestly I've encountered self-taught programmers, they are good but not competent at all. They may beat other CS majors whern it comes to productive coding but they simply lose when it comes to the real CS.
BUT is it possible to teach yourself CS or EE and beat others in the field? Absolutely YES.
When I said a self-taught programmer cannot beat an academic CS, it's because the comparison is unfair, programmer vs. computer scientist is wrong. It's like you comparing an electrician/technician with an EE. The distinction is not academic, it's how you study it.
Notice on both ends you need the tools to learn, but first you need to hold a good grab of the theory. One example is Jeri Ellsworth, she is amazing, I bet if any EE professor is capable and knowledgeable like her, unless they work outside of the classroom, they are still teachers. No insult, but reality speaks itself.

Now back to my question about circuits. I still don't buy it that any circuit you want you can just build out from a mathematical model unless you prove me wrong and show me where this topic is explained, and please no research academic dreams (AKA papers), only a real textbook. And yeah the opposite could be possible but DEs will become very ugly and need some sort of computer software to solve ;)

Thanks.
 
  • #24
dijkarte said:
Now back to my question about circuits. I still don't buy it that any circuit you want you can just build out from a mathematical model unless you prove me wrong and show me where this topic is explained, and please no research academic dreams (AKA papers), only a real textbook. And yeah the opposite could be possible but DEs will become very ugly and need some sort of computer software to solve ;)

Thanks.

You can describe a circuit as mathematically accurate as you can describe physical systems, because a circuit is part of the physical world.

In design, you don't normally start with a mathematical model and then build a circuit from scratch with that model in mind. This is done some times, but then everyone else uses the results as a math building block. You find mathematical relationships in circuits and then exploit those relationships to get building blocks. You then assemble these building blocks to match the mathematical model you want the circuit to have.

Here is an interesting example of a circuit behaving as a mathematical model:
http://en.wikipedia.org/wiki/Chua's_circuit
You might want to ask Chua, did he start with the math and then try to find the physical relationships that match that model's components, and then implement it in a circuit? Or did he build that circuit, and then notice it has chaotic behavior incidentally? I think both are plausible since both the circuit and the mathematical model of the circuit exist.And here is a circuit that performs a log function:
http://en.wikipedia.org/wiki/Log_amplifier

It exploits the exponential relationship of current to voltage in a diode. I don't know the history of log amps, but it is plausible that an engineer/physicist saw the I-V relationship in the diode and decided to build a circuit around it that exploits that mathematical relationship. From there, engineers can use this natural relationship to take logs of signals like they do in sound pressure level measurement electronics, and many other applications.
 
Last edited:
  • #25
dijkarte said:
And yeah the opposite could be possible but DEs will become very ugly and need some sort of computer software to solve ;)

Sorry, but that comment is only a practical issue, especially because they were using vacuum tubes. Also, physical circuits are less adaptable, where initial conditions and boundary conditions may change, and in circuits that means a physical component needs to change.

Just because an analog computer is less practical than computer software in many cases doesn't mean it isn't possible to build an analog computer to perform mathematical functions as you initially asked.
 
  • #26
dijkarte said:
You are the expert, pick a few that I can study from...I'm full of... :rofl:

Sorry I cannot. I need to know specific objective to prescribe a book. you may want to build a circuit that eliminates noise from the sound. this will need some books. you may want do design a power station, mobile station or something. I don't know which one to suggest. remember you wanted to make a circuit that can implement ANY FUNCTION. Thats not a normal issue.

dijkarte said:
...I agree as long as you consider only the programming aspect of computer science. Computer science is not just coding...

I know.

dijkarte said:
...One example is Jeri Ellsworth, she is amazing, I bet if any EE professor is capable and knowledgeable like her, unless they work outside of the classroom, they are still teachers. No insult, but reality speaks itself.

No professor will be insulted hearing this... so, no worries :smile:

dijkarte said:
...only a real textbook. And yeah the opposite could be possible but DEs will become very ugly and need some sort of computer software to solve ;)

Thanks.

How do you think only a real textbook can give you the power to build any circuit? can you prescribe one textbook for a person that is enough to learn programming? Only for ASP.NET you will need many books. Interfacing is also a part of CS. It will need many books to understand it clearly. Future computer named Quantum Computers will use quantum entanglement and you will need advanced physics to handle those. I think you know all of these.

Can you please tell me the name of a book that contains everything i need to know to solve any problem of computer science? No, you cannot. You want to do a short course i think, or one single book. i think a technician has to study several books, same amount a programmer has to study. :wink:
 
  • #27
Can you please tell me the name of a book that contains everything i need to know to solve any problem of computer science? No, you cannot. You want to do a short course i think, or one single book. i think a technician has to study several books, same amount a programmer has to study.

I could guide someone new to study the basics required for CS. What are the basics for building circuits out of equations? I'm no close to be an expert or even a novice in EE field, but I believe it's done by experimenting and then analyzing, or for a smaller circuits can be accomplished the other way around starting from a relatively simple mathematical model and decomposing it into physical building blocks. So my question again :) what do I need to study?or what is this subject called that studies transformation from a mathematical model to physical
model? Is this transformation systematic or is it under the mercy of the designer's talent in DE?
Is it a well established science?
 
  • #28
Arafat Sagar said:
...One example is Jeri Ellsworth, she is amazing, I bet if any EE professor is capable and knowledgeable like her, unless they work outside of the classroom, they are still teachers. No insult, but reality speaks itself.

No professor will be insulted hearing this... so, no worries :smile:

They won't be insulted because they know that statement is very naive, and is a huge divergence from reality. Most professors are not concerned with copying and replicating 30+ years old technology, that at best is a undergrad/masters project. Her praise should be in her entrepreneurial talents, as she is not more technically knowledgeable or capable than the average technician/engineer.
 
Last edited:
  • #29
dijkarte said:
I could guide someone new to study the basics required for CS. What are the basics for building circuits out of equations? I'm no close to be an expert or even a novice in EE field, but I believe it's done by experimenting and then analyzing, or for a smaller circuits can be accomplished the other way around starting from a relatively simple mathematical model and decomposing it into physical building blocks. So my question again :) what do I need to study?or what is this subject called that studies transformation from a mathematical model to physical
model? Is this transformation systematic or is it under the mercy of the designer's talent in DE?
Is it a well established science?

You seem to keep changing your question when you don't like the answer to a preceding question. The basics are most likely in the textbook you reference.

Adding, subtracting, multiplying, dividing, differentiating, integrating etc. can all be done in opamps and other methods. It should be described in your basic electronics book. For example, Sedra and Smith covers all these topics.

If you already know how to add, and someone gives you a calculator with the add and number signs on the buttons, do you need to read the manual to know what order to press the buttons? If it is not obvious in your electronics book how the mathematical functions are applicable, then you probably need to back track and fill in some information gaps with circuit theory and possibly signal analysis. A book in signals and systems will teach you how to model physical or mathematical systems as transfer functions that can be implemented in circuits.
Does this explain things better?:
http://www.allaboutcircuits.com/vol_3/chpt_9/7.html
 
Last edited:
  • #30
They won't be insulted because they know that statement is very naive, and is a huge divergence from reality. Most professors are not concerned with copying and replicating 30+ years old technology, that at best is a undergrad/masters project.

Anyone can learn anything in the physical/mathematical sciences without the need to waste tons of $$$ and time with in an over-slow paced needlessly lengthy study course, not to mention the useless classes...
Saying that a gifted person who studied hard to become a famous figure and innovative in the electronics industry copying decades-old projects is very naive, and is a huge divergence from reality. :) So please no insult to self-learner's intelligence. :)

If it is not obvious in your electronics book how the mathematical functions are applicable, then you probably need to back track and fill in some information gaps with circuit theory and possibly signal analysis.

No it's not and I insist it's not. All electronic books including the "very basic" ones, are all similar just different names, slightly different topics. They don't show it from a pure mathematical/modeling perspective, that's one thing makes me suspecting that the field of EE is more like technical/applicable than pure science.

Does this explain things better?:
http://www.allaboutcircuits.com/vol_3/chpt_9/7.html

Very helpful, but where is this presented in any book? All they do is just classify a few types of amplifiers and show no in-depth explanation on how to interconnect these components to create a certain functionality.

Maybe what I need is the correct name of the subject I'm looking for.
I don't want a book that presents me a pre-compiled circuit that took them to design 100 years and then do some analysis on its input output. What I really want is a book that presents me with a systematic and mathematical way how to build things from the ground up.
As an analogy to CS, these books show how to do a very basic tracing (like tracing a program) of circuits (analysis in EE), not composing (designing the algorithm). Or analyzing the algorithm efficiency not the steps to create an algorithm.
Probably the science of designing circuits is not well defined and established yet and still very experimental and open-research.
 
  • #31
dijkarte said:
Anyone can learn anything in the physical/mathematical sciences without the need to waste tons of $$$ and time with in an over-slow paced needlessly lengthy study course, not to mention the useless classes...
Saying that a gifted person who studied hard to become a famous figure and innovative in the electronics industry copying decades-old projects is very naive, and is a huge divergence from reality. :) So please no insult to self-learner's intelligence. :)

I'm not insulting a self-learner's intelligence. To compare someone who mimicked a design that is 30 years old and that is not exactly cutting edge nor technologically innovative (although commercially innovative and successful) to a lot of EE researchers, including professors, who are involved in innovative and original designs and concepts, is naive and a bit ignorantly disrespectful. Combine that with your dismissal of peer reviewed "dream" papers as less valid than a textbook, and I have to think that your attitude is simply unrealistic and unhelpful. The comment on wasting $$$ and time is irrelevant to this. I just don't buy into the sensationalism or hype where I would believe she is on the same technical level as most engineers, yet alone professors. I'm not discrediting her success, just being a realist when someone makes inappropriate comparisons.
dijkarte said:
No it's not and I insist it's not. All electronic books including the "very basic" ones, are all similar just different names, slightly different topics. They don't show it from a pure mathematical/modeling perspective, that's one thing makes me suspecting that the field of EE is more like technical/applicable than pure science.

I'm not sure that you understand what modeling is. Every circuit element in your electronics book is a mathematical model. Ohm's law, KVL, and KCL are also mathematical models. What is non-mathematical about the circuit models? What else would you build any mathematical function or model on other than the basic building blocks of that mathematical system? What is non-basic that you want to see in a circuit? I swear your last questions have revolved around asking about mathematical functions of circuits, and when you see the functions in circuits, you say you want pure models. A pure model still has to be modeling something, and so it would be abstract and could describe a large number of physical systems, one of them being electronics. Those circuits in the link are based on the pure mathematical element models. Study what an ideal opamp is, and you will be studying its mathematical model. Same goes for all of the passive elements. Circuit theory is abstracted mathematical models. The fact that we can use these models to approximate real circuits happens to be extremely useful.

And yes, EE is technical and applicable rather than a pure science. I don't know where you ever got an impression that it was a pure science, but then again neither is software engineering.
dijkarte said:
Very helpful, but where is this presented in any book? All they do is just classify a few types of amplifiers and show no in-depth explanation on how to interconnect these components to create a certain functionality.

Maybe what I need is the correct name of the subject I'm looking for.
I don't want a book that presents me a pre-compiled circuit that took them to design 100 years and then do some analysis on its input output. What I really want is a book that presents me with a systematic and mathematical way how to build things from the ground up.

...

Probably the science of designing circuits is not well defined and established yet and still very experimental and open-research.

I said it is presented in Sedra and Smith, and it is probably presented in any other book that teaches opamps and electronics fundamentals. You should also check out LTI systems books, and that might be more of what you're looking for.

Designing circuits is well defined and established. It is not an easy subject and requires more than a cookbook of instructions to build from the ground up. There are also often many circuit solutions to the same mathematical input-output model.

I am a bit confused as to what you're getting at. If I asked you to show me a method that added 2 numbers from the ground up, in purely mathematical form as you seem to be hung up on, you would have to define axioms of addition and its properties and the number system in abstract algebra form. I don't see how this is much different from how we have defined the addition circuit (opamp summing junction) and the numbers (the signals) and the axiom that the output is the sum of the two inputs. You can use circuit theory to show that this is true based on the mathematical models of the circuit elements we are using. Why can't you take the next step and abstract that opamp summing junction as "pure" addition as a mathematical model?

Another useful tool is National's LabView. It is a graphical programming structure, where you use "pure mathematical models" that happen to look like circuits. It might help you see the connection.
 
Last edited:
  • #32
Might be true, you know better than me.

But just a little comment about some of these "microelectronic books" recommended by universities, I just don't get them. They are the worst and if not cookbooks, then they talk to themselves.

Nothing mentioned like the tutorial you gave me on amplifiers. Take for instance the cookbook: "Fundamentals of Circuit Analysis" it explains the basics in a nice colorful way but then when it comes to more advanced topics it just retreat. 4 basic amplifiers no discussion about how to form an analog calculator for example.

I'm now realizing I'm lacking a lot of basics but it's because the books I'm studying from...which are the standards by the academia. I took a few physics courses at the university level as electives, but guess what, these cookbooks and self-teaching did much better to me than the actual classes.

Here is a list of the books I'm using for studying:

"Fundamentals of Electric Circuits" by Siduki and Alexander.
"Electric Circuits" by Riedel
"Microelectronic Circuit Analysis and Design" By Neaman
"Signals and Systems" by M. J. Roberts.
 
  • #33
They are giving you the basic building blocks and showing you how the parts work together. They are not teaching you how to build a radio or computer. You need more specialized textbooks to learn about things like that, or you need to sit down with a pencil and paper and try to design it with the building blocks you have.

Say I want to perform the mathematical operation y(x) = 2(x + 1). I now need to find an analog of this function in electronics. As a designer, you choose how to represent this function with the model tools you have, ie KVL, KCL, ohm's law, and all of the other relationships you have from circuit theory.

I could first draw a block diagram of the process. If you are not familiar with the block diagrams, then that might be a helpful tool for you to learn. It is a graphical model of the mathematical function.

From that block diagram, I see I have 2 values that I'm adding, then I am multiplying the sum by 2, and the output is my function y(x). From that block diagram, I will pick out circuits that I know can do each of the different functions and connect them input to output just as I see in the block diagram.

I think you should keep studying your books, but you should also pick something to design, and you can build it with real components or in a free simulator like LTSpice. You could try to design a circuit that implements the function y(x) = 2(x + 1) for example. If you have question how to do that, you should ask about that specifically. Searching for a universal mathematical approach like a computer science algorithmic approach to designing circuits will be very unhelpful.

One last thing on that. When people learn to code their first programs, do they learn it from a purely computer science, algorithm approach? I think the common way is to learn the language syntax, programming rules, and basic program structures. They don't teach high level software architecture or turing machines to someone just learning to write their first "Hello World" program. Similarly, people aren't taught all of the scales, music notation, and music theory before they are taught how to sing a song or play a few chords in succession on a guitar. So, I think your goal for a computer science approach to circuit design is not going to get you very far, and you are better off playing around with the ideas in the book and looking at other people's designs and taking on some projects to see how circuit design works. One of the most fun parts of electronics is being creative (and appreciating the creativity of others), rather than following a strict algorithm.
 

Attachments

  • block diagram.jpg
    block diagram.jpg
    5.5 KB · Views: 379
Last edited:
  • #34
Seems the idea is very possible using amplifier circuits but what about filter? Can we design filters the same way. For instance I want to create a filter (active or passive) that passes, for example, the given signal:

f(x) = e^sin(2x) + e^cos(4x) - 2

And I want to generate this signal too. HOW?

If we follow the same simple analog calculator method you mentioned, two questions arise:

1) Where can I find the mapping of circuit/component to math function?

2) Is algebraic addition in math always correspond to connecting any type of circuits/components (output-input cascading) in series?
 
  • #35
Ok I could figure it out myself...I think I've a clearer view of how things work in electronics, and honestly I was not expecting it to be that easy. Now I can confidently say it's pretty much like programming but we use physical components instead. :D

Thanks for all your help.

I'm thinking of something that may be already there but I don't know what it's called. I understand that filters can response to frequency, but is there a type of filter that response to a certain wave shape? For instance, I need a filter that only passes waves of a specific shape, regardless of frequency and amplitude.
 

Similar threads

  • Electrical Engineering
Replies
6
Views
1K
  • Electrical Engineering
Replies
7
Views
1K
  • Electrical Engineering
Replies
13
Views
1K
  • Electrical Engineering
Replies
23
Views
3K
  • Other Physics Topics
Replies
22
Views
3K
Replies
25
Views
1K
Replies
14
Views
1K
  • Electrical Engineering
Replies
4
Views
997
  • Electrical Engineering
Replies
8
Views
2K
  • Electrical Engineering
Replies
3
Views
1K
Back
Top