0
\$\begingroup\$

A signal from a measurement is filtered with an analog 2nd order low pass filter.
The original signal which consists of the sum of two exponentials (one positive amplitude the other one negative amplitude) slightly changes its shape.
Since the information of important parameters can only be extracted from the unfiltered signal, I would like to undo the filtering digitally. I am aware that it is not possible to obtain the full original bandwidth, but could I theoretically increase the bandwidth? The filter's transfer function numerator is 1 while the denominator is a 2nd order polynomial.

Added:

My goal is to determine the values of an RC low pass (life science application).
A voltage pulse is applied to the low pass filter.
The arising current (which is a mono-exponential and contains the information of the R,C values in its time constant) is converted to a voltage (with an I-V-converter).
The signal is then low-pass-filtered with a 2nd order Bessel filter.
The sampling rate of the system is 20 kHz while the cutoff frequency of the filter is 3 kHz.
Fitting algorithms are used to cancel noise in the output.
My goal is to obtain the mono-exponential for any output signal.

Added: This is the actual circuit I wish to analyze. enter image description here

I would like to obtain the current input at the ampere-meter for any output voltage. Of course in this simulation there is no noise. Before I apply the method to the real system I would like to make it work for the simulation. I've been using the MATLAB system identification toolbox in order to estimate the transfer function. By applying the inverse transfer function to the output I should be able to recover the original current input.

\$\endgroup\$
  • \$\begingroup\$ Why do you want to do it "digitally"? There are analog inverse filter circuits. \$\endgroup\$ – LvW Dec 8 '16 at 10:34
  • \$\begingroup\$ Well I have the signal from the measurement and I cant really change the measurement setup. Undoing the filtering digitally seems to be the easiest solution. I am just not sure how to do it. \$\endgroup\$ – luis Dec 8 '16 at 11:03
  • \$\begingroup\$ To do this digitally, it's important to know the original bandwidth, the filtered bandwidth, and the sample rate that it's digitized at before you get to apply your digital filter. \$\endgroup\$ – The Photon Dec 8 '16 at 17:43
  • \$\begingroup\$ What is the pulse duration? What is the minimum and maximum allowed RC time constant? Is the filter input or output loaded and if so with what? How is the filter implemented (analogue opamps, steam turbines , ...?) Tater than the death by 1000 mini questionlets and progressively revealing factlets approach so beloved by so many, why not tell us ALL there is to know? | ... \$\endgroup\$ – Russell McMahon Dec 10 '16 at 10:32
  • \$\begingroup\$ ... IF the system samples at 20 kHz you'd hope the designer assumed an absolute absolute absolute max f_component of 10 kHz and hopefully. less Even at 20 kHz that's 10 kHz max so Bessel filter is less than 2 octaves below fmax so roll off at 3 dB/pole/octave is < 2 octaves x 3 dB x 2 poles = 12 dB down or about 25% of 10 kHz components will still be there . Bessel is very gentle in stop band characteristics. By placing an equivalent Bessel transfer function in the negtive feedback path of an opamp you have a reasonable chance of getting a half decent facsimile of the input signal. ... \$\endgroup\$ – Russell McMahon Dec 10 '16 at 10:32
1
\$\begingroup\$

In the noiseless case, any signal attenuation can be reversed, by implementing the inverse filter.

In the noisy (that is real world) case, you will be limited by signal to noise ratio. If your small signal has been heavily attenuated, then your recovered signal will be noisier than if it had had neither filtering operation.

\$\endgroup\$
  • \$\begingroup\$ How could I reverse the signal attenuation? \$\endgroup\$ – luis Dec 8 '16 at 9:43
  • \$\begingroup\$ I've added the text 'by implementing the inverse filter' to my reply, which while correct, is unfortunately a statement of the bleedin' obvious, and therefore useless to you. You need to understand how to design digital filters, then you can design an inverse filter. Crudely, if the prior filter introduces 2x loss at some frqeuency, your inverse filter will need 2x gain at the same frequency. Sounds easy. People write PhDs on techniques for it. I spent about 6 months in my day job writing a package that would generate inverse filters automatically from calibration measurements of the filter. \$\endgroup\$ – Neil_UK Dec 8 '16 at 11:22
  • \$\begingroup\$ You'll also have a hard time implementing the inverse filter digitally if the bandwidth you're trying to recover is above the Nyquist rate of the digitized signal. \$\endgroup\$ – The Photon Dec 8 '16 at 17:44
0
\$\begingroup\$

If you know the actual transfer function of the filter then passing the signal through an amplifier with a filter with transfer function equivalent to the original filter in the negative feedback path 'should' return the original signal, subject to any non-idealities encountered along the way.

