This report presents a tutorial of fundamental array processing and beamforming theory relevant to microphone array speech processing. A microphone array consists of multiple microphones placed at different spatial locations. Built upon a knowledge of sound propagation principles, the multiple inputs can be manipulated to enhance or attenuate signals emanating from particular directions. In this way, microphone arrays provide a means of enhancing a desired signal in the presence of corrupting noise sources. Moreover, this enhancement is based purely on knowledge of the source location, and so microphone array techniques are applicable to a wide variety of noise types. Microphone arrays have great potential in practical applications of speech processing, due to their ability to provide both noise robustness and hands-free signal acquisition.
We consider the problem of target localization by a
network of passive sensors. When an unknown target emits an
acoustic or a radio signal, its position can be localized with multiple
sensors using the time difference of arrival (TDOA) information.
In this paper, we consider the maximum likelihood formulation
of this target localization problem and provide efficient convex
relaxations for this nonconvex optimization problem.We also propose
a formulation for robust target localization in the presence of
sensor location errors. Two Cramer-Rao bounds are derived corresponding
to situations with and without sensor node location errors.
Simulation results confirm the efficiency and superior performance
of the convex relaxation approach as compared to the
existing least squares based approach when large sensor node location
errors are present.
A simple example of audio signal processing on TMS320VC5416 USB DSK board. Main source is contained in tone.c file, memory configuration - tonecfg.cmd. Folder docs/ contains useful docmentation on board, its components and libraries. The example's configuration is based on example "tone" from Code Composer Studio's 3.1 example for 5416 DSK.
The 4.0 kbit/s speech codec described in this paper is based on a
Frequency Domain Interpolative (FDI) coding technique, which
belongs to the class of prototype waveform Interpolation (PWI)
coding techniques. The codec also has an integrated voice
activity detector (VAD) and a noise reduction capability. The
input signal is subjected to LPC analysis and the prediction
residual is separated into a slowly evolving waveform (SEW) and
a rapidly evolving waveform (REW) components. The SEW
magnitude component is quantized using a hierarchical
predictive vector quantization approach. The REW magnitude is
quantized using a gain and a sub-band based shape. SEW and
REW phases are derived at the decoder using a phase model,
based on a transmitted measure of voice periodicity. The spectral
(LSP) parameters are quantized using a combination of scalar
and vector quantizers. The 4.0 kbits/s coder has an algorithmic
delay of 60 ms and an estimated floating point complexity of
21.5 MIPS. The performance of this coder has been evaluated
using in-house MOS tests under various conditions such as
background noise. channel errors, self-tandem. and DTX mode
of operation, and has been shown to be statistically equivalent to
ITU-T (3.729 8 kbps codec across all conditions tested.
The BTS5016SDA is a one channel high-side power switch in PG-TO252-5-11 package providing embedded
protective functions.
The power transistor is built by a N-channel vertical power MOSFET with charge pump. The design is based on
Smart SIPMOS chip on chip technology.
The BTS5016SDA has a current controlled input and offers a diagnostic feedback with load current sense and a
defined fault signal in case of overload operation, overtemperature shutdown and/or short circuit shutdown.
% Computation of ST-ZCR and STE of a speech signal.
%
% Functions required: zerocross, sgn, winconv.
%
% Author: Nabin Sharma
% Date: 2009/03/15
[x,Fs] = wavread('so.wav'); % word is: so
x = x.';
N = length(x); % signal length
n = 0:N-1;
ts = n*(1/Fs); % time for signal
% define the window
wintype = 'rectwin';
winlen = 201;
winamp = [0.5,1]*(1/winlen);