DSPRelated.com
Forums

inverse filtering?

Started by sperelat September 10, 2007
I  do time-domain simulation of signal that passed electronic
filters.
Now, my task is reconstructing original signal with signals that
passed filter

To get inverse filgering ,I reversed  transfer function, but it makes
error.


What did I have to do to get inverse filtering?

sperelat wrote:
> I do time-domain simulation of signal that passed electronic > filters. > Now, my task is reconstructing original signal with signals that > passed filter > > To get inverse filgering ,I reversed transfer function, but it makes > error. > > > What did I have to do to get inverse filtering?
You can't undo zeros. Does the original filter substantially remove part of the original signal? Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Hi, 

search for "Equalizer", there is plenty of material on the web.

Simply inverting the filter as said is called "zero forcing equalizer" and
usually it does NOT work.
But building a correction filter that straightens out your PASSBAND may
work very well.

I've got example code here, for experiments:
http://www.elisanet.fi/mnentwig/webroot/zero_forcing_equalizer_example/index.html

Cheers

Markus
On Sep 11, 5:55 am, "mnentwig" <mnent...@elisanet.fi> wrote:
> Hi, > > search for "Equalizer", there is plenty of material on the web. > > Simply inverting the filter as said is called "zero forcing equalizer" and > usually it does NOT work. > But building a correction filter that straightens out your PASSBAND may > work very well. > > I've got example code here, for experiments:http://www.elisanet.fi/mnentwig/webroot/zero_forcing_equalizer_exampl... > > Cheers > > Markus
You need a deconvolution filter. In some cases filters are invertible - except if they are non-min phase of course.
>>You need a deconvolution filter. In some cases filters are invertible
- except if they are non-min phase of course. Not sure about the minimum-phase requirement: From Oppenheim and Schafer, section on "Frequency Response Compensation": "... However, if we assume that the distorting system is stable and causal and require the compensating system to be stable and causal, then perfect compensation is possible only if Hd(z) is a minimum phase system so that it has a stable, causal inverse". OK, if I take the inverse of Hd(z) as compensating filter, then the numerator becomes denominator and vice versa. The inverse of the FIR filter becomes an IIR filter. Further, if Hd(z) has zeros as mentioned by Jerry, then the inverse will have poles at DC => instable. If Hd(z) is not minimum phase, it has zeros outside the unit circle. They become instable poles in the compensating IIR filter. So far I agree, as long as the inverse is supposed to be exact. BUT: a) I don't need "perfect" compensation b) My compensating filter may be non-causal (in other words, I allow for extra delay) I think equalization with an FIR filter will work just fine as long as there are no zeros. It isn't "perfect" unless I use an infinite number of coefficients, but I can reach any accuracy simply by using more taps. If somebody knows that the opposite is true, please post an example. At least the textbook case I tried in Matlab works just fine. Cheers Markus
>> then the inverse will have poles at DC => instable.
Correct that: "then the inverse will have instable poles". -mn
The filters are just mutterworth high-pass and low-pass filters
.
Is there anyway to do this with matlab?

>Is there anyway to do this with matlab? > >
See Jerry's post: "Does the original filter substantially remove part of the original signal?" -mn
On 9 12 ,   1 46 , "mnentwig" <mnent...@elisanet.fi> wrote:
> >Is there anyway to do this with matlab? > > See Jerry's post: > "Does the original filter substantially remove part of the original > signal?" > > -mn
eupp.. There was a wrong word. mutterworth->buttherworth Yes, the filter distorts signals..and that's why I do the simualtion. I have to find the way to reconstruct original signal from data after filtering. Actually, it is Avalanche photodiode that has frequency response similar to high-pass or low-pass filters.
Well...

I've got a program on my web page to find an inverse filter, but it will
give garbage on an "impossible" problem - such as inverting an ideal
highpass.
Anyway, feel free to experiment. 

http://www.elisanet.fi/mnentwig/webroot/nonminphase_inverse/index.html

Note that it makes extensive use of the "magic bullet" operator. So don't
shoot yourself in the foot :)

Cheers

Markus

>eupp.. >There was a wrong word. >mutterworth->buttherworth
and don't even try to spell "Chebyshev"