# Effect of Nonlinear Group Delay on Signals

Started by September 3, 2009
```Hello,
I am trying to model the effect of group delay of an analog filter with
complex transfer function H(f) on a phase modulated signal s(t), with a
complex spectrum S(f). The analog filter I would like employ is a Chebyshev
n=4, with 0.1dB ripple, but the exact filter is not important right now.

In continuous time, the answer seems simple:  The filtered signal is just
the inverse fourier transform of the product of S(f) and H(f).

The concept for my discrete time model is the same, but I am unsure if it
volates any laws of DSP.  If I take N samples of s(t)at a rate fs, then
perform an FFT of length Nfft=N,it is sampled in the frequency domain at
intervals nfs/N, where n=0:N-1. If I sample the complex filter transfer
function at these intervals, I get phasors H(f) that I can directly
multiply the spectrum S(f)by to get the filtered spectrum SF(f), where
f=n*fs/N.  To get the filtered singal samples sf(nTs), perform the IFFT of
SF(f).

If there is a way to create a digital Chebyshev filter with the same
magnigude and phase characteristics as an analog Chebyshev filter (or
approximately), then it would seem possible to perform a fast convolution
of the sampled signal, and the impulse response of the filter. Is there a
way to design a digital Chebyshev filter with phase equivalent to an analog
counterpart?  I use linear-phase FIRs most of the time.

Thanks,
John M.

```
```On Sep 3, 10:54&#2013266080;pm, "JM1970" <ra...@sbcglobal.net> wrote:

> I am trying to model the effect of group delay of an analog filter with
> complex transfer function H(f) on a phase modulated signal s(t), with a
> complex spectrum S(f). The analog filter I would like employ is a Chebyshev
> n=4, with 0.1dB ripple, but the exact filter is not important right now. &#2013266080;
>
> In continuous time, the answer seems simple: &#2013266080;The filtered signal is just
> the inverse fourier transform of the product of S(f) and H(f). &#2013266080;
>
> The concept for my discrete time model is the same, but I am unsure if it
> volates any laws of DSP. &#2013266080;If I take N samples of s(t)at a rate fs, then
> perform an FFT of length Nfft=N,it is sampled in the frequency domain at
> intervals nfs/N, where n=0:N-1. If I sample the complex filter transfer
> function at these intervals, I get phasors H(f) that I can directly
> multiply the spectrum S(f)by to get the filtered spectrum SF(f), where
> f=n*fs/N. &#2013266080;To get the filtered singal samples sf(nTs), perform the IFFT of
> SF(f). &#2013266080;

all this is fine, except that you will be performing circular
convolution with your FFT, multiply, IFFT process.  you probably need
to use either "overlap-add" or "overlap-save".

> If there is a way to create a digital Chebyshev filter with the same
> magnigude and phase characteristics as an analog Chebyshev filter (or
> approximately), then it would seem possible to perform a fast convolution
> of the sampled signal, and the impulse response of the filter. Is there a
> way to design a digital Chebyshev filter with phase equivalent to an analog
> counterpart?

here is the deal with digital emulations of analog counterparts:

scalers (multiplication by constant) of signals, and integrators
(w.r.t. time) of signals.  integration is the same as multiplying by 1/
s.

scalers (multiplication by constant) of signals, and delay elements
(shifting w.r.t. time).  delay is the same as multiplying by 1/z = e^(-
sT).

the problem is that we cannot represent 1/s exactly.  it would be 1/s
= -T/log(1/z).  (T = 1/Fs)  so wherever you see an integrator, just
replace it with -T/log(1/z).  but we don't have anything that performs
log(1/z), so we approximate

1/s = T/2 * (1 + 1/z)/(1 - 1/z)

so, wherever we see an integrator in our analog filter, we replace it
with the expression above which is in terms of delays.  the magnitude
and phase characteristics are the same as the analog, except they
happen at slightly different frequencies.

r b-j
```
```On 4 Sep, 04:54, "JM1970" <ra...@sbcglobal.net> wrote:
> Hello,
> I am trying to model the effect of group delay of an analog filter with
> complex transfer function H(f) on a phase modulated signal s(t), with a
> complex spectrum S(f). The analog filter I would like employ is a Chebysh=
ev
> n=3D4, with 0.1dB ripple, but the exact filter is not important right now=
. =A0
>
> In continuous time, the answer seems simple: =A0The filtered signal is ju=
st
> the inverse fourier transform of the product of S(f) and H(f). =A0
>
> The concept for my discrete time model is the same, but I am unsure if it
> volates any laws of DSP. =A0If I take N samples of s(t)at a rate fs, then
> perform an FFT of length Nfft=3DN,it is sampled in the frequency domain a=
t
> intervals nfs/N, where n=3D0:N-1. If I sample the complex filter transfer
> function at these intervals, I get phasors H(f) that I can directly
> multiply the spectrum S(f)

Depends on what you mean by 'phasors.' You need to multiply
with the complex-valued coefficients, not just the phase terms.

> by to get the filtered spectrum SF(f), where
> f=3Dn*fs/N. =A0To get the filtered singal samples sf(nTs), perform the IF=
FT of
> SF(f). =A0
>
> If there is a way to create a digital Chebyshev filter with the same
> magnigude and phase characteristics as an analog Chebyshev filter (or
> approximately),

Sure it is. This is a standard method for designing IIRs that
is at least mentioned in most texts on DSP, but not always
described in very great detail. If you want to roll your own,
get a book on filter design (Antoniou's 'Digital Signal
Processing' is a good place to find all the gory details.)
Or find a filter design package.

> then it would seem possible to perform a fast convolution
> of the sampled signal, and the impulse response of the filter. Is there a
> way to design a digital Chebyshev filter with phase equivalent to an anal=
og
> counterpart? =A0I use linear-phase FIRs most of the time.

The Chebychev is an IIR filter. The phase response is
nonlinear, but the computation times can be far less than
for FIRs, as there are there are significantly fewer coefficents
in the IIRs. So you will have to decide what means more to you:
Small computational costs or linear phase responses.

Rune
```
```On Thu, 03 Sep 2009 21:54:09 -0500, "JM1970" <rakim@sbcglobal.net>
wrote:

>If there is a way to create a digital Chebyshev filter with the same
>magnigude and phase characteristics as an analog Chebyshev filter (or
>approximately),

DSP Tips & Tricks
Precise Filter Design
Berchin, G.
IEEE Signal Processing Magazine
Jan. 2007
Volume: 24, Issue: 1
pp. 137-139

MATLAB code at:
http://apollo.ee.columbia.edu/spm/external/tipsandtricks/files/TandT_Jan2007.zip

Either or both also available directly from me.

--Greg
```
```>On Thu, 03 Sep 2009 21:54:09 -0500, "JM1970" <rakim@sbcglobal.net>
>wrote:
>
>>If there is a way to create a digital Chebyshev filter with the same
>>magnigude and phase characteristics as an analog Chebyshev filter (or
>>approximately),
>
>DSP Tips & Tricks
>Precise Filter Design
>Berchin, G.
>IEEE Signal Processing Magazine
>Jan. 2007
>Volume: 24, Issue: 1
>pp. 137-139
>
>MATLAB code at:
>http://apollo.ee.columbia.edu/spm/external/tipsandtricks/files/TandT_Jan2007.zip
>
>Either or both also available directly from me.
>
>--Greg
>Greg, I found the FDLS filter design to be particularly pertinent to my
situation. I read both the IEEE article and the example file you listed.
Right after the original post, I decided, in the interest of time, to model
the subject filter using bilinear transformation, but as pointed out in
other posts, the accuracy of this approach is limited.  I am impressed with
the accuracy indicated in the IEEE article, although it appears I will have
to tinker with the number of taps to achieve it. Thanks everyone for your
inputs!
John M.
```
```On 9 Sep, 06:38, "JM1970" <ra...@sbcglobal.net> wrote:

> Right after the original post, I decided, in the interest of time, to model
> the subject filter using bilinear transformation, but as pointed out in
> other posts, the accuracy of this approach is limited. &#2013266080;

Discrete-time (DT) versions of continuous-time (CT) prototypes
can only be approximations to the analog prototype, so the
'accuracy' has been compromised in the moment you decide
to use a DT version of the Chebychev filter.

Once you decide to make a DT Cheb filter, the obvious question
you will have to answer is "why don't you use the standard
method for designing the Cheb filter?"

If problems occur in your application, the fact that you
designed a standard filter by non-standard means will
undermine other people's confidence in you, and their
confidence in your competence and skills.

In summary:

- If you decide to use a Cheb filter, design it by the
standard method.
- If you have any valid arguments why the standard Chebs
are unsuitable for your application, don't use the Cheb.

And since the fact that you need such advice tells me

- Learn the basics of filters and filter design.
- There are some standard filtersing problems, where
the standard Chebs are among the standard solutions.

There are very, very few standard applications where the
properties of the standard IIR filters render them useless.
So you should *really* know what you are talking about
before you start criticising the standard solutions to
the standard problems.

Rune
```
```JM1970 wrote:
> Hello,
> I am trying to model the effect of group delay of an analog filter with
> complex transfer function H(f) on a phase modulated signal s(t), with a
> complex spectrum S(f). The analog filter I would like employ is a Chebyshev
> n=4, with 0.1dB ripple, but the exact filter is not important right now.
>
> In continuous time, the answer seems simple:  The filtered signal is just
> the inverse fourier transform of the product of S(f) and H(f).

How does that tell you the effect of (frequency dependent) group delay?

> The concept for my discrete time model is the same, but I am unsure if it
> volates any laws of DSP.  If I take N samples of s(t)at a rate fs, then
> perform an FFT of length Nfft=N,it is sampled in the frequency domain at
> intervals nfs/N, where n=0:N-1. If I sample the complex filter transfer
> function at these intervals, I get phasors H(f) that I can directly
> multiply the spectrum S(f)by to get the filtered spectrum SF(f), where
> f=n*fs/N.  To get the filtered singal samples sf(nTs), perform the IFFT of
> SF(f).

By modeling the impulse response, you get an impulse-invariant design.

> If there is a way to create a digital Chebyshev filter with the same
> magnigude and phase characteristics as an analog Chebyshev filter (or
> approximately), then it would seem possible to perform a fast convolution
> of the sampled signal, and the impulse response of the filter. Is there a
> way to design a digital Chebyshev filter with phase equivalent to an analog
> counterpart?  I use linear-phase FIRs most of the time.

Convolution is an FIR process. A Chebychev filter is an IIR structure.
You would do well to design it in the usual way. Try the Java ap at
http://www.dsptutor.freeuk.com/IIRFilterDesign/IIRFilterDesign.html

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;
```
```On Thu, 03 Sep 2009 21:54:09 -0500
"JM1970" <rakim@sbcglobal.net> wrote:

> Hello,
> I am trying to model the effect of group delay of an analog filter
> with complex transfer function H(f) on a phase modulated signal s(t),
> with a complex spectrum S(f). The analog filter I would like employ
> is a Chebyshev n=4, with 0.1dB ripple, but the exact filter is not
> important right now.
>
> In continuous time, the answer seems simple:  The filtered signal is
> just the inverse fourier transform of the product of S(f) and H(f).
>
> The concept for my discrete time model is the same, but I am unsure
> if it volates any laws of DSP.  If I take N samples of s(t)at a rate
> fs, then perform an FFT of length Nfft=N,it is sampled in the
> frequency domain at intervals nfs/N, where n=0:N-1. If I sample the
> complex filter transfer function at these intervals, I get phasors
> H(f) that I can directly multiply the spectrum S(f)by to get the
> filtered spectrum SF(f), where f=n*fs/N.  To get the filtered singal
> samples sf(nTs), perform the IFFT of SF(f).
>
> If there is a way to create a digital Chebyshev filter with the same
> magnigude and phase characteristics as an analog Chebyshev filter (or
> approximately), then it would seem possible to perform a fast
> convolution of the sampled signal, and the impulse response of the
> filter. Is there a way to design a digital Chebyshev filter with
> phase equivalent to an analog counterpart?  I use linear-phase FIRs
> most of the time.
>
> Thanks,
> John M.
>

This might be a stupid question, but wouldn't it be easier just to
model the real analog filter in SPICE, write s(t) out to a .WAV file,
and have SPICE play it through and save the result?  This project seems
to involve a great deal of wheel reinvention.

--
Email address is currently out of order
```
```>On 9 Sep, 06:38, "JM1970" <ra...@sbcglobal.net> wrote:
>
>> Right after the original post, I decided, in the interest of time, to
mod=
>el
>> the subject filter using bilinear transformation, but as pointed out
in
>> other posts, the accuracy of this approach is limited. =A0
>
>Discrete-time (DT) versions of continuous-time (CT) prototypes
>can only be approximations to the analog prototype, so the
>'accuracy' has been compromised in the moment you decide
>to use a DT version of the Chebychev filter.
>
>Once you decide to make a DT Cheb filter, the obvious question
>you will have to answer is "why don't you use the standard
>method for designing the Cheb filter?"
>
>If problems occur in your application, the fact that you
>designed a standard filter by non-standard means will
>undermine other people's confidence in you, and their
>confidence in your competence and skills.
>
>In summary:
>
>- If you decide to use a Cheb filter, design it by the
>  standard method.
>- If you have any valid arguments why the standard Chebs
>  are unsuitable for your application, don't use the Cheb.
>
>And since the fact that you need such advice tells me
>
>- Learn the basics of filters and filter design.
>- There are some standard filtersing problems, where
>  the standard Chebs are among the standard solutions.
>
>There are very, very few standard applications where the
>properties of the standard IIR filters render them useless.
>So you should *really* know what you are talking about
>before you start criticising the standard solutions to
>the standard problems.
>
>Rune
>
Rune,
I got all excited about the least squares approach due to its seeming
flexibility in creating filters with arbitrary responses.  Your points are
well taken.  Thank you.
John M.
```
```>JM1970 wrote:
>> Hello,
>> I am trying to model the effect of group delay of an analog filter
with
>> complex transfer function H(f) on a phase modulated signal s(t), with
a
>> complex spectrum S(f). The analog filter I would like employ is a
Chebyshev
>> n=4, with 0.1dB ripple, but the exact filter is not important right
now.
>>
>> In continuous time, the answer seems simple:  The filtered signal is
just
>> the inverse fourier transform of the product of S(f) and H(f).
>
>How does that tell you the effect of (frequency dependent) group delay?
>
>> The concept for my discrete time model is the same, but I am unsure if
it
>> volates any laws of DSP.  If I take N samples of s(t)at a rate fs,
then
>> perform an FFT of length Nfft=N,it is sampled in the frequency domain
at
>> intervals nfs/N, where n=0:N-1. If I sample the complex filter
transfer
>> function at these intervals, I get phasors H(f) that I can directly
>> multiply the spectrum S(f)by to get the filtered spectrum SF(f), where
>> f=n*fs/N.  To get the filtered singal samples sf(nTs), perform the IFFT
of
>> SF(f).
>
>By modeling the impulse response, you get an impulse-invariant design.
>
>> If there is a way to create a digital Chebyshev filter with the same
>> magnigude and phase characteristics as an analog Chebyshev filter (or
>> approximately), then it would seem possible to perform a fast
convolution
>> of the sampled signal, and the impulse response of the filter. Is there
a
>> way to design a digital Chebyshev filter with phase equivalent to an
analog
>> counterpart?  I use linear-phase FIRs most of the time.
>
>Convolution is an FIR process. A Chebychev filter is an IIR structure.
>You would do well to design it in the usual way. Try the Java ap at
>http://www.dsptutor.freeuk.com/IIRFilterDesign/IIRFilterDesign.html
>
>Jerry
>--
>Engineering is the art of making what you want from things you can get.
>&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;
>Jerry,
Thanks for the link to the coefficient calculator.  I will research