Changing circuitry of analog computer *During* simulations?

In summary, analog computers can change their circuitry and component values during simulations, making them more versatile and potentially advantageous for certain problems. This can be achieved through manual rewiring or with the help of software tools. However, care must be taken to avoid self-excitation and undefined conditions during these changes. An example of this capability is the use of multiturn potentiometers controlled by servomotors in early hybrid computers. This feature may be useful for real-time simulations of complex biological organs.
  • #71
I am not sure that we are talking about the same thing. It is routine for analog oscilloscopes to handle 30 Mhz signals (100 Mhz on expensive ones). So I wouldn't think that there are any problem with the mode frequencies of a system that only needs to complete a calculation every 30 milliseconds (33 times a second,with a wish to increase to 1000). Those frequencies must be significantly less than 33 Hz. Any analog circuit can handle that.
 
  • Like
Likes Kirana Kumara P
Engineering news on Phys.org
  • #72
If you look at the spectrum of a single that settles in 30 ms you will see that it has components in excess of 33 Hz. An analog computer needs to settle to a new value based on changes in its input stimulus; it isn't a system passed a 33 Hz sine. I think that is the disconnect. For a system to settle to 1% in 30 ms it needs a BW far in excess of 1/30 ms = 33 Hz (see above).
 
  • Like
Likes Kirana Kumara P
  • #73
Since analog oscilloscopes routinely handle up to 30 MHz (and expensive ones go up to 100 MHz), I find it hard to believe that any modern system would have trouble with 33 Hz.
 
Last edited:
  • Like
Likes Kirana Kumara P
  • #74
How many miller integrators are needed to solve the set of equations ?
And what will the time constant of those analogue integrators need to be ?

There is actually no problem here as there is no set of equations to solve.

In my opinion you are all dancing on the head of a pin.
 
  • Like
Likes Nidum and Kirana Kumara P
  • #75
But dancing on the head of a pin is so *fun*!
 
  • Like
Likes Kirana Kumara P
  • #76
Baluncore said:
There is actually no problem here as there is no set of equations to solve.

As I have mentioned in one of my earlier replies, the very final form of the equations can be known only *during* runtime.
 
  • #77
FactChecker said:
There already are VLSI analog chips that are user-programmable. They are called Field Programmable Analog Arrays (FPAA). They can be used similarly to Field Programmable Gate Arrays (FPGA).

The Wikipedia entry on FPGA of course tells that FPGAs can be re-wired "on the filed", at the time of simulation, in real-time etc. However I am not sure whether the connections can be changed (switching) *during* simulations (because "real-time" in the Wikipedia entry could mean "just before the start of the simulation" also). It would be helpful if someone could clarify.
 
  • #78
I have come across Application-Specific Integrated Circuit (ASIC). Would this be useful?

I think an ASIC is usually a digital processor. Instead of using the standard CPU, can the use of ASICs speed up the simulations if one chooses to use the digital computing?

