MEng Final Year Project 0
DSP Techniques for Active Noise David Walker
Control Course Code: EEM4, Student ID No. 337862
Supervisor: Dr B. Vuksanovic and Mr V. Dunn
Location: Anglesea A0.07
Active Noise Control (ANC) is the electro-acoustic generation of sound to reduce the volume of noise. The main application of ANC is reduction of
lower frequency, periodic noise, such as that generated from a fan.
Adaptive filtering is used to model the acoustic paths with the system coefficients updated by the Filtered-X Least Mean Squares algorithm.
A major design consideration is the number of coefficients used in the filter versus the execution speed.
Project Overview Work Completed
• An investigation into ANC and the FX-LMS algorithm using Matlab • Completed Matalb simulation
• C Prototype algorithm complete, results shown below
• Convert and prototype algorithm in C using Visual Studio for real-time
processing • Microphone preamp, switched capacitor anti-aliasing filters, 5th order
reconstruction filter and power amplifiers built
• Build system hardware
• Real-time speaker path estimation
• Modify algorithm for Sharc AD21161n Digital Signal Processor • Proposed modifications: Decimation with Window-Sinc filter,
Upsamping with linear interpolation, Modification to circular buffering
• Analyse speed of execution and success of system
• Propose improvements to system and algorithm
System Block Diagram
The Diagram below illustrates a feed-forward ANC system. The noise is measured at source by the Input Microphone x(n) and is sampled by the
controller. The noise then passes through a system S(z) (such as a room) and is altered. This altered noise is measured by the Error Microphone e
(n) and is also fed into the controller. The aim of the controller is to produce a signal y(n) which minimises the error (or noise).
d(n) FX-LMS update process
System W(z) e(n)=d(n)+s(n) The sound contributing to cancelation can be defined as
x(n) (*denotes convolution):
s(k) = w(k) * (x(k) * c(k))
x is the noise reference, w is the filter coefficients and c is the
cancelation path. This defines that x must be filtered by c which
f(n) gives the filtered-X algorithm.
C’(z) System C(z) The c coefficients are estimated offline to produce the estimate
c’(k), and the w coefficients are updated by:
w(n+1) = w(n) – 2.mu.e(n).f(n)
Where f(n) = x(n)*c’(k) and e(n) is the residual noise.
Department of Electronic and Computer Engineering