>>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
> > �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. �
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.
>�����������������������������������������������������������������������
>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.
�����������������������������������������������������������������������
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. �
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),
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