Download
Welcome to SOFiA
Who is behind SOFiA
Feature overview
System overview
Function reference
readVSAdata
mergeArrayData
F/D/T
gauss
lebedev
S/W/G
S/T/C
W/G/C
S/F/E
M/F
R/F/I
P/D/C
I/T/C
makeMTX
makeIR
visual3D
Coordinate System
Application Examples
Example 1
Example 2
Example 3
Example 4
Example 5
Example 6
Example 7
Example 8
Array Datasets
VariSphear system
Groups and Mailinglists
Contact and Support
How to Reference

SOFiA Plane Wave Decomposition Core

SOFiA P/D/C is a plane wave decomposition and beamforming core. P/D/C can deliver plane wave outputs for a whole vector of angles (array look directions) at the same time. The core natively does a plane wave decomposition but can be switched to a beamformer using the c,,n,, coefficients. The c,,n,, coefficients can be defined as a vector n=0...N for constant directivity beamforming or as a matrix for frequency-dependent beamshaping. The decomposer is normalized, a plane wave of unity magnitude will always deliver an output of 0dB in look direction.


ARGUMENTS

Input

Name Type Purpose Default
N int Maximum decomposition -
OmegaL float mtx Array look direction (AZ1 EL1; AZ2 EL2;...AZn ELn) in RAD Refer to Coordinate System -
Pnm complex float mtx Spatial Fourier coefficients from S/T/C -
dn complex float mtx Radial Filter coefficients from M/F -
cn complex float vec or mtx Optinal: Beamshaping coefficients (CD or kr-dependent) -

Output

Name Type Purpose
Y complex float mtx Spectral FFT data

DEFINITIONS


Where Ynm describes the Spherical Harmonics of order n and modus m.

FILE(S):

File Type OS/Matlab
sofia_pdc.m Help header All OS
sofia_pdc.mexmaci64 MEX Core OS-X Intel
sofia_pdc.mexw32 MEX Core Windows, MATLAB32
sofia_pdc.mexw64 MEX Core Windows, MATLAB64
sofia_pdc.cpp C/C++ source All OS

HEADER

/*
Y = sofia_pdc(N, OmegaL, Pnm, dn, [cn])

------------------------------------------------------------------------------------

Y MxN Matrix of the decomposed wavefield
Col - Look Direction as specified in OmegaL
Row - kr bins
------------------------------------------------------------------------------------
N Decomposition Order
OmegeL Look Directions (Vector)
Col - L1, L2, ..., Ln
Row- AZn ELn
Pnm Spatial Fourier Coefficients from SOFiA S/T/C
dn Modal Array Filters from SOFiA M/F
cn (Optional) Weighting Function
Can be used for N = 0...N weigths:
Col - n...N
Row - 1
Or n(f)...N(f) weigths:
Col - n...N
Row - kr bnis
If cn is not specified a PWD will be done
*/

The P/D/C core involves Bessel and Hankel functions provided by the peer-reviewed BOOST C++ Math Library under the BOOST Software License.