Or, is it possible to have an analog ASIC? (Let us not worry about the cost for now). Would it be possible to change the connections (switching) if this happens to be the case? Does one of my previous questions (#63) and the reply from the member analogdesign (#64) refer to the same thing that I am talking about here?
 
  • #79
Kirana Kumara P said:
I have come across Application-Specific Integrated Circuit (ASIC). Would this be useful?
Yes. It is the only way to go if you want the highest speed processors to run dedicated algorithms.

Kirana Kumara P said:
Or, is it possible to have an analog ASIC? (Let us not worry about the cost for now).
There is really no such thing as a fast analogue ASIC. There are reconfigurable analogue processors but they are slow and not really useful for analogue computers because they lack the external interfaces needed get data in and out.

Baluncore said:
It would seem sensible to replace all the analogue computer nodes with the appropriate circuit code for implementation as digital filters. That way, speed and reliability will increase, while at the same time there will be a reduction in power and calibration time. Those functions can be quickly implemented and revised in FPGAs.
https://en.wikipedia.org/wiki/Field-programmable_gate_array
The advantage of using FPGAs or ASICs is that a single ASIC could probably be programmed to contain between 4 and 32 specialised digital processors. Expect an ASIC to have a cycle time of 1 nsec and be able to change parameters or data flow in less than 2 nsec. There is absolutely no way an array of analogue processors could keep up with a similar array of ASICs. I expect an ASIC processor would outrun an analogue processor by a factor of about 1000.

Digital processors are now so fast that the arrays of 1024 risc processors now appearing would be capable of outrunning a similar array of 1024 analogue processors by a factor of 100. The advantage of arrays of digital processors is that the internal interprocessor data flow connections have a similar speed to the processors in the chip.
 
  • Like
Likes Kirana Kumara P
  • #80
Kirana Kumara P said:
As I have mentioned in one of my earlier replies, the very final form of the equations can be known only *during* runtime.
The final form is not needed unless you have an operating physical processor.

I expect the number of equations, the degree of the equations and the accuracy requirements should be specified now. If the general form of the equation set needing solution was given, it would be possible to determine an optimum processor topology, the expected cost and solution time. Without an example equation set, there is no problem to solve.
 
  • Like
Likes Kirana Kumara P
  • #81
Wouldn't it be a good idea to build an ASIC (a product or module based on the ASIC) that can solve a set of simultaneous nonlinear algebraic equations? One can assume that the equations are quadratic to begin with. Solving even a set of simultaneous linear algebraic equations will have wide applications. This is because a wide variety of simulations (not just a certain algorithm for the simulation of biological organs) need to solve these equations. Hence a product (module) which can solve these equations and which one would couple to a digital computer would have diverse applications.

Or, is it that the set of equations explained above are too general to be of any use as far as the circuit design is concerned (since the numerical values of the coefficients in the set of equations are not defined here)?

Or, would it be that a module that can solve a set of equations cannot be used to solve another set of equations when the total number of equations in the latter set is lesser than the total number of equations in the former set?
 
  • #82
Adding to my reply numbered #81 above, let us assume for the time being that we have 5000 equations in the set of equations (whether the set of linear simultaneous algebraic equations or the set of nonlinear simultaneous algebraic equations). And let us assume that 1% error is allowed in the final result (again for the problem defined in #81 above).
 
  • #83
One small addition (correction) to my reply numbered #82 above. If one wishes to commercialize the ASIC module (product) mentioned in the replies #81 and #82 above, one should aim to achieve the same accuracy as normally offered by a general purpose normal digital computer (1% accuracy not enough). It would be even better if the user can -- just before the computations start -- decide how much error is allowed in the final results.
 
  • #84
Kirana Kumara P said:
Wouldn't it be a good idea to build an ASIC (a product or module based on the ASIC) that can solve a set of simultaneous nonlinear algebraic equations?
You go ahead, write the equation set for a single processor, define, then load that processor into an FPGA so you can demonstrate that it works. I've got bigger fish to fry.

Kirana Kumara P said:
It would be even better if the user can -- just before the computations start -- decide how much error is allowed in the final results.
Why complicate things by allowing the user adjust an irrelevant parameter. Are you trying to sabotage your own project?
 
  • Like
Likes Kirana Kumara P
  • #85
(1) Why does it matter to you how long the computation takes ? You have quoted display frame rate as the limiting factor but would it matter if there was a processing lag per frame of 10 milliseconds ? 60 seconds ? A week ? The individual frames could still be assembled so as to display at the correct rate but there would just be a delay in starting the sequence .

(2) There are existing ANSYS models of a beating heart - why is your problem so much more complex ?
 
  • Like
Likes Kirana Kumara P
  • #86
Nidum said:
(1) Why does it matter to you how long the computation takes ? You have quoted display frame rate as the limiting factor but would it matter if there was a processing lag per frame of 10 milliseconds ? 60 seconds ? A week ? The individual frames could still be assembled so as to display at the correct rate but there would just be a delay in starting the sequence .

(2) There are existing ANSYS models of a beating heart - why is your problem so much more complex ?

(1) One computation should be over within 30 milliseconds. I cannot do computations beforehand and display the frames later. This is because I want to "poke" or "cut" a biological organ displayed on the computer screen, and I want to know in real-time how the biological organ is going to deform when I poke or cut it. The virtual surgical tool displayed on the screen is tied to the position of the mouse pointer (I would control the position of the mouse pointer). I myself won't be knowing where exactly on the biological organ I am going to "poke" after 10 seconds,say (boundary conditions are not known beforehand, boundary conditions decided by the location of mouse pointer, mouse pointer controlled by a user, the user "pokes" the biological organ as per his wish and as he feels like, he himself won't be knowing where he would "poke" next). The system should be interactive (and real-time). The system is meant for training surgeons in commonly encountered surgical tasks.

(2) I am aware of the ANSYS models that you have mentioned. They won't serve my purpose.
 
  • #87
Kirana Kumara P said:
The Wikipedia entry on FPGA of course tells that FPGAs can be re-wired "on the filed", at the time of simulation, in real-time etc. However I am not sure whether the connections can be changed (switching) *during* simulations (because "real-time" in the Wikipedia entry could mean "just before the start of the simulation" also). It would be helpful if someone could clarify.
All computers (analog or digital) allow switching of signal paths during operation. But you must know ahead of time what types of switches will be required and have the options available before the simulation starts. The unused signal paths should usually run during the entire simulation so that their signals can be switched in at any time without startup transients. Then the only transients during a switch will be caused by the difference between the signal alternatives.

