Applying complex weight to real data for beamforming!
CASTalk.com Forum Index CASTalk.com
Discussion of DSP, FPGA, storage and embedded system.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web castalk.com
Applying complex weight to real data for beamforming!

 
Post new topic   Reply to topic    CASTalk.com Forum Index -> DSP
Author Message
northernlights
Guest





Posted: Sun May 22, 2005 4:15 pm    Post subject: Applying complex weight to real data for beamforming! Reply with quote

Hi,

I am very inexperienced in the area of beamforming and applied DSP. I wa
wondering if you can help with some basic questions.

Application: Implement a broadband beamformer for acoustic interferenc
cancellaion on TI chip.
Reference: Kevin Buckley's "Beamforming: A Versatile approach to spatia
filtering"

Question:
Quote:
Most of the beamforming techniques presented requires applying a comple
weight to the data(which is real). I am sure that there is a simple way t

do that but i can't get it right ( i am trying with the simple narrowban
case first). Can anyone help me?

Quote:
For the constrained LCMV with GSC. Can you tell me if it for broadban
signal?


Thanks a lot for the help.

- Vik



This message was sent using the Comp.DSP web interface o
www.DSPRelated.com
Back to top
rutiger
Guest





Posted: Sun May 22, 2005 10:12 pm    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

x = a + j*b with b = 0.
Back to top
Greg Berchin
Guest





Posted: Sun May 22, 2005 10:56 pm    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

On Sun, 22 May 2005 10:37:27 -0500, "northernlights" <vikrham@yahoo.com>
wrote:

Quote:
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
Back to top
Rune Allnor
Guest





Posted: Mon May 23, 2005 8:16 am    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

northernlights wrote:
Quote:
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?

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
Back to top
northernlights
Guest





Posted: Mon May 23, 2005 4:16 pm    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

Quote:
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 quadrature samplin
please?

So if x(n) is my data sequence and my weights are I+jQ, and my signa
frequency is wo. Then my output after the weight is x(n)*sin(n*wo)*
+x(n)*cos(n*wo)*Q?

Thanks for all the help

- Vi

This message was sent using the Comp.DSP web interface o
www.DSPRelated.com
Back to top
Fred Marshall
Guest





Posted: Mon May 23, 2005 10:54 pm    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

"northernlights" <vikrham@yahoo.com> wrote in message
news:PISdnY6xwKeqOg3fRVn-2g@giganews.com...
Quote:
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

Consider 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
Back to top
Rune Allnor
Guest





Posted: Tue May 24, 2005 8:16 am    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

Fred Marshall wrote:
Quote:
"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.

- Vik

Consider 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.

Agreed.

Quote:
2) Let's take the case of a line array of receiver elements. Let's
say they
are equally spaced along the line.

The Uniform Linear Array, ULA.

Quote:
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.

Agreed.

Quote:
3a) If the elements are weighted, then we get a beam pattern that
remains
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.

Quote:
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.

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.

Quote:
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.

Quote:
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.

Agreed.

Rune
Back to top
Rune Allnor
Guest





Posted: Tue May 24, 2005 8:16 am    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

northernlights wrote:
Quote:
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 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?

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
Back to top
Stan Pawlukiewicz
Guest





Posted: Fri Dec 02, 2005 5:17 pm    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

tamero wrote:
Quote:
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.
Back to top
tamero
Guest





Posted: Fri Dec 02, 2005 5:17 pm    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

Quote:
Hi,

I am very inexperienced in the area of beamforming and applied DSP.
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
complex
weight to the data(which is real). I am sure that there is a simple wa
to
do that but i can't get it right ( i am trying with the simpl
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 th
signal is real i guess. but when we have multiple receivers fo
beamforming then we can not model the received signals as real because o
the phase differences between the receivers. so for multiple receive
systems even if the signals are real independently they are complex whe
they perform as an array. I hope this helps about your confusion.
Ozgur
Back to top
Mike Yarwood
Guest





Posted: Fri Dec 02, 2005 6:18 pm    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

"Stan Pawlukiewicz" <spam@spam.mitre.org> wrote in message
news:dmpmos$rsr$1@newslocal.mitre.org...
Quote:
tamero wrote:
snip
Application: Implement a broadband beamformer for acoustic interference
cancellaion on TI chip.
Reference: Kevin Buckley's "Beamforming: A Versatile approach to spatial
filtering"

snip


I suspect that broadband means use time delay - no problem now with your
real signals.

Best of luck - Mike
Back to top
John Herman
Guest





Posted: Wed Dec 07, 2005 9:16 am    Post subject: Re: Applying complex weight to real data for beamforming! Reply with quote

As a generally rule, the phase difference between receivers in an array of
sensors is small compared to the phase difference caused by their difference
in location relative to the incoming wavefront. Your general choices are
using time delays if you stay in the time domain or complex weights
corresponding to delays in the frequency domain. Your narrow band signals are
complex when converted to narrowband digital samples.


In article <d56dnTkbcLJlyQ3eRVn-jw@giganews.com>, "tamero"
<ozgur.tamer@gmail.com> wrote:
Quote:
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

Back to top
 
Post new topic   Reply to topic    CASTalk.com Forum Index -> DSP All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




VoIP Electronics Powered by phpBB