Hi All.. 1. As MATLAB uses the FFT approach computing the hilbert transform of the signal, is this approach suitable for real time implementation on a SHARC or TI DSP. ? 2. Can somebody point out some good references for real time implementation of Hilbert transform. Thanks Paul This message was sent using the Comp.DSP web interface on www.DSPRelated.com
Hilbert transform using FFT approach
Started by ●September 21, 2005
Reply by ●September 21, 20052005-09-21
w106pjs wrote:> Hi All.. > > 1. As MATLAB uses the FFT approach computing the hilbert transform of the > signal, is this approach suitable for real time implementation on a SHARC > or TI DSP. ? > > 2. Can somebody point out some good references for real time > implementation of Hilbert transform. > > Thanks > Paul > > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.comDo you really need an output that it in quadrature with the input, or can you settle for two outputs, each in quadrature with the other? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●September 21, 20052005-09-21
>w106pjs wrote: >> Hi All.. >> >> 1. As MATLAB uses the FFT approach computing the hilbert transform ofthe>> signal, is this approach suitable for real time implementation on aSHARC>> or TI DSP. ? >> >> 2. Can somebody point out some good references for real time >> implementation of Hilbert transform. >> >> Thanks >> Paul >> >> >> This message was sent using the Comp.DSP web interface on >> www.DSPRelated.com > >Do you really need an output that it in quadrature with the input, or >can you settle for two outputs, each in quadrature with the other? > >Jerry >-- >Engineering is the art of making what you want from things you can get.Jerry The purpose is to generate the envelope of the real sequence of data using the analytic signal approach using the FFT approach Paul This message was sent using the Comp.DSP web interface on www.DSPRelated.com
Reply by ●September 21, 20052005-09-21
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 approachThen 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. �����������������������������������������������������������������������
Reply by ●September 21, 20052005-09-21
>w106pjs wrote: > > ... > >> The purpose [of the quadrature signals] is to generate the envelope ofthe real>> sequence of data using the analytic signal approach using the FFTapproach> > >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.com
Reply by ●September 21, 20052005-09-21
"w106pjs" <w106pjs@yahoo.com> wrote in news:486dnfE5tKEBCKzeRVn- qg@giganews.com:> > Hi All.. > > 1. As MATLAB uses the FFT approach computing the hilbert transform ofthe> signal, is this approach suitable for real time implementation on aSHARC> or TI DSP. ? > > 2. Can somebody point out some good references for real time > implementation of Hilbert transform. > > Thanks > Paul > > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.comYou can use an FFT to generate Hilbert transforms but it is often not the easiest way. The way we usually generate a Hilbert transform is two use antisymmetrical odd length FIR filters. This method is clearly discussed in Rick Lyon's book: Understanding Digital Signal Processing (second edition). We implemented a hilbert tranformer for essentially this same purpose last week for an AM demodulator application running on one of our SHARC based DSP boards. You often need a square root for envelope detectors. This is very easy with a SHARC since it has an instruction for this purpose. You can certainly use an FFT method as well. I prefer floating point DSPs for FFTs since the scaling between butterflies is not an issue. Please take a look at our dspstak boards for this application. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Reply by ●September 21, 20052005-09-21
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..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. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●September 21, 20052005-09-21
Jerry Avins <jya@ieee.org> wrote in news:DNqdnTN5Vq4ZM6zenZ2dnUVZ_tCdnZ2d@rcn.net:> 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.. > > 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. > > JerryThe 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 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). -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Reply by ●September 21, 20052005-09-21
Al Clark wrote:> Jerry Avins <jya@ieee.org> wrote in > news:DNqdnTN5Vq4ZM6zenZ2dnUVZ_tCdnZ2d@rcn.net: > > >>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.. >> >>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. >> >>Jerry > > > 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 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. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●September 21, 20052005-09-21
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: >> >> >>>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.. >>> >>>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. >>> >>>Jerry >> >> >> 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 >> 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. > > JerryClearly, 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. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com