Understanding Concepts - Page 1
Forum section: electronics / general

author: Dean Rivers
author_rank: Newbie
timestamp: August 04, 2014, 10:04:09 pm
content: Ever had a moment where you're researching something for hours, not being able to "get" what the person is saying, but then you listen to it being said differently and think "God, this is actually so fucking simple."? Afterwards, anything relevant to that new idea gets absorbed so much quicker, as if you'd known it all along.Suppose you learned C++. Afterwards, learning another imperative programming language is a piece of piss. You find that it could be a matter of justknowingthe new syntax. Yourunderstandingof the idea behind C++ has allowed you to easily extrapolate it to a different means of implementation.A line can easily be drawn between 'knowing' and 'not-knowing', but there isn't really a way to define an 'understanding'. You know it's there, but you can't really put it in words. It's a subjective and pretty ambiguous term. We wouldn't have all this technology without the ability to think in these abstractions.

author: hamster_nz
author_rank: Super Contributor
timestamp: August 04, 2014, 11:33:16 pm
content: Quote from: Dean Rivers on August 04, 2014, 10:04:09 pmI feel that was about Discrete Fourier Transform. I've read lots about (mostly indirectly through PopSci books) it but never understood it till last year. It now seems so easyIf you multiple each element of a signal with a sine and add them all up you get a number, and that number you get represents how much of the signal is the same freqeuency and in phase. This process is called convolution.For the Discrete Fourier Transform the set of 'reference signals' used are orthogonal (i.e. completely at odds with each other - either of a different frequency, or 90 degrees out of phase) so that if any two are convolved with each other then the answer is always zero (e.g. sine(f/2) * sine(f/4) = 0 ). The important bit is that this set of signals are complete, in that there are no input signals that can fall through the cracks. Once you extract all these signals there is nothing left of the original input.So a bit like how X,Y,Z can be used to uniquely address any point in a 3D space, the magnitudes of the sine and cosine waves (the frequency domain) can uniquely address any given input signal (the time domain) and vice versa.It is so simple, so why the heck did it take me 20 years to understand it?And the answer is simple - once you understand how it works, you can see how it works. When you do not understand it, you can't understand how it works. My respect for Fourier's insight has increased 1000x since I joined his club.

author: retrolefty
author_rank: Super Contributor
timestamp: August 04, 2014, 11:46:37 pm
content: QuoteI think a simpler example is Ohm's Law. Most beginners have little problem memorizing the formula manipulations, but not all make the jump to 'thinking in Ohm's Law', where the concept (not the formulas) is intuitive as one scans a schematic drawing.

author: Dago
author_rank: Frequent Contributor
timestamp: August 05, 2014, 05:35:07 am
content: Quote from: hamster_nz on August 04, 2014, 11:33:16 pmThis is still something that slightly eludes me. I "get" it but not intuitively. I think I need to do an FFT implementation for an FPGA or something to really get the hang of it

