| Author |
Message |
northernlights
Guest
|
Posted:
Sun May 22, 2005 4:15 pm Post subject:
Applying complex weight to real data for beamforming! |
|
|
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! |
|
|
| 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! |
|
|
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! |
|
|
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! |
|
|
| 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! |
|
|
"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! |
|
|
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! |
|
|
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! |
|
|
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! |
|
|
| 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! |
|
|
"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! |
|
|
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 |
|
 |
|
|
|
|