Sign in

username:

password:



Not a member?

Search audiodsp



Search tips

Subscribe to audiodsp



audiodsp by Keywords

AAC | ADPCM | Convolution | DAFx | FFT | IIR | Mixer | MP3 | MPEG | MPEG-4

Ads

Discussion Groups

Discussion Groups | Audio Signal Processing | Applying complex weights to microphone array

Technical discussions related to Audio Signal Processing (digital effects, acoustics, noise reduction, musical signal processing, etc).

  

Post a new Thread

Applying complex weights to microphone array - stahn83 - Jan 25 7:57:57 2008



Hi, I'm currently an undergrad who is evry new to beamforming and 
matlab, would greatly appreciate is someone can help me in this.

After calculating the complex weights through MVDR, they appeared in 
the form of w (8X1 matrix with complex values). 

(example)
w = 
 0.1250
 0.1079 - 0.0630i
 0.0614 - 0.01089i
-0.0019 - 0.1250i
-0.0646 - 0.1070i
-0.1098 - 0.0598i
-0.1249 + 0.0037i
-0.1060 + 0.0662i
My question : How do i get the desired y[n] (signal after processing) 
when my weights are in complex and x[n] in real (sampling of human 
speech). 
Based on y[n]=x[n]*w
where x[n] is a 80000X8 Matrix (sampling rate 8khz , duration 10sec)

I'm implementing all these in matlab and I have tried using 
y=real(x*w);
the output doesn't seemed to be correct based on its playback. Any 
advice?



(You need to be a member of audiodsp -- send a blank email to audiodsp-subscribe@yahoogroups.com )

Re: Applying complex weights to microphone array - matt...@yahoo.co.uk - Feb 5 8:32:00 2008


Hi, I'm currently an undergrad who is evry new to beamforming and 
>matlab, would greatly appreciate is someone can help me in this.
>
>After calculating the complex weights through MVDR, they appeared in 
>the form of w (8X1 matrix with complex values). 
>
>(example)
>w = 
> 0.1250
> 0.1079 - 0.0630i
> 0.0614 - 0.01089i
>-0.0019 - 0.1250i
>-0.0646 - 0.1070i
>-0.1098 - 0.0598i
>-0.1249 + 0.0037i
>-0.1060 + 0.0662i
>My question : How do i get the desired y[n] (signal after processing) 
>when my weights are in complex and x[n] in real (sampling of human 
>speech). 
>Based on y[n]=x[n]*w
>where x[n] is a 80000X8 Matrix (sampling rate 8khz , duration 10sec)
>
>I'm implementing all these in matlab and I have tried using 
>y=real(x*w);
>the output doesn't seemed to be correct based on its playback. Any 
>advice?

You need to design your weight vector so that is is real.  This basically means that you need
to constrain both the positive and negative frequencies.

One method of implementing this is: If c is your original (complex) constraint vector then your
new constraint matrix is C = [real(c) imag(c)].

Your weight vector is still calculated using: w = inv(R)*C*inv(C'*inv(R)*C)*g, where R is your
covariance matrix and g you gain vector.

HTH,
Matt



(You need to be a member of audiodsp -- send a blank email to audiodsp-subscribe@yahoogroups.com )