PS. Remember that the first "fly-by-wire" fighters like the first batches of F-16 had analog computers for their flight controls. They were capable of switching, variable gains, etc., with no problems. At that time, there were piloted handling qualities flight simulations that used a combination of analog and digital computers. The analog computers easily integrated with digital computers that ran with 1000 Hz frames.
 
  • Like
Likes Kirana Kumara P
  • #88
OK - now I finally understand what you are trying to do .

The computational problem can be reduced by using different resolutions for the FE and for the visible display . The underlying FE model can have a relatively coarse mesh to allow fast computation and the display could be generated using a 3D cad engine to generate smooth curves and photo realistic images .
 
  • Like
Likes Kirana Kumara P
  • #89
Kirana Kumara P said:
(1) One computation should be over within 30 milliseconds. I cannot do computations beforehand and display the frames later. This is because I want to "poke" or "cut" a biological organ displayed on the computer screen, and I want to know in real-time how the biological organ is going to deform when I poke or cut it. ... I myself won't be knowing where exactly on the biological organ I am going to "poke"
This really tells us how difficult your problem is. The variability of your problem makes it very hard to anticipate how things will change during the simulation. It is not just a prepared-for switching problem.
 
  • Like
Likes Kirana Kumara P
  • #90
Over short time periods the solutions for the mutating model are not going to change that much and possibly some parts of the solutions will not change at all .

In this situation an iterative solver might give very fast results . Generate the next solution from the previous one .
 
  • Like
Likes Kirana Kumara P
  • #91
Nidum said:
The computational problem can be reduced by using different resolutions for the FE and for the visible display . The underlying FE model can have a relatively coarse mesh to allow fast computation and the display could be generated using a 3D cad engine to generate smooth curves and photo realistic images .

If the underlying FE model is represented by a relatively coarse mesh, that leads to inaccuracy. Of course, that is one of the ways (approximations) through which people have already tried to address the problem. People have tried several other ways (approximations) also. The approximations were required since engineers sometimes cannot say that they don't have a solution. But they keep on looking for better solutions (or true solutions). The problem in hand is not new and it is not the one which is identified by me. It is also a well known fact that present day digital computers cannot solve the problem accurately. Of course, people who have used various approximations have used the digital computers most of the time (if not always), an have done whatever is possible with the digital computers (more realistic simulations are "future work"!).
 
  • #92
Nidum said:
Over short time periods the solutions for the mutating model are not going to change that much and possibly some parts of the solutions will not change at all .

In this situation an iterative solver might give very fast results . Generate the next solution from the previous one .

These are already tried in the literature. Again, these are some of the other ways of getting some approximate solution.

One more approximation that one can usually come across in the literature is to compute -- instead of thirty frames per second -- much lesser number of frames per second and go for interpolation!
 
  • #93
FactChecker said:
At that time, there were piloted handling qualities flight simulations that used a combination of analog and digital computers. The analog computers easily integrated with digital computers that ran with 1000 Hz frames.

The literature clearly tells that building surgical simulators (used to train surgeons in surgical procedures) is much much harder than building flight simulators (used for training pilots).
 
  • Like
Likes FactChecker
  • #94
FactChecker said:
This really tells us how difficult your problem is. The variability of your problem makes it very hard to anticipate how things will change during the simulation. It is not just a prepared-for switching problem.

Could this mean that one cannot design an analog computer that can solve this type of a problem (it is not just a prepared-for switching problem, things will change during the simulation, variability of the problem)?
 
  • Like
Likes FactChecker
  • #95
Kirana Kumara P said:
Could this mean that one cannot design an analog computer that can solve this type of a problem (it is not just a prepared-for switching problem, things will change during the simulation, variability of the problem)?
This does sound much more difficult than a flight simulator. I don't know how to set up an analog simulation for it. It's a special application that would require different experience than I have. Sorry.
 
  • Like
Likes Kirana Kumara P
  • #96
Last edited:
  • Like
Likes Kirana Kumara P and FactChecker
  • #97
Kirana Kumara P said:
The problem in hand is not new and it is not the one which is identified by me. It is also a well known fact that present day digital computers cannot solve the problem accurately. Of course, people who have used various approximations have used the digital computers most of the time (if not always), an have done whatever is possible with the digital computers (more realistic simulations are "future work"!).
Everything is an approximation. Just because a problem has not been solved to your satisfaction does not mean it is established as impossible. If that was the case, no problem would ever be solved.

Changing the element data structure can make a difficult problem tractable. Consider a 3D array of elements distributed as though throughout the mass of an organ. Each element would know where in 3D space it was, and which elements were it's immediate neighbours. A cut would be represented by a change of the interconnection parameters between elements, with a resulting disconnection of positions. More virtual elements could be inserted where detail was needed by replacing existing elements with multiple elements. Neighbours would be identified by dynamic links to other elements. Areas not being affected could be left with coarse resolution. Areas previously needing high resolution could have some elements merged to reduce processor time and so be returned to coarse resolution, but retaining well defined boundaries.