If you know what any non idealities are in the original system, then if you can model them you can also inversely apply them s above. Some such will be impossible - eg random noise is random (natch) and cannot be systematically undone.

To get more than general advice you will need to describe your overall requirement and not just reveal parts of it that you think are important while squirreling away stuff that may be of value. eg the statement
" ... Since the information of important parameters can only be extracted from the unfiltered signal, I would like to undo the filtering ..."
MAY be true but is suspect. It may be that adding a transformation to your extraction process is a more correct approach than "restoring" the signal BUT as we do not know what you are doing we cannot advise appropriately.

We need to know what the processes were that were used to transform the input signal to the current signal. As 'The Phton' rightly point out in a comment to this answer, processing may have been applied to the signal which caused irrecoverable loss. If you want a quality answer then you must improve the equality of your question - especially in terms of signal and system description and what information you consider has been lost.

Digitally or analoguely is not a primary issue. There may be 2nd order effects introduced by the technology used but they are incidental to the task proper.


Based on the additional step by step revealed information:

What is the pulse duration?
What is the minimum and maximum allowed RC time constant?
Is the filter input or output loaded and if so with what?
How is the filter implemented (analogue opamps, steam turbines , ...?)
Why did they use a Bessel filter?
What was the filter meant to do?
Why use an I->V rater than measuring V across a matched load?
Why not resist te temptation to be mysterious and give us a diagram with ALL* the pertinent stuff on it? (*-ALL!)

Rather than the death by 1000 mini questionlets and progressively revealing factlets approach so beloved by so many, why not tell us ALL there is to know?


IF (as you say) the system samples at 20 kHz you'd hope the designer assumed an absolute absolute absolute max f_component of 10 kHz and hopefully less.
At 20 kHz fclk/2 = 10 kHz max so Bessel filter cutoff is less than 2 octaves below fmax (10 kHz / 3.2 KHz < (2 x 2)) so roll off at 3 dB/pole/octave is < 2 octaves x 3 dB x 2 poles = 12 dB down or about 25% of 10 kHz components will still be there . Bessel is very gentle in stop band characteristics. By placing an equivalent Bessel transfer function in the negtive feedback path of an opamp you have a reasonable chance of getting a half decent facsimile of the input signal. ... – Russell McMahon 18 secs ago edit

| Your fitting algorithms [tm] need to be defitted and as we have no clue waht that means we have no clue as to what defitting entails. If you know then telling us is probably a REALLY good idea. If you are processing the result in software then doing the above in software probably makes good sense. There may be reasons this is not so but if so you haven't told us.

\$\endgroup\$
  • \$\begingroup\$ Digital vs analog is an important issue if the digital signal is sampled at too low a rate so that the high frequencies s/he wishes to recover are above the Nyquist rate. \$\endgroup\$ – The Photon Dec 8 '16 at 17:46
  • \$\begingroup\$ @ThePhoton Grinch mode on :-) : Digital versus analogue is an important issue if you value genuine filament hum in the analogue so use valves, or the effects of inexact base conversion representation effects so use digital, or magic so use Octarine crystals :-). ie/But - yes, I of course agree BUT " ... There may be 2nd order effects introduced by the technology used but they are incidental to the task proper. ..." -> ie yes, you have to do it properly but it's secondary to the core task and including it in the specification casually without comment as se does risks confusing the issue. \$\endgroup\$ – Russell McMahon Dec 8 '16 at 20:10
  • \$\begingroup\$ My point is if he's trying to recover signal at 100 kHz but he has a signal that was LPF'ed to 20 kHz and then sampled at 60 kHz, he may as well stop right now. Filament hum and octarine crystals are just pulling stuff out of the air, I'm addressing an issue that OP definitely needs to consider before proceeding. \$\endgroup\$ – The Photon Dec 8 '16 at 21:25
  • \$\begingroup\$ Thanks for your answers, I'll be more precise about the actual problem: My primary goal is to determine the values of an RC low pass (life science application). Therefore a voltage pulse is applied to the low pass. The arising current (which is a mono-exponential and contains the information of the R,C values in its time constant) is converted to a voltage (with an I-V-converter) and later on low-pass-filtered with a 2nd order Bessel filter. The sampling rate of the system is 20 kHz while the cutoff frequency of the filter is 3 kHz. Fitting algorithms are used to cancel noise in the output. \$\endgroup\$ – luis Dec 9 '16 at 13:48
  • \$\begingroup\$ My goal is to obtain the mono-exponential for any output signal. \$\endgroup\$ – luis Dec 9 '16 at 13:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.