Steered-Response Power Phase Transform (SRP-PHAT) is a popular algorithm for acoustic source localization, well known for its robust performance in adverse acoustic environments. The algorithm can be interpreted as a beamforming-based approach that searches for the candidate position that maximizes the output of a steered delay-and-sum beamformer.
Consider a system of microphones, where each microphone is denoted by a subindex . The discrete-time output signal from a microphone is . The (unweighted) steered-response power (SRP) at a spatial point can be expressed as
where denotes the set of integer numbers and would be the time-lag due to the propagation from a source located at to the -th microphone.
The (weighted) SRP can be rewritten as
where denotes complex conjugation, represents the discrete-time Fourier transform of and is a weighting function in the frequency domain (later discussed). The term is the discrete time-difference of arrival (TDOA) of a signal emitted at position to microphones and , given by
where is the sampling frequency of the system, is the sound propagation speed, is the position of the -th microphone, is the 2-norm and denotes the rounding operator.
The above SRP objective function can be expressed as a sum of Generalized Cross-Correlations (GCCs) for the different microphone pairs at the time-lag corresponding to their TDOA
where the GCC for a microphone pair is defined as
The phase transform (PHAT) is an effective GCC weighting for time delay estimation in reverberant environments, that forces the GCC to consider only the phase information of the involved signals:
Estimation of source location
The SRP-PHAT algorithm consists in a grid-search procedure that evaluates the objective function on a grid of candidate source locations to estimate the spatial location of the sound source, , as the point of the grid that provides the maximum SRP:
Modifications of the classical SRP-PHAT algorithm have been proposed to reduce the computational cost of the grid-search step of the algorithm and to increase the robustness of the method. In the classical SRP-PHAT, for each microphone pair and for each point of the grid, a unique integer TDOA value is selected to be the acoustic delay corresponding to that grid point. This procedure does not guarantee that all TDOAs are associated to points on the grid, nor that the spatial grid is consistent, since some of the points may not correspond to an intersection of hyperboloids. This issue becomes more problematic with coarse grids since, when the number of points is reduced, part of the TDOA information gets lost because most delays are not anymore associated to any point in the grid.
The modified SRP-PHAT collects and uses the TDOA information related to the volume surrounding each spatial point of the search grid by considering a modified objective function:
where and are the lower and upper accumulation limits of GCC delays, which depend on the spatial location .
The accumulation limits can be calculated beforehand in an exact way by exploring the boundaries separating the regions corresponding to the points of the grid. Alternatively, they can be selected by considering the spatial gradient of the TDOA , where each component of the gradient is:
For a rectangular grid where neighboring points are separated a distance , the lower and upper accumulation limits are given by:
where and the gradient direction angles are given by