There is so much misinformation in this thread it is hard to read. Gee whiz.
dijkarte said:
I'm trying to design a circuit that differentiate a signal using a differentiating amplifier. What I want to do is to calculate the nth derivative of the signal based on a count I specify. How can I apply the same amplifier to the signal several times?
Thanks.
Like I said in the previous thread where you asked, you need to do it in a discrete-time way. Sampling theory says you can convert back and forth from continuous to discrete without loss of information. Discrete-time circuits are an advanced topic not generally covered until graduate school. Stick with single-stage transistor amplifiers and opamp circuits right now for goodness sake!
uart said:
There's no easy way to do that with a continuous time signal. I know that in your other thread a sample and hold was mentioned, but that won't work.
You've really got two choices.
1. Sample and use a DPS to do it. OR
2. Use multiple differentiating amplifier's and analog switches to select "n" (and then after you build it, and find that all you are getting out is noise, then use the DSP).
I said use a sample-and-hold and of course it will work. The vast majority of commercial and industrial analog signal processing is done using discrete-time circuits. So a third option would be to design a discrete-time signal processor. And the low SNR thing doesn't matter in discrete time since the noise is filtered out using the continuous-time reconstruction filter on the back end of the circuit.
What dijkarte is asking for is a high-order differentiator circuit. This is one of the key functions of delta-sigma modulation which is used in EVERY cell phone. The vast majority of modulators use discrete-time signal processing. The whole point of delta-sigma (besides the oversampling) is to exploit the noise enhancement out-of-band by using differentiators and filtering.
dijkarte said:
It's supposed to be real-time system. And pure analog no software or any DSP.
I'm trying to think of an analog memory circuit that stores an analog signal in a fixed period from t0 to t1. This way I can buffer part of the signal while one part is being processed.
Like I said before, use a sample-and-hold and do your processing in the discrete-time domain.
rbj said:
you realize the contradiction in spec's you're making here.
what is an "analog memory circuit"? CCD? if so, then you're sampling. if you're sampling what's the problem with DSP?
What contradiction? I think dijkarte is going about things the wrong way but you're not helping. Of course dijkarte has to sample (otherwise his/her request makes no sense) but sampling does not imply DSP. People were sampling long before DSP was available.
People haven't used CCDs as filters since the mid-70s. I don't think they were ever popular for that application. Switched-cap circuits killed them, just like DRAM killed them for memory applications and active pixels have mostly killed them for imaging.
uart said:
Ok. So what is the output of this "continuous time" system doing while you're looping your "analog memory" though it "n" times?
You need to start with the basics and get a better understanding of how real time systems work before starting on what ever this project is.
You might do with a bit of a refresher yourself. Wow, such hostility in this thread. Before the world was digitized in the 90s there were a lot of discrete-time circuits doing "continuous-time" processing without DSP. As long as they satisfy the Nyquist Criterion they're golden. Even today they are all over the place.
dijkarte said:
Yeah I think the way I'm approaching it is unrealistic and wrong, trying to unify the concepts...however I thinking there's a problem with the way analog is developed. It's based on limited-functionality components that have been around for decades and they stuck to the old school not willing to change. There are a very quite few pioneers in analog. I'm really surprised that there's no well established way to apply the same circuit multiple times on a signal and it has to use either DSP or hard-wire a fixed number of probably expensive cascaded circuits. Another shock is there's no analog buffer. Cannot we store the signal temporarily for a specific short period and restore it? I believe nothing impossible but
old-schoolers need to think out of the box a little bit.
There is an extremeley well-established way to do this. Discrete-time signal processing based on switched-capacitor circuits. These were invented in the 1970s and are EVERYWHERE in modern electronics.
I told you how to store a signal in a previous thread... use a sample-and-hold. You are sooooo far in over your head, my friend. This is advanced stuff... you're not going to understand until you learn some basics.
DragonPetter said:
You cannot design a complex analog circuit from a software perspective. Either do it in software with some kind of digital hardware, or think outside your software box and get new perspectives for the analog continuous world. This "I know better than the old-schoolers analog guys" chip on your shoulder mentality has got to be modified. Most of the old-schooler analog guys also know a lot of digital hardware and software as well. Its not enough to know how to do something in analog or digital; its also about knowing when to use which technique for a given application that is more important. If you are working for someone or want to be taken seriously, you should choose the best technique for the application.
Derivatives in analog circuitry are continuous and that seems like a fundamental misunderstanding with your post because, again, you only see it in the way it is done in software. There is no reason to iteratively "loop" as you would in software, the differentiation is instantaneous. Your signal will have history in it because it is continuous and the system is causal, and so simply feeding the same signal back into the differentiator is not that simple since your past output and new input will be indistinguishable.
You need to think more about what a continuous signal means, the signal timing, and the response of your circuit. There are not indispensable generic "buffers", but there are time delays, phase shifts, switching, modulations, and other continuous time signal manipulation tricks that people use. Also, I agree with UART that repeated derivations will amplify your noise and ruin your SNR without really careful and well thought out design. I doubt an undergrad computer science curriculum even teaches many tools of DSP (although some courses may have overlap with EE counterparts), and so I think you need a better survey of the landscape before you try to evaluate the merit of techniques (but that doesn't mean you shouldn't try them for learning/fun).
I don't think many people on this board know much about discrete-time processing of continuous-time signals. But certainly a CS undergrad will lack the tools to understand it without a lot of remedial reading.
dijkarte said:
I've never said I know better than the masters. I'm just saying I'm thinking of it differently.
But you need to be more careful about how you write. You are coming across like an uninformed jerk in some of the things you say. It may not be intentional but that is how you look. So much innovation has been done in analog circuits in the last 100 years. Did you know that the Battle of Britain was won in large part because of radar-directed artillery? Guns controlled by linear predictive ANALOG circuits were able to take the integral of velocity in real time and predict the location of German planes and buzz bombs. Did you know that the original nuclear power plants and jet aircraft were designed using ANALOG computers?
Anyway, here is how you would build a circuit to do an arbitrary number of derivatives.
Here's how it works. On the left is a continuous-time anti-alias filter to make sure there isn't any aliasing when you sample.
In the middle is the switched-capacitor differentiator circuit. It is driven by a two-phase non-overlapping clock. On Phi 2 it either samples the input or the fed-back signal (the drawing should have a AND gate driving the first Phi 2 switch. The output of the anti-aliasing filter should only be sampled on the first loop... sorry!) Then the first difference of the input is taken by the sampling of the signal onto C1 and then transferring it to C2. (when you map the real number line into the unit circle by sampling, the first derivative collapses into the first difference). The counter counts each clock period the recirculates the signal until you are done. You can take the second difference, third difference, whatever. The increased noise is rejected by the reconstruction filter on the right which converts the signal back to continuous-time.
You have to follow Nyquist here and make sure the highest frequency in the input signal is significantly less that twice the sampling rate.
I'm almost positive you have no idea what I'm talking about. I'm begging you to learn basics. If you must jump years ahead, here is a good writeup on switched-capacitor techniques:
http://www.aicdesign.org/scnotes/2001notes/Chapter09(6=4=01)-2UP.pdf