author: cimmo
author_rank: Frequent Contributor
timestamp: August 05, 2014, 06:46:42 am
content: I believe it was R.A. Heinlein who popularised the term "Grok" in this context.You can 'know' something, but then you can go further and 'grok' it.This is how wiki puts it:Grok is a word coined by Robert A. Heinlein for his 1961 science-fiction novel, Stranger in a Strange Land, where it is defined as follows:Grok means to understand so thoroughly that the observer becomes a part of the observed—to merge, blend, intermarry, lose identity in group experience. It means almost everything that we mean by religion, philosophy, and science—and it means as little to us (because of our Earthling assumptions) as color means to a blind man.The Oxford English Dictionary defines to grok as "to understand intuitively or by empathy; to establish rapport with" and "to empathize or communicate sympathetically (with); also, to experience enjoyment".

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 05, 2014, 07:36:04 am
content: Quote from: hamster_nz on August 04, 2014, 11:33:16 pmThen this should make you shit bricks...Almost all the "hard" problems that are commonly encountered in engineering and physics are either wave-particle duality, or finding the roots of a polynomial.Diverse examples:The mechanical standing waves on a taut string are described by wave equations. The wave equations, in turn, are defined by the material properties and boundary conditions: the string has well defined properties of elasticity and mass, and is secured between fixed points.The electrical standing waves on a straight, conductive wire are described by wave equations. The wave equations, in turn, are defined by the material properties and boundary conditions: permeability and permittivity of space, and the end points which carry no current.The electron matter waves around a nucleus (say, a hydrogen atom) are described by wave equations. The wave equations, in turn, are defined by the energy potential and boundary conditions: the Coulomb potential of the nucleus, and the spherical symmetry of it.The interference fringes in the "two slit" experiment are described by wave equations. The wave equations, in turn, are defined by the properties of the waves and medium interacting with the slits, and the boundary conditions which are the slits themselves (width, height, spacing, etc.). (Or the duality between the PSF (point spread function) of a given imaging lens aperture and its dimensions: the optimal PSF is little different from the FT of the aperture itself.)Signal filtering is frequency domain multiplication (needless to say?), which is also time-domain convolution. A digital FIR filter applies directly, where you simply sample the impulse response of the desired filter, convolve in real time, and boom, that's your filter. Some cases -- if you don't have the understanding to see it yet -- are disturbingly obvious, like the sliding average (rectangular or boxcar) filter -- which has a rather pitiful sinc(f/fs) frequency response, but is intuitive, and painfully easy to implement in software. And again, you can consider the shape of the 'boxcar' filter as boundary conditions, and the frequency response as the wave result.Solving for the elements in a filter (IIR coefficients in discrete time filters, RLC values in continuous time filters), however, requires polynomials...Covering an even broader scope, FT (and (de)convolution) processes also appear in mathematics. Multiplication is a digit-wise convolution, and division is deconvolution.The other major class of 'hard' problems lies with polynomials, most often solving for roots (i.e., the points of x where p(x) = 0), and solutions regarding optimizing or minimizing certain properties (such as, when the polynomial relates to signal filtering, the properties of flatness/sharpness, group delay and so on). In general, many applications relate to finding solutions of differential equations (the polynomial in question is the auxiliary equation), or of matrices (eigenvalues). Which, in turn, occur in single- or many-variable problems, with or without nonlinearities. Another example is Magic Sinewaves (solutions regarding minimization of coefficients in a polynomial in cos(t), or what have you).Due to certain symmetries (or something like that, I think -- I haven't heard it explained very well myself, so I can't be of much help here), there are no general form solutions for polynomials 5th order or higher, so unless you get lucky, you can only compute approximate roots of high order polynomials. It's a tough problem: the values are difficult to calculate, and numerically unstable (the output values are very sensitive to changes in the input -- something an analog computer would have a very tough time dealing with accurately!).These are kind of the two most important problems or truths (as the case may be) in the continuous (real or analytic) domain. There are also many problems in the discrete or combinatorial domain: the notorious P/NP problems, like the Traveling Salesman problem, among many others.Tim

author: Dave Turner
author_rank: Frequent Contributor
timestamp: August 05, 2014, 07:47:22 am
content: "...in mathematics you don't understand things, you just get used to them."—John von Neumann

author: amyk
author_rank: Super Contributor
timestamp: August 05, 2014, 07:56:20 am
content: Quote from: retrolefty on August 04, 2014, 11:46:37 pmOhm's law is one of the places where the water analogy really works well.

author: hamster_nz
author_rank: Super Contributor
timestamp: August 05, 2014, 10:48:40 am
content: As another recent groking I've started recently - I've been reading up on high-speed PCB designs.Low speed is like carrying information on compressed air, high speed is like carrying information in sound.The medium doesn't change, but the way you use it is significantly different.Impedance mismatches, resonance, termination issues, echos, source drive impedance, frequency effects, discontinuities...

author: dannyf
author_rank: Super Contributor
timestamp: August 05, 2014, 10:58:50 am
content: QuoteOnce you understand it, you understand it,This is where Einstein is brilliant: if you understand it, you can explain to a lay person.That's also an easy way to spot a con: if someone insists on explaining something to you in convoluted technical terms, s/he doesn't understand it.