All the requirements for switching signal paths has then gone. It is all determined by changing element positions, boundary parameters and dynamic links to neighbouring elements.

How many elements would a 100 mm cube with 1 mm elements need? It would require about 10^6 elements. If each “relaxation” required 1 usec of digital 1GHz processing per element, it would need 1 second of processor time per relaxation. That could be done in about 30 msec by 32 independent processors working on elements in the same data array. It is an ideal problem for the arrays of up to 1024 RISC processors now available on a chip.

The very fact that the elements know where they are in space, as they move with each milligram of meat, makes the problem tractable. You can even drop a specimen in a jar and send it off to histology while continuing the simulation.

It would be impossible to solve that kind of problem with analogue computing elements. That is because available processors from the pool need to be continuously assigned to process elements in variable 3D positions with different separations and boundary connection parameters in the array. Initialising the state variables in an analogue processor every 1 usec would be as impossible as the task of building a rigid million element 3D array of analogue processors.
 
  • Like
Likes Kirana Kumara P
  • #98
Baluncore said:
Initialising the state variables in an analogue processor every 1 usec would be as impossible as the task of building a rigid million element 3D array of analogue processors.
In an analog computer, the state variables are continuously available as a result of the continuous integrals, derivatives, and other signal values. They are continuous and have no frame time or sampling frequency..
 
  • Like
Likes Kirana Kumara P
  • #99
FactChecker said:
In an analog computer, the state variables are continuously available as a result of the continuous integrals, derivatives, and other signal values. They are continuous and have no frame time or sampling frequency..
A 1 litre organ will weigh about 1kg. 1 mm resolution in 3D will require about 1 million elements. You cannot realistically build an array of 1 million analogue computers so you have to switch analogue processors between elements or tasks in microseconds. That is simply not possible due to the cost of the analogue sample and hold storage arrays required, or the number of A–D and D–A converters needed to operate at video speeds of about 50 MHz in parallel.
 
  • Like
Likes Kirana Kumara P
  • #100
  • Like
Likes Kirana Kumara P
  • #101
Nidum said:
Something like this ?

(Jump to 3:30 for the best bits)
This looks very interesting. (It took me a while to realize that the link was there and not missing.) I wonder if @Kirana Kumara P is familiar with how Mosegaard is doing that?
 
  • Like
Likes Kirana Kumara P
  • #102
Nidum said:
Something like this ?

(Jump to 3:30 for the best bits)

I was aware of this kind of simulations about ten years ago. This kind of simulation (using spring-mass systems) is decades old. I am not happy with the method (hence looking for better methods. "I am not happy" in the last sentence is not just a subjective opinion of just one person (me) but it is the opinion of the community who works in the area. Moreover, it is not just an opinion but a fact (which can be justified). Of course, the method is still useful for solving certain problems. I am very clear about my problem (I have got more than 300 standard references). Of course, I too would go for some approximation (maybe a new type of approximation) if the analog computer, ASIC, FPGA do not help. And I am capable of solving the problem by coming up with some new approximation and by using a digital computer. But the purpose of posting my question here in the forum is mainly to know whether the problem can be solved by using an analog computer.
 
  • #103
Kirana Kumara P said:
But the purpose of posting my question here in the forum is mainly to know whether the problem can be solved by using an analog computer.
No, it can't be solved with an analogue computer.
 
  • Like
Likes Kirana Kumara P
  • #104
Baluncore said:
A 1 litre organ will weigh about 1kg. 1 mm resolution in 3D will require about 1 million elements. You cannot realistically build an array of 1 million analogue computers so you have to switch analogue processors between elements or tasks in microseconds. That is simply not possible due to the cost of the analogue sample and hold storage arrays required, or the number of A–D and D–A converters needed to operate at video speeds of about 50 MHz in parallel.

It is enough if the organ is divided into about 1000 elements. That is why I told in one of my earlier replies that we could aim to solve a set of 5000 equations. These numbers (total number of equations in the set) are not just arbitrary numbers; I have arrived at these numbers by careful thinking and rough calculations (and also by cross-checking with the existing literature).
 
  • #105
FactChecker said:
In an analog computer, the state variables are continuously available as a result of the continuous integrals, derivatives, and other signal values. They are continuous and have no frame time or sampling frequency..
In an analog computer (for our problem), if input is constant output will also be constant (after the elapse of the settling time). The input can be changed thirty times per second (or, every 30 milliseconds) so that the output will also change the same number of times. This itself is the frame rate (30 times per second) here.
 
Back
Top