Reply by JM1970 September 10, 20092009-09-10
>>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. >>Google that to see what its disadvantages might be. >> >>> 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. >>����������������������������������������������������������������������� >>Jerry, >Thanks for the link to the coefficient calculator. I will research >inpulse invariant designs per your suggestion. In answer to your
question,
>I figured the product of the two complex quantities H(f) and S(f) - the >complex filter response and the complex signal response, respectively - >would give the magnitude and phase response of the output Y(f). If >H(f)=A1(f)*exp(2pi*f*t+phi(f)) and s(f)=A2(f)*exp(2pi*f*t), then the >product Y(f)=A1A2exp(2*pi*f*phi(f)), should be the filtered PSD, and if
the
>IFFT of this is computed, it should yield the filtered signal including
the
>effects of the group delay and attenuation characteristic of the filter >described by H(f) (I think). >John M. >I meant H(f)=A1(f)*exp(j*phi1(f)),s(f)=A2(f)*exp(j*phi2(f)) and
Y(f)=A1(f)A2(f)*exp(phi1(f)+phi2(f)).
Reply by Rune Allnor September 10, 20092009-09-10
On 10 Sep, 05:30, "JM1970" <ra...@sbcglobal.net> wrote:
> >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 > > &#4294967295;standard method. > >- If you have any valid arguments why the standard Chebs > > &#4294967295;are unsuitable for your application, don't use the Cheb. > > >And since the fact that you need such advice tells me > >something about your skill level, I'll add another couple > >of advices for free: > > >- Learn the basics of filters and filter design. > >- There are some standard filtersing problems, where > > &#4294967295;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. &#4294967295;Your points are > well taken. &#4294967295;
You should be aware that there are filter design methods around (and have been, for a long time) that are fairly flexible. Again, expect people to become curious or even sceptical of you if you use non-standard methods to work the standard problems. Doing so will indicate one of two: 1) You are an amateur who don't know the standard tools, in which case people are right in being sceptical of you. Which will do you no good. 2) You are way beyond the rest and have seen something in the problem others have not, that warrants the use of non-standard methods. In which case people are right in being sceptical of you, since most problems that appear to be standard in fact are standard. Which will do you no good. So when you encounter a standard problem, stick to the standard solutions. Rune
Reply by JM1970 September 10, 20092009-09-10
>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. >Google that to see what its disadvantages might be. > >> 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 inpulse invariant designs per your suggestion. In answer to your question, I figured the product of the two complex quantities H(f) and S(f) - the complex filter response and the complex signal response, respectively - would give the magnitude and phase response of the output Y(f). If H(f)=A1(f)*exp(2pi*f*t+phi(f)) and s(f)=A2(f)*exp(2pi*f*t), then the product Y(f)=A1A2exp(2*pi*f*phi(f)), should be the filtered PSD, and if the IFFT of this is computed, it should yield the filtered signal including the effects of the group delay and attenuation characteristic of the filter described by H(f) (I think). John M.
Reply by JM1970 September 10, 20092009-09-10
>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 >something about your skill level, I'll add another couple >of advices for free: > >- 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.
Reply by Rob Gaddi September 9, 20092009-09-09
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. -- Rob Gaddi, Highland Technology Email address is currently out of order
Reply by Jerry Avins September 9, 20092009-09-09
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. Google that to see what its disadvantages might be.
> 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. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Reply by Rune Allnor September 9, 20092009-09-09
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. &#4294967295;
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 something about your skill level, I'll add another couple of advices for free: - 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
Reply by JM1970 September 9, 20092009-09-09
>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.
Reply by Greg Berchin September 4, 20092009-09-04
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
Reply by Rune Allnor September 4, 20092009-09-04
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