author: Artlav
author_rank: Frequent Contributor
timestamp: August 05, 2014, 12:57:14 pm
content: Quote from: Dean Rivers on August 04, 2014, 10:04:09 pmThe way i see it, a major part of human brain is anuniversal simulator.When you learn something, you know the words and formulas, i.e. how inductors store current and what the relations are, or how ohm's law sounds.But the formulas and knowledge is just raw data at that point,dead weightto be explicitly processed.The understanding part is when that data gets integrated into the universal simulator your brain have.Now instead of having to calculate the numbers, you just think up the pattern in question and the mind fills in the gaps, runs the simulation.You instinctivelyknowwhat would happen to current when the voltage across that resistor increases, because it is now a part of your reconfigurable hardware, running at the brain's native speed.Think about it that way - if you want to figure out the folding of a protein molecule, you can input it's structure into huge computer and let it calculate.Or, you can synthesise the protein in a test tube, let it fold, and observe.Let's imagine both starting at the same time - the computer starts computing, doing a few 1000s of operations out of billion billions needed in the first microsecond, each operation taking huge number of atoms, electrons and whatnot moving around, producing a similarity to the natural laws defined by the program.But in the test tubethe protein have already folded- it's just a few hundred atoms running along the actual laws of nature without needing to calculate their actions.A billion to one performance ratio.Same thing, i believe, is between learning and understanding.

author: t3chiman
author_rank: Contributor
timestamp: August 05, 2014, 02:15:31 pm
content: Quote from: Dean Rivers on August 04, 2014, 10:04:09 pm"It takes years". That's the standard veteran's answer to the beginner's quest forunderstanding. There's definitely a zen to our profession, and its odd symbology. And the addition of computer programming to the mix brings its own set of unstated principles--sometimes at odds with the ones we worked so hard to get as circuit designers.But a few technical types have ventured opinions on the matter. The first explored the mindset of a pilot of a single-engine airplane. Wolfgang Langewiesche'sStick and Rudderis a classic, well worth a reading by anyone who's ever imagined himself at the controls of an airplane (And, as techies, haven't we all?).Farther afield is a reference that I found helpful when the initial flood of object-oriented programming languages encroached on my tidy world of "computer-as-controller": George Lakoff'sWomen, Fire, and Dangerous Things. Read it, and be forever skeptical of languages that claim special cognitive advantages over their rivals.Cognitive psychologists have actually studied the zen process in the context of circuit design and debugging. Their reports make fascinating reading, but are a bit frustrating for engineers who have already invested years in arriving at the state of mind such that they are "one with the circuit".And time. What about time? How come all the nifty new programming languages (and frameworks, and paradigms) ignore, neglect, deny the importance of: time, time durations, timestamps, etc.--notions that are fundamental to electronics engineers? Issue for another thread.

author: Galenbo
author_rank: Super Contributor
timestamp: August 05, 2014, 04:38:02 pm
content: Quote from: amyk on August 05, 2014, 07:56:20 amWithin boundaries: When it doesn't freeze :-)

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 05, 2014, 10:34:38 pm
content: Quote from: t3chiman on August 05, 2014, 02:15:31 pmHeck, it's hard enough for EEs to understand dynamic systems. So often, the average engineer will do the presumed-least complicated thing possible, stacking together circuits from cookbooks. I need DC power here, with this DC range there, and so on and so forth. And lo and behold, it oscillates, or it does bizarre things over the operating point, or it blows up on fast transients (input or output), and it's twice the size and component count of a purpose-designed circuit, despite the apparent attempt to keep it simple!Same with programming. Why write something from scratch when you can use the library? Nice thing about abstraction (whether it's inside a function pointer or an integrated circuit), not only can you get by with willfully ignoring the contents, but the original designers may have no intention of making the contents the least bit accessible to you! (Machine code being analogous to IC patterns, both of which need some basic understanding in order to read at all, and both of which are additionally helped greatly by an understanding of the low level structures or algorithms pieced together from those components.)Same hazard as programming, too. The cookbook approach is probably better, in the end, for inexperienced engineers of either discipline. Because when they do adventure into that lower level, they're just lost and make an awful mess...Yet another analogy: in computation, there are theorems about the computability of something. A Turing-complete machine can calculate anything, or emulate any other Turing-complete machine -- eventually. There doesn't have to be a specified way to implement it (be it a single example, or the unimaginably massive space that consists of all unique programs which are functionally equivalent), and a language or architecture can meet this without having any obvious way to even write such a program. This is like making a DC circuit: as long as everything settles down, eventually, you can make a plethora of circuits that achieve roughly the same goal (say, computing a transfer function). Making an AC circuit, especially a high-bandwidth one, requires much more subtle methods, just as programming a near-optimal algorithm requires a great understanding of the underlying hardware.And so the point is, just because something works at DC (or at least, assuming it's stable), doesn't mean it's a good circuit. Dynamic considerations never go away, whether you choose to remain ignorant of them or not!Tim