Directivity pattern for a beamformed signal

Finally, I got a signal y(1x5001) (delayed and summed output of the microphones).
How can I plot the directivity pattern(mesh-plot) of the above array? I have gone through many books which describe the pattern mostly for linear array geometries. If Iam not wrong, I should end up having my mainlobe at (30°,45°) for my wideband output signal 'y' (that would mean my beamformer is working).
How can I go about doing this using the signal y? What would be the steering vector in my case?
Please help.

2 commentaires

Honglei Chen
Honglei Chen le 30 Déc 2011
How did you do your beamforming? Did you use the steering vector?
zozo
zozo le 30 Déc 2011
No sir, I just simulated the signal at each microphone using the delays I calculated in my previous post. Then I aligned the 8 signals(output from each microphone) in accordance with the maximum delay and summed them up.

Connectez-vous pour commenter.

 Réponse acceptée

Honglei Chen
Honglei Chen le 30 Déc 2011

1 vote

In many literature, beam pattern is a narrow band concept so it is related to the steering vector. Since you are using time domain beamforming, I would do the following:
1. Simulate incoming signals for each direction you would like to calculate the beam pattern. It is the same as you simulate your source.
2. Process each signal using the SAME beamformer you use for your desired source, i.e., beamform each signal to (30, 45) degrees.
3. Now you get a beamformed signal for each direction and you can now compute the power or energy for those signals. You can then plot power or energy as a function of angle and it should match your beam pattern.
HTH

5 commentaires

zozo
zozo le 30 Déc 2011
Sir,
I did not understand point (2).
I have put my source fixed at (r,theta,phi).
You want me to vary theta(1:360) and simulate the corresponding signals at each microphone? In that case I would have (8x360) time delays. I should delay my source signal 'sn' by those delays to get 8x360x3000 samples? isit right? then what am I suppose to do? What about elevation angle (phi)? Please guide.
Honglei Chen
Honglei Chen le 31 Déc 2011
No, you should have 8 time delays for (30,45), so just use this set of delay for all different thetas. This way, you can see the effect of this set of delays toward signals at different directions and thus generating a beam pattern. If you want to add elevation angle, you will do the same; it's just more directions.
zozo
zozo le 1 Jan 2012
Hello Sir,
I thought about simulating your idea. But Iam unable to figure out the relationship between my signal (sn) and the different directions (thetas,phis).
I think Iam missing something!
I have edited my code above with what I have done so far.
Please have a look and point out what changes I have to make to implement the idea of 'signals at different directions(thetas)' resulting in beam pattern.
zozo
zozo le 2 Jan 2012
Please help @Honglei Chen
Honglei Chen
Honglei Chen le 3 Jan 2012
Let's say you have a signal sn. In your beamforming example, you first delay it as if it is come from (30,45) and then add delay corresponds to (30,45) to beamform it. What you need to do here is pretty much the same, just for different directions. For example, use (0,45) as the source direction. You will add delay to sn to make it look like coming from (0,45). Then you still beamform it using the delay corresponds to (30,45). This tells you how much energy you can get if the signal is at (0,45) while you beamform to (30,45). If you repeat this for all possible directions, you have a beam pattern for steering toward (30,45). HTH

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by