in article Xns96D8B87FF3D8Eaclarkdanvillesignal@66.133.129.71, Al Clark at dsp@danvillesignal.com wrote on 09/21/2005 19:08:> Jerry Avins <jya@ieee.org> wrote in news:Pv6dneqMBPQ6S6zeRVn-gg@rcn.net: > >> Al Clark wrote: >>> Jerry Avins <jya@ieee.org> wrote in >>> news:DNqdnTN5Vq4ZM6zenZ2dnUVZ_tCdnZ2d@rcn.net:...>>>> >>>> A Hilbert transformer can be just an antisymmetric FIR with alternate >>>> taps zero and the other coefficients inversely proportional to the >>>> tap's distance from the center. If the number of taps is odd, there's >>>> a bonus in that the signal at the center tap (which must be zero for >>>> the FT) is the delayed version of the input without the quadrature >>>> shift. Neither an extra delay line nor half-period delay are needed. >>>> But thinking more on it, the possibly cheaper filter pair with >>>> relatively quadrature outputs ought to work also with negligible >>>> distortion unless the modulating waveform is wide compared to the >>>> carrier. >>> >>> The alternate taps are not always 0. This is true (or perhaps tends >>> to be true) for window based designs of Hilbert transformers. If you >>> use the PM (remez exchange) method, you will have values at all tapsthis does not have to be true, Al. if you give the PM algorithm design constraints that are perfectly half-band symmetric, then the alternate taps do go to zero in theory and virtually in MATLAB (and then kill them explicitly to see how your half-band hilbert xformer does).>>> except the middle coefficient for an odd length FIR filter. The >>> coefficients will always be antisymmetric. >>> >>> The reason to use remez exchange vs windowing methods is that >>> although the phase will always be exactly 90 degrees apart if the FIR >>> filter is antisymmetric, the amplitude response will have errors in >>> the passband (the filter will be bandpass). You can make the the >>> passband very flat with the remez exchange method. This makes your 0 >>> and 90 degree outputs a nearly perfect pair (as long as you are in >>> the passbamd of the FIR) It many cases, you have plenty of MIPS for >>> the additional non zero calculations. The length of the FIR filter >>> needs to be long enough to accommodate the lowest frequency of >>> interest. If you want a 90 phase shift of DC, it would take a FIR >>> filter with infinite taps (it would have a very long group delay as >>> well). >> >> In my limited experience, if a longer filter is no problem, windowed >> filters can execute faster. Although they have longer delay lines, one >> can step through them with a stride of two. I found that a Nuttall >> window worked very well. > > Clearly, an advantage of the windowed filters is that you can use a > filter of twice the length for the same computation cost (and twice the > group delay). > > This is a good illustration of "there's no free lunch" principle. It's > always about balancing one choice against another.the tradeoff is the restriction of exact half-band symmetry. i usually don't give a rat's ass that the magnitude response is flat up to Nyquist - 50Hz, but it is much more important to me that it is flat down to DC + 50 Hz. so, to get that alternate zero tap advantage, i end up having to put up with weighting that is less than optimal. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Hilbert transform using FFT approach
Started by ●September 21, 2005
Reply by ●September 22, 20052005-09-22
Reply by ●September 22, 20052005-09-22
>in article Xns96D8B87FF3D8Eaclarkdanvillesignal@66.133.129.71, Al Clarkat>dsp@danvillesignal.com wrote on 09/21/2005 19:08: > >> Jerry Avins <jya@ieee.org> wrote innews:Pv6dneqMBPQ6S6zeRVn-gg@rcn.net:>> >>> Al Clark wrote: >>>> Jerry Avins <jya@ieee.org> wrote in >>>> news:DNqdnTN5Vq4ZM6zenZ2dnUVZ_tCdnZ2d@rcn.net: >... >>>>> >>>>> A Hilbert transformer can be just an antisymmetric FIR withalternate>>>>> taps zero and the other coefficients inversely proportional to the >>>>> tap's distance from the center. If the number of taps is odd,there's>>>>> a bonus in that the signal at the center tap (which must be zerofor>>>>> the FT) is the delayed version of the input without the quadrature >>>>> shift. Neither an extra delay line nor half-period delay areneeded.>>>>> But thinking more on it, the possibly cheaper filter pair with >>>>> relatively quadrature outputs ought to work also with negligible >>>>> distortion unless the modulating waveform is wide compared to the >>>>> carrier. >>>> >>>> The alternate taps are not always 0. This is true (or perhaps tends >>>> to be true) for window based designs of Hilbert transformers. If you >>>> use the PM (remez exchange) method, you will have values at all taps > >this does not have to be true, Al. if you give the PM algorithm design >constraints that are perfectly half-band symmetric, then the alternatetaps>do go to zero in theory and virtually in MATLAB (and then kill them >explicitly to see how your half-band hilbert xformer does). > >>>> except the middle coefficient for an odd length FIR filter. The >>>> coefficients will always be antisymmetric. >>>> >>>> The reason to use remez exchange vs windowing methods is that >>>> although the phase will always be exactly 90 degrees apart if theFIR>>>> filter is antisymmetric, the amplitude response will have errors in >>>> the passband (the filter will be bandpass). You can make the the >>>> passband very flat with the remez exchange method. This makes your 0 >>>> and 90 degree outputs a nearly perfect pair (as long as you are in >>>> the passbamd of the FIR) It many cases, you have plenty of MIPS for >>>> the additional non zero calculations. The length of the FIR filter >>>> needs to be long enough to accommodate the lowest frequency of >>>> interest. If you want a 90 phase shift of DC, it would take a FIR >>>> filter with infinite taps (it would have a very long group delay as >>>> well). >>> >>> In my limited experience, if a longer filter is no problem, windowed >>> filters can execute faster. Although they have longer delay lines,one>>> can step through them with a stride of two. I found that a Nuttall >>> window worked very well.>> Clearly, an advantage of the windowed filters is that you can use a >> filter of twice the length for the same computation cost (and twicethe>> group delay). >> >> This is a good illustration of "there's no free lunch" principle. It's >> always about balancing one choice against another. > >the tradeoff is the restriction of exact half-band symmetry. i usually >don't give a rat's ass that the magnitude response is flat up to >Nyquist - 50Hz, but it is much more important to me that it is flat downto>DC + 50 Hz. so, to get that alternate zero tap advantage, i end uphaving>to put up with weighting that is less than optimal. > > >-- > >r b-j rbj@audioimagination.com > >"Imagination is more important than knowledge." >Thanks for all your advice, you guys seems to have more than one solution practically to solve any DSP problem. I am trying my best to grasp to your expert advice.Please continue to help beginners like me. One thing, that I am afraid from the using filter approach, is that the as the pass band may have small amount of ripple, the envelope may not follow the peaks of the signal very closely. Also I am not quite familiar about implementing this filter approach in MATLAB. Fsig = 240khz, Fs= 10Mhz thanks Paul This message was sent using the Comp.DSP web interface on www.DSPRelated.com
Reply by ●September 22, 20052005-09-22
"w106pjs" <w106pjs@yahoo.com> wrote in news:EsWdnY1skc8HOK_eRVn-gg@giganews.com:>>in article Xns96D8B87FF3D8Eaclarkdanvillesignal@66.133.129.71, Al >>Clark > at >>dsp@danvillesignal.com wrote on 09/21/2005 19:08: >> >>> Jerry Avins <jya@ieee.org> wrote in > news:Pv6dneqMBPQ6S6zeRVn-gg@rcn.net: >>> >>>> Al Clark wrote: >>>>> Jerry Avins <jya@ieee.org> wrote in >>>>> news:DNqdnTN5Vq4ZM6zenZ2dnUVZ_tCdnZ2d@rcn.net: >>... >>>>>> >>>>>> A Hilbert transformer can be just an antisymmetric FIR with > alternate >>>>>> taps zero and the other coefficients inversely proportional to >>>>>> the tap's distance from the center. If the number of taps is odd, > there's >>>>>> a bonus in that the signal at the center tap (which must be zero > for >>>>>> the FT) is the delayed version of the input without the >>>>>> quadrature shift. Neither an extra delay line nor half-period >>>>>> delay are > needed. >>>>>> But thinking more on it, the possibly cheaper filter pair with >>>>>> relatively quadrature outputs ought to work also with negligible >>>>>> distortion unless the modulating waveform is wide compared to the >>>>>> carrier. >>>>> >>>>> The alternate taps are not always 0. This is true (or perhaps >>>>> tends to be true) for window based designs of Hilbert >>>>> transformers. If you use the PM (remez exchange) method, you will >>>>> have values at all taps >> >>this does not have to be true, Al. if you give the PM algorithm >>design constraints that are perfectly half-band symmetric, then the >>alternate > taps >>do go to zero in theory and virtually in MATLAB (and then kill them >>explicitly to see how your half-band hilbert xformer does). >> >>>>> except the middle coefficient for an odd length FIR filter. The >>>>> coefficients will always be antisymmetric. >>>>> >>>>> The reason to use remez exchange vs windowing methods is that >>>>> although the phase will always be exactly 90 degrees apart if the > FIR >>>>> filter is antisymmetric, the amplitude response will have errors >>>>> in the passband (the filter will be bandpass). You can make the >>>>> the passband very flat with the remez exchange method. This makes >>>>> your 0 and 90 degree outputs a nearly perfect pair (as long as you >>>>> are in the passbamd of the FIR) It many cases, you have plenty of >>>>> MIPS for the additional non zero calculations. The length of the >>>>> FIR filter needs to be long enough to accommodate the lowest >>>>> frequency of interest. If you want a 90 phase shift of DC, it >>>>> would take a FIR filter with infinite taps (it would have a very >>>>> long group delay as well). >>>> >>>> In my limited experience, if a longer filter is no problem, >>>> windowed filters can execute faster. Although they have longer >>>> delay lines, > one >>>> can step through them with a stride of two. I found that a Nuttall >>>> window worked very well. > > > >>> Clearly, an advantage of the windowed filters is that you can use a >>> filter of twice the length for the same computation cost (and twice > the >>> group delay). >>> >>> This is a good illustration of "there's no free lunch" principle. >>> It's always about balancing one choice against another. >> >>the tradeoff is the restriction of exact half-band symmetry. i >>usually don't give a rat's ass that the magnitude response is flat up >>to Nyquist - 50Hz, but it is much more important to me that it is flat >>down > to >>DC + 50 Hz. so, to get that alternate zero tap advantage, i end up > having >>to put up with weighting that is less than optimal. >> >> >>-- >> >>r b-j rbj@audioimagination.com >> >>"Imagination is more important than knowledge." >> > Thanks for all your advice, you guys seems to have more than one > solution practically to solve any DSP problem. > I am trying my best to grasp to your expert advice.Please continue to > help beginners like me. > One thing, that I am afraid from the using filter approach, is that > the as > the pass band may have small amount of ripple, the envelope may not > follow > the peaks of the signal very closely. > Also I am not quite familiar about implementing this filter approach > in MATLAB. > Fsig = 240khz, Fs= 10Mhz > > thanks > Paul > > > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.com >There is never an absolutely perfect solution. The FFT approach is not perfect either. You can make the passband ripple very small. What is you sample rate and what is your desired passband? -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Reply by ●September 22, 20052005-09-22
>"w106pjs" <w106pjs@yahoo.com> wrote in >news:EsWdnY1skc8HOK_eRVn-gg@giganews.com: > >>>in article Xns96D8B87FF3D8Eaclarkdanvillesignal@66.133.129.71, Al >>>Clark >> at >>>dsp@danvillesignal.com wrote on 09/21/2005 19:08: >>> >>>> Jerry Avins <jya@ieee.org> wrote in >> news:Pv6dneqMBPQ6S6zeRVn-gg@rcn.net: >>>> >>>>> Al Clark wrote: >>>>>> Jerry Avins <jya@ieee.org> wrote in >>>>>> news:DNqdnTN5Vq4ZM6zenZ2dnUVZ_tCdnZ2d@rcn.net: >>>... >>>>>>> >>>>>>> A Hilbert transformer can be just an antisymmetric FIR with >> alternate >>>>>>> taps zero and the other coefficients inversely proportional to >>>>>>> the tap's distance from the center. If the number of taps is odd, >> there's >>>>>>> a bonus in that the signal at the center tap (which must be zero >> for >>>>>>> the FT) is the delayed version of the input without the >>>>>>> quadrature shift. Neither an extra delay line nor half-period >>>>>>> delay are >> needed. >>>>>>> But thinking more on it, the possibly cheaper filter pair with >>>>>>> relatively quadrature outputs ought to work also with negligible >>>>>>> distortion unless the modulating waveform is wide compared to the >>>>>>> carrier. >>>>>> >>>>>> The alternate taps are not always 0. This is true (or perhaps >>>>>> tends to be true) for window based designs of Hilbert >>>>>> transformers. If you use the PM (remez exchange) method, you will >>>>>> have values at all taps >>> >>>this does not have to be true, Al. if you give the PM algorithm >>>design constraints that are perfectly half-band symmetric, then the >>>alternate >> taps >>>do go to zero in theory and virtually in MATLAB (and then kill them >>>explicitly to see how your half-band hilbert xformer does). >>> >>>>>> except the middle coefficient for an odd length FIR filter. The >>>>>> coefficients will always be antisymmetric. >>>>>> >>>>>> The reason to use remez exchange vs windowing methods is that >>>>>> although the phase will always be exactly 90 degrees apart if the >> FIR >>>>>> filter is antisymmetric, the amplitude response will have errors >>>>>> in the passband (the filter will be bandpass). You can make the >>>>>> the passband very flat with the remez exchange method. This makes >>>>>> your 0 and 90 degree outputs a nearly perfect pair (as long as you >>>>>> are in the passbamd of the FIR) It many cases, you have plenty of >>>>>> MIPS for the additional non zero calculations. The length of the >>>>>> FIR filter needs to be long enough to accommodate the lowest >>>>>> frequency of interest. If you want a 90 phase shift of DC, it >>>>>> would take a FIR filter with infinite taps (it would have a very >>>>>> long group delay as well). >>>>> >>>>> In my limited experience, if a longer filter is no problem, >>>>> windowed filters can execute faster. Although they have longer >>>>> delay lines, >> one >>>>> can step through them with a stride of two. I found that a Nuttall >>>>> window worked very well. >> >> >> >>>> Clearly, an advantage of the windowed filters is that you can use a >>>> filter of twice the length for the same computation cost (and twice >> the >>>> group delay). >>>> >>>> This is a good illustration of "there's no free lunch" principle. >>>> It's always about balancing one choice against another. >>> >>>the tradeoff is the restriction of exact half-band symmetry. i >>>usually don't give a rat's ass that the magnitude response is flat up >>>to Nyquist - 50Hz, but it is much more important to me that it is flat >>>down >> to >>>DC + 50 Hz. so, to get that alternate zero tap advantage, i end up >> having >>>to put up with weighting that is less than optimal. >>> >>> >>>-- >>> >>>r b-j rbj@audioimagination.com >>> >>>"Imagination is more important than knowledge." >>> >> Thanks for all your advice, you guys seems to have more than one >> solution practically to solve any DSP problem. >> I am trying my best to grasp to your expert advice.Please continue to >> help beginners like me. >> One thing, that I am afraid from the using filter approach, is that >> the as >> the pass band may have small amount of ripple, the envelope may not >> follow >> the peaks of the signal very closely. >> Also I am not quite familiar about implementing this filter approach >> in MATLAB. >> Fsig = 240khz, Fs= 10Mhz >> >> thanks >> Paul >> >> >> >> This message was sent using the Comp.DSP web interface on >> www.DSPRelated.com >> > >There is never an absolutely perfect solution. The FFT approach is not >perfect either. You can make the passband ripple very small. What is you>sample rate and what is your desired passband? > >-- >Al Clark >Danville Signal Processing, Inc. >-------------------------------------------------------------------- >Purveyors of Fine DSP Hardware and other Cool Stuff >Available at http://www.danvillesignal.com >Fp1 = 180khz , Fp2 = 300khz Fs1 = 120khz, Fs2 = 360khz Fs = 10Mhz This message was sent using the Comp.DSP web interface on www.DSPRelated.com
Reply by ●September 22, 20052005-09-22
w106pjs wrote: ...> One thing, that I am afraid from the using filter approach, is that the as > the pass band may have small amount of ripple, the envelope may not follow > the peaks of the signal very closely. > Also I am not quite familiar about implementing this filter approach in > MATLAB. > Fsig = 240khz, Fs= 10MhzOf course the passband will have ripple; that's unavoidable with any method. The pertinent questions are How much? and How much is tolerable? Problems don't have perfect solutions. "Solving" a problem means finding a compromise that suits your needs. Think "error budget". Jerry -- You know that the outhouse is in the right place if ��� it seems too close in summer and too far in winter. ��� �������������������������������������������������������������������
Reply by ●September 22, 20052005-09-22
in article Xns96D9564CEE1F0aclarkdanvillesignal@66.133.129.71, Al Clark at dsp@danvillesignal.com wrote on 09/22/2005 09:29:>> Thanks for all your advice, you guys seems to have more than one >> solution practically to solve any DSP problem. >> I am trying my best to grasp to your expert advice.Please continue to >> help beginners like me. >> One thing, that I am afraid from the using filter approach, is that >> the as >> the pass band may have small amount of ripple, the envelope may not >> follow the peaks of the signal very closely. >> Also I am not quite familiar about implementing this filter approach >> in MATLAB. >> Fsig = 240khz, Fs= 10Mhz >> > > There is never an absolutely perfect solution. The FFT approach is not > perfect either. You can make the passband ripple very small. What is you > sample rate and what is your desired passband?the other thing is that, if i understand the OP correctly, when he says "FFT approach" vs. "filter approach", they are both methods of accomplishing the same task, that is filtering. his/her "FFT approach" is the "fast convolution" implementation of an FIR approximation to a delayed hilbert transformer. (so the design of the filter, windowed 1/t vs. Parks-McClellan, is not material.) if that's not the case, i am totally bewildered. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by ●September 22, 20052005-09-22
w106pjs wrote:> >w106pjs wrote: > > > > ... > > > >> The purpose [of the quadrature signals] is to generate the envelope of > the real > >> sequence of data using the analytic signal approach using the FFT > approach > > > > > >Then you don't want the phase distortion that comes with computationally > > >cheaper ways. If the frequencies that in the envelope lie in a > >relatively narrow band around the carrier, and the sample rate is high > >enough to reproduce the carrier, then it sounds quite doable. > >Narrow-band HTs aren't too hard. Do you have Matlab or anything like it? > > > >Where does the FFT fit in? Given quadrature signals I[n] and Q[n], the > >envelope is E[n] = sqrt(I[n]^2 + Q[n]^2]. There are decent > >approximations for the square root of the sum of squares. > > > >Jerry > >-- > >Engineering is the art of making what you want from things you can get. > > Jerry, > > what I meant is Hilbert function in MATLAB uses fft approach in generating > the analytic signal. > Is that similar approach implementable in real time. ? > FYI > Fsig = 240khz, Fs = 10 Mhz.. > > > > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.comOne way to split this real signal into quadrature channels is to apply two bandpass filters constructed from lowpass prototypes. Make a FIR LPF with half your desired bandwidth. Then multiply the taps by sine and cosine of 240 kHz to make them into BPFs. If you pass the input through each of the filters (sine and cosine), the outputs will be in quadrature. This can also be done by mixing the signal down to DC using sine and cosine of 240 kHz, filtering with the same LPFs (identical on each channel), and then complex mixing back up to 240 kHz. The real and imaginary parts will be your quadrature channels. John
Reply by ●September 22, 20052005-09-22
w106pjs wrote:> >w106pjs wrote: > > > > ... > > > >> The purpose [of the quadrature signals] is to generate the envelope of > the real > >> sequence of data using the analytic signal approach using the FFT > approach > > > > > >Then you don't want the phase distortion that comes with computationally > > >cheaper ways. If the frequencies that in the envelope lie in a > >relatively narrow band around the carrier, and the sample rate is high > >enough to reproduce the carrier, then it sounds quite doable. > >Narrow-band HTs aren't too hard. Do you have Matlab or anything like it? > > > >Where does the FFT fit in? Given quadrature signals I[n] and Q[n], the > >envelope is E[n] = sqrt(I[n]^2 + Q[n]^2]. There are decent > >approximations for the square root of the sum of squares. > > > >Jerry > >-- > >Engineering is the art of making what you want from things you can get. > > Jerry, > > what I meant is Hilbert function in MATLAB uses fft approach in generating > the analytic signal. > Is that similar approach implementable in real time. ? > FYI > Fsig = 240khz, Fs = 10 Mhz.. > > > > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.comOne way to split this real signal into quadrature channels is to apply two bandpass filters constructed from lowpass prototypes. Make a FIR LPF with half your desired bandwidth. Then multiply the taps by sine and cosine of 240 kHz to make them into BPFs. If you pass the input through each of the filters (sine and cosine), the outputs will be in quadrature. This can also be done by mixing the signal down to DC using sine and cosine of 240 kHz, filtering with the same LPFs (identical on each channel), and then complex mixing back up to 240 kHz. The real and imaginary parts will be your quadrature channels. John
Reply by ●September 22, 20052005-09-22
"w106pjs" <w106pjs@yahoo.com> wrote in news:TfmdnUvxGOSsLq_enZ2dnUVZ_tCdnZ2d@giganews.com:>>"w106pjs" <w106pjs@yahoo.com> wrote in >>news:EsWdnY1skc8HOK_eRVn-gg@giganews.com: >> >>>>in article Xns96D8B87FF3D8Eaclarkdanvillesignal@66.133.129.71, Al >>>>Clark >>> at >>>>dsp@danvillesignal.com wrote on 09/21/2005 19:08: >>>> >>>>> Jerry Avins <jya@ieee.org> wrote in >>> news:Pv6dneqMBPQ6S6zeRVn-gg@rcn.net: >>>>> >>>>>> Al Clark wrote: >>>>>>> Jerry Avins <jya@ieee.org> wrote in >>>>>>> news:DNqdnTN5Vq4ZM6zenZ2dnUVZ_tCdnZ2d@rcn.net: >>>>... >>>>>>>> >>>>>>>> A Hilbert transformer can be just an antisymmetric FIR with >>> alternate >>>>>>>> taps zero and the other coefficients inversely proportional to >>>>>>>> the tap's distance from the center. If the number of taps isodd,>>> there's >>>>>>>> a bonus in that the signal at the center tap (which must be zero >>> for >>>>>>>> the FT) is the delayed version of the input without the >>>>>>>> quadrature shift. Neither an extra delay line nor half-period >>>>>>>> delay are >>> needed. >>>>>>>> But thinking more on it, the possibly cheaper filter pair with >>>>>>>> relatively quadrature outputs ought to work also with negligible >>>>>>>> distortion unless the modulating waveform is wide compared tothe>>>>>>>> carrier. >>>>>>> >>>>>>> The alternate taps are not always 0. This is true (or perhaps >>>>>>> tends to be true) for window based designs of Hilbert >>>>>>> transformers. If you use the PM (remez exchange) method, you will >>>>>>> have values at all taps >>>> >>>>this does not have to be true, Al. if you give the PM algorithm >>>>design constraints that are perfectly half-band symmetric, then the >>>>alternate >>> taps >>>>do go to zero in theory and virtually in MATLAB (and then kill them >>>>explicitly to see how your half-band hilbert xformer does). >>>> >>>>>>> except the middle coefficient for an odd length FIR filter. The >>>>>>> coefficients will always be antisymmetric. >>>>>>> >>>>>>> The reason to use remez exchange vs windowing methods is that >>>>>>> although the phase will always be exactly 90 degrees apart if the >>> FIR >>>>>>> filter is antisymmetric, the amplitude response will have errors >>>>>>> in the passband (the filter will be bandpass). You can make the >>>>>>> the passband very flat with the remez exchange method. This makes >>>>>>> your 0 and 90 degree outputs a nearly perfect pair (as long asyou>>>>>>> are in the passbamd of the FIR) It many cases, you have plenty of >>>>>>> MIPS for the additional non zero calculations. The length of the >>>>>>> FIR filter needs to be long enough to accommodate the lowest >>>>>>> frequency of interest. If you want a 90 phase shift of DC, it >>>>>>> would take a FIR filter with infinite taps (it would have a very >>>>>>> long group delay as well). >>>>>> >>>>>> In my limited experience, if a longer filter is no problem, >>>>>> windowed filters can execute faster. Although they have longer >>>>>> delay lines, >>> one >>>>>> can step through them with a stride of two. I found that a Nuttall >>>>>> window worked very well. >>> >>> >>> >>>>> Clearly, an advantage of the windowed filters is that you can use a >>>>> filter of twice the length for the same computation cost (and twice >>> the >>>>> group delay). >>>>> >>>>> This is a good illustration of "there's no free lunch" principle. >>>>> It's always about balancing one choice against another. >>>> >>>>the tradeoff is the restriction of exact half-band symmetry. i >>>>usually don't give a rat's ass that the magnitude response is flat up >>>>to Nyquist - 50Hz, but it is much more important to me that it isflat>>>>down >>> to >>>>DC + 50 Hz. so, to get that alternate zero tap advantage, i end up >>> having >>>>to put up with weighting that is less than optimal. >>>> >>>> >>>>-- >>>> >>>>r b-j rbj@audioimagination.com >>>> >>>>"Imagination is more important than knowledge." >>>> >>> Thanks for all your advice, you guys seems to have more than one >>> solution practically to solve any DSP problem. >>> I am trying my best to grasp to your expert advice.Please continue to >>> help beginners like me. >>> One thing, that I am afraid from the using filter approach, is that >>> the as >>> the pass band may have small amount of ripple, the envelope may not >>> follow >>> the peaks of the signal very closely. >>> Also I am not quite familiar about implementing this filter approach >>> in MATLAB. >>> Fsig = 240khz, Fs= 10Mhz >>> >>> thanks >>> Paul >>> >>> >>> >>> This message was sent using the Comp.DSP web interface on >>> www.DSPRelated.com >>> >> >>There is never an absolutely perfect solution. The FFT approach is not >>perfect either. You can make the passband ripple very small. What isyou> >>sample rate and what is your desired passband? >> >>-- >>Al Clark >>Danville Signal Processing, Inc. >>-------------------------------------------------------------------- >>Purveyors of Fine DSP Hardware and other Cool Stuff >>Available at http://www.danvillesignal.com >> > > Fp1 = 180khz , Fp2 = 300khz > Fs1 = 120khz, Fs2 = 360khz > Fs = 10Mhz > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.comI came up with a 63 tap filter for about .2dB of ripple. If you only care about 180 to 300 kHz however you might reduce the sampling rate considerably first by decimation. This will make the hilbert filter much shorter. If the sample rate is reduced to 1MHz (decimate by 10), the hilbert transformer was just 7 taps for a very good filter in your passband. Decimation by 10 would probably work out better by decimating twice by maybe 3 or 4 each time. This probably makes the low pass filtering cheaper. You can run your own scenerios in matlab or another filter program (I used QEDesign). -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Reply by ●September 23, 20052005-09-23
robert bristow-johnson wrote:> in article Xns96D9564CEE1F0aclarkdanvillesignal@66.133.129.71, Al Clark at > dsp@danvillesignal.com wrote on 09/22/2005 09:29: > > >>>Thanks for all your advice, you guys seems to have more than one >>>solution practically to solve any DSP problem. >>>I am trying my best to grasp to your expert advice.Please continue to >>>help beginners like me. >>>One thing, that I am afraid from the using filter approach, is that >>>the as >>>the pass band may have small amount of ripple, the envelope may not >>>follow the peaks of the signal very closely. >>>Also I am not quite familiar about implementing this filter approach >>>in MATLAB. >>>Fsig = 240khz, Fs= 10Mhz >>> >> >>There is never an absolutely perfect solution. The FFT approach is not >>perfect either. You can make the passband ripple very small. What is you >>sample rate and what is your desired passband? > > > the other thing is that, if i understand the OP correctly, when he says "FFT > approach" vs. "filter approach", they are both methods of accomplishing the > same task, that is filtering. his/her "FFT approach" is the "fast > convolution" implementation of an FIR approximation to a delayed hilbert > transformer. (so the design of the filter, windowed 1/t vs. > Parks-McClellan, is not material.) if that's not the case, i am totally > bewildered.I didn't even consider that he might mean fast convolution. With his relatively narrow bandwidth need, a transversal convolution is pretty short, as Al pointed out. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������