Hi, I am very inexperienced in the area of beamforming and applied DSP. I was wondering if you can help with some basic questions. Application: Implement a broadband beamformer for acoustic interference cancellaion on TI chip. Reference: Kevin Buckley's "Beamforming: A Versatile approach to spatial filtering" Question:> Most of the beamforming techniques presented requires applying a complexweight to the data(which is real). I am sure that there is a simple way to do that but i can't get it right ( i am trying with the simple narrowband case first). Can anyone help me?> For the constrained LCMV with GSC. Can you tell me if it for broadbandsignal? Thanks a lot for the help. - Vik This message was sent using the Comp.DSP web interface on www.DSPRelated.com

# Applying complex weight to real data for beamforming!

Started by ●May 22, 2005

Reply by ●May 22, 20052005-05-22

Reply by ●May 22, 20052005-05-22

On Sun, 22 May 2005 10:37:27 -0500, "northernlights" <vikrham@yahoo.com> wrote:>>> Most of the beamforming techniques presented requires applying a complex >>weight to the data(which is real). I am sure that there is a simple way to >>do that but i can't get it right ( i am trying with the simple narrowband >>case first). Can anyone help me?Wow; a long time since I did any beamforming, but to start you out it's maybe best to realize that there's a Fourier Transform relationship between the array weights and the resulting beam pattern (with an extra sine term associated with the angle from array-normal). Just as the Fourier Transform of a complex time sequence results in a spectrum that is not symmetrical about zero frequency, complex array shading weights result in a beam pattern that is not symmetrical about array-normal. On the other hand, real shading weights result in a symmetrical beam pattern. All of the other symmetry properties of the Fourier Transform apply, with the shading weights taking the place of the time sequence and the beam pattern taking the place of the spectrum; see Oppenheim & Schafer (orange version), pp. 104-105. Greg

Reply by ●May 23, 20052005-05-23

northernlights wrote:> Hi, > > I am very inexperienced in the area of beamforming and applied DSP. Iwas> wondering if you can help with some basic questions. > > Application: Implement a broadband beamformer for acousticinterference> cancellaion on TI chip. > Reference: Kevin Buckley's "Beamforming: A Versatile approach tospatial> filtering" > > Question: > > Most of the beamforming techniques presented requires applying acomplex> weight to the data(which is real). I am sure that there is a simpleway to> do that but i can't get it right ( i am trying with the simplenarrowband> case first). Can anyone help me?You are implementing this on a DSP processor, so I guess you want a real-time implementation? If off-line batch processing suffices, take the time series and Fourier transform them from time to frequency. What you end up with, is a set of narrow-band vectors for each frequency bin, as function of range. You could apply your beamformer to one or more of the (w,x) vectors. In a real-time application, try quadrature sampling of the sensor channels. It ought to do the trick. Rune

Reply by ●May 23, 20052005-05-23

>You are implementing this on a DSP processor, so I guess you want >a real-time implementation? > >In a real-time application, try quadrature sampling of the sensor >channels. It ought to do the trick. > >RuneThanks for the feedback. Could you elaborate on the quadrature sampling please? So if x(n) is my data sequence and my weights are I+jQ, and my signal frequency is wo. Then my output after the weight is x(n)*sin(n*wo)*I +x(n)*cos(n*wo)*Q? Thanks for all the help - Vik This message was sent using the Comp.DSP web interface on www.DSPRelated.com

Reply by ●May 23, 20052005-05-23

