Thread Subject: "Match" analog filter with a digital one

Subject: "Match" analog filter with a digital one

From: tigana123

Date: 9 Nov, 2007 15:48:49

Message: 1 of 4

Hi,

I want to include the effect of an analog filter into my Matlab DSP simulation bench. Thus, I'm looking for a way to "map" the mag and phase response of the analog filter to a digital equivalent.

I was trying the impinvar and the bilinear Matlab functions to transform the analog filter to a digital one. However neither of them works satisfactory. For example impinvar produces erroneous results if it is used with an elliptic low pass filter. Bilinear works somewhat better in the sense that the in-band (LP elliptic) mag response of the digital filter is close to the analog one. However out-of-band mag response starts top deviate from the analog one and group delay also presents some mismatches (especially close to the peaks) from the one obtained by the analog filter.

Any ideas?

Thanks

Subject: "Match" analog filter with a digital one

From: Rune Allnor

Date: 9 Nov, 2007 16:49:12

Message: 2 of 4

On 9 Nov, 16:48, tigana123 <georgan...@ieee.org> wrote:
> Hi,
>
> I want to include the effect of an analog filter into my Matlab DSP simulation bench. Thus, I'm looking for a way to "map" the mag and phase response of the analog filter to a digital equivalent.
>
> I was trying the impinvar and the bilinear Matlab functions to transform the analog filter to a digital one. However neither of them works satisfactory. For example impinvar produces erroneous results if it is used with an elliptic low pass filter. Bilinear works somewhat better in the sense that the in-band (LP elliptic) mag response of the digital filter is close to the analog one. However out-of-band mag response starts top deviate from the analog one and group delay also presents some mismatches (especially close to the peaks) from the one obtained by the analog filter.

Analog filters are not digital, so these sorts of problems
are to be expected when you try to include them in the DSP.

You have a few choises:

- Keep the current set-up and come up with a very
  good reason why you need all those details you
  correctly have pointed out don't quite match.
  Why do you *really* need all that to match?

- Assuming you actually come up with an argument
  for why this is important, either simulate a
  pre-sampling system with significantly higher
  sampling frequency than the DSP part of the system.
  Use the usual tools to design a digital filter
  which emulates the analog filter more closely
  in the band of interest, and simulate the ADC
  as a down-sampler.

- Use a computer aided tool to design a digital filter
  which is sampled at your system sampling frequency
  and also emulates the analog filter "sufficiently
  well."

Rune

Subject: "Match" analog filter with a digital one

From: tigana123

Date: 9 Nov, 2007 17:29:43

Message: 3 of 4

Thanks Rune,

I need to include this filter to "emulate" the effect of the antialias filter before the ADC. Both mag and droup delay are critical to the system performance.

I agree that I can use a high sampling rate for the "analog" portion of the system and use the "ADC" to "down-sample" to the real "digital" operating rate. However since I need to pass the signal through the "analog" section then using high rates tends to slow down sim time.

Regarding your last comment -- any tools in mind for the design of such filter?

Thanks

Subject: "Match" analog filter with a digital one

From: Rune Allnor

Date: 9 Nov, 2007 20:44:18

Message: 4 of 4

On 9 Nov, 18:29, tigana123 <georgan...@ieee.org> wrote:
> Thanks Rune,
>
> I need to include this filter to "emulate" the effect of the antialias filter before the ADC. Both mag and droup delay are critical to the system performance.
>
> I agree that I can use a high sampling rate for the "analog" portion of the system and use the "ADC" to "down-sample" to the real "digital" operating rate. However since I need to pass the signal through the "analog" section then using high rates tends to slow down sim time.

Even more reasons to think very carefully through what you
really *need* to do: More complex simulations take more time.

Everybody would like a perfect system if they could get it;
the harsh reality of real-world engineering is that one can
not get a perfect system, one has to relax the parameters
that are insignificant in the context of the application.

Knowing what is insignificant and what can be relaxed
is your responsibility as system designer. If you think
I am not very forthcoming, you are right. I have yet to
encounter a system "in the wild" where the properties
of the antialias filter make an impact at all. Except
in the all too many cases when the pass-band exceeds the
Nyquist frequency of the digital system...

Rune

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

rssFeed for this Thread

Contact us at files@mathworks.com