"northernlights" <vikrham@yahoo.com> wrote in message news:PISdnY6xwKeqOg3fRVn-2g@giganews.com...> Hi, > > I am very inexperienced in the area of beamforming and applied DSP. I was > wondering if you can help with some basic questions. > > Application: Implement a broadband beamformer for acoustic interference > cancellaion on TI chip. > Reference: Kevin Buckley's "Beamforming: A Versatile approach to spatial > filtering" > > Question: >> Most of the beamforming techniques presented requires applying a complex > weight to the data(which is real). I am sure that there is a simple way to > do that but i can't get it right ( i am trying with the simple narrowband > case first). Can anyone help me? > >> For the constrained LCMV with GSC. Can you tell me if it for broadband > signal? > > Thanks a lot for the help. > > - VikConsider this: 1) Normally beam patterns are defined at a single frequency. In fact, *a* beam pattern can *only* be defined at a single frequency. Then, if you wish, you can compute beam patterns at a number of frequencies. 2) Let's take the case of a line array of receiver elements. Let's say they are equally spaced along the line. 3) If the elements aren't weighted, then we get a sinx/x beam pattern that's maximum normal to the line ("broadside") - like the line runs through the center of a donut and the donut is the beam pattern. 3a) If the elements are weighted, then we get a beam pattern that remains normal to the line but with modified sidelobes. 4) If we want to steer the beam, we can delay the outputs of the elements in a linear fashion: To steer 45 degrees to the right of broadside we delay the element at the right end of the line so that the signal coming out will be as if the array had been rotated 45 degree to the right around the left end. Ditto for all the other elements until the left-most element isn't delayed at all. There is nothing immediately "complex" about the delays, is there? 5) Complex weights refer to doing both real weighting as in 3a and phase shifting (delaying) as in 4 combined. So, you can steer the beam and manipulate the sidelobe levels or the entire beam pattern. Fred

Reply by ●May 24, 20052005-05-24

northernlights wrote:> >You are implementing this on a DSP processor, so I guess you want > >a real-time implementation? > > > >In a real-time application, try quadrature sampling of the sensor > >channels. It ought to do the trick. > > > >Rune > > Thanks for the feedback. Could you elaborate on the quadraturesampling> please? > > So if x(n) is my data sequence and my weights are I+jQ, and my signal > frequency is wo. Then my output after the weight is x(n)*sin(n*wo)*I > +x(n)*cos(n*wo)*Q?After quadrature sampling you have a complex-valued signal x'(n) = x_i(n) + j*x_q(n) Multiply this with the beamformer coefficients, and you should be OK. Rune

Reply by ●May 24, 20052005-05-24

Fred Marshall wrote:> "northernlights" <vikrham@yahoo.com> wrote in message > news:PISdnY6xwKeqOg3fRVn-2g@giganews.com... > > Hi, > > > > I am very inexperienced in the area of beamforming and applied DSP.I was> > wondering if you can help with some basic questions. > > > > Application: Implement a broadband beamformer for acousticinterference> > cancellaion on TI chip. > > Reference: Kevin Buckley's "Beamforming: A Versatile approach tospatial> > filtering" > > > > Question: > >> Most of the beamforming techniques presented requires applying acomplex> > weight to the data(which is real). I am sure that there is a simpleway to> > do that but i can't get it right ( i am trying with the simplenarrowband> > case first). Can anyone help me? > > > >> For the constrained LCMV with GSC. Can you tell me if it forbroadband> > signal? > > > > Thanks a lot for the help. > > > > - Vik > > Consider this: > > 1) Normally beam patterns are defined at a single frequency. Infact, *a*> beam pattern can *only* be defined at a single frequency. Then, ifyou> wish, you can compute beam patterns at a number of frequencies.Agreed.> 2) Let's take the case of a line array of receiver elements. Let'ssay they> are equally spaced along the line.The Uniform Linear Array, ULA.> 3) If the elements aren't weighted, then we get a sinx/x beam patternthat's> maximum normal to the line ("broadside") - like the line runs throughthe> center of a donut and the donut is the beam pattern.Agreed.> 3a) If the elements are weighted, then we get a beam pattern thatremains> normal to the line but with modified sidelobes.Eh... I'm not sure I follow you. Consider the (borderline) case of the ULA with element distance lambda/2, lambda being the wavelength of the monochromatic signal. Weigting the sensors along the array with +1 -1 +1 -1 ... over the length of the array ought to yeald an array with constructive interference along the axis, right? I know this configuration as an "endfire" array.> 4) If we want to steer the beam, we can delay the outputs of theelements in> a linear fashion: > To steer 45 degrees to the right of broadside we delay the element atthe> right end of the line so that the signal coming out will be as if thearray> had been rotated 45 degree to the right around the left end. > Ditto for all the other elements until the left-most element isn'tdelayed> at all.Conceptually, this is correct. However, I find it difficult to think in terms of physical delays when implementing such stuff on discrete-time systems. I would like to be able to have full freedom in my manipulations of the ebam pattern. If I think in terms of delays, I am restricted to the discrete delay steps offered by the discrete- time system.> There is nothing immediately "complex" about the delays, is there?Well, with the endfire array one doesn't know whether the signal arrived from this or that direction. Granted, part of the confusion is caused by the signal being sampled exactly at the Nyquist wavenumber, but part of the confusion is caused by the sinusoidal real-valued signal being represented by Euler's equations, 2cos(kx) = exp(jkx) + exp(-jkx) where the signs in the exponents refer to different directions of propagation. By imposing complex-valued weights, one can separate out one of the two directions.> 5) Complex weights refer to doing both real weighting as in 3a andphase> shifting (delaying) as in 4 combined. So, you can steer the beam and> manipulate the sidelobe levels or the entire beam pattern.Agreed. Rune

Reply by ●December 2, 20052005-12-02

>Hi, > >I am very inexperienced in the area of beamforming and applied DSP. Iwas>wondering if you can help with some basic questions. > >Application: Implement a broadband beamformer for acoustic interference >cancellaion on TI chip. >Reference: Kevin Buckley's "Beamforming: A Versatile approach to spatial >filtering" > >Question: >> Most of the beamforming techniques presented requires applying acomplex>weight to the data(which is real). I am sure that there is a simple wayto>do that but i can't get it right ( i am trying with the simplenarrowband>case first). Can anyone help me? > >> For the constrained LCMV with GSC. Can you tell me if it for broadband >signal? > >Thanks a lot for the help. > >- Vik > > > >This message was sent using the Comp.DSP web interface on >www.DSPRelated.com >Hi Vik, If you have one receiver receiving a real data then we can assume the signal is real i guess. but when we have multiple receivers for beamforming then we can not model the received signals as real because of the phase differences between the receivers. so for multiple receiver systems even if the signals are real independently they are complex when they perform as an array. I hope this helps about your confusion. Ozgur

Reply by ●December 2, 20052005-12-02

tamero wrote:>>Hi, >> >>I am very inexperienced in the area of beamforming and applied DSP. I > > was > >>wondering if you can help with some basic questions. >> >>Application: Implement a broadband beamformer for acoustic interference >>cancellaion on TI chip. >>Reference: Kevin Buckley's "Beamforming: A Versatile approach to spatial >>filtering" >> >>Question: >> >>>Most of the beamforming techniques presented requires applying a > > complex > >>weight to the data(which is real). I am sure that there is a simple way > > to > >>do that but i can't get it right ( i am trying with the simple > > narrowband > >>case first). Can anyone help me? >> >> >>>For the constrained LCMV with GSC. Can you tell me if it for broadband >> >>signal? >> >>Thanks a lot for the help. >> >>- Vik >> >> >> >>This message was sent using the Comp.DSP web interface on >>www.DSPRelated.com >> > > > Hi Vik, > If you have one receiver receiving a real data then we can assume the > signal is real i guess. but when we have multiple receivers for > beamforming then we can not model the received signals as real because of > the phase differences between the receivers. so for multiple receiver > systems even if the signals are real independently they are complex when > they perform as an array. I hope this helps about your confusion. > Ozgur > >When you have complex weights, the beamformer is "narrowband". The delay is a phase shift which is achieved my multiplication of complex number. For practial purposes this means that your in the frequency domain, i.e. your beamforming at the output of a DFT bin.