[0001] This invention relates to an apparatus for cancelling vibrations, be they vibrations
in a gas, liquid or solid.
[0002] It is known to cancel vibrations by obtaining a reference signal representative of
the vibrations to be cancelled, inverting this signal, and using the inverted signal
to cause vibrations in anti-phase with the vibrations to be cancelled, which interfere
therewith, thereby to effect the cancellation.
[0003] It is further known to resolve the reference signal into its frequency components,
appropriately filter these components, and combine the filtered components to provide
the signal which causes the anti-phase vibrations. The filtering in the frequency
domain effects the required phase inversion, and may also be used to further refine
the interfering vibrations so that complete cancellation is achieved. By choosing
frequency domain rather than time domain control, the control is effectively diagonalised,
thereby making for much faster adjustment - the controls can be adjusted in pairs
(in-phase and quadrature) for each centre frequency, without interaction with neighbouring
controls as in time domain control.
[0004] GB-2054999-A, EP-43565-A1, and GB-2107960-A disclose examples of apparatus for cancelling
vibrations which employ frequency domain filtering. However, in each, for successful
operation, either the vibrations to be cancelled must be periodic and the resolving
into the frequency components synchronised to this periodicity, or, in the case where
the vibrations are random (aperiodic), the resolving into the frequency components
must be a continuously updated process.
[0005] According to the present invention there is provided an apparatus for cancelling
vibrations comprising: means for providing a reference signal representative of the
vibrations to be cancelled; filter means comprising means for resolving the reference
signal into its frequency components, means for applying weights to these frequency
components, and means for combining the weighted frequency components to provide an
output signal of said filter means; and actuator means responsive to said output signal
to produce vibrations which destructively interfere with the vibrations to be cancelled,
said means for resolving utilising N updates of said reference signal to resolve it
into its frequency components, said means for resolving being updated by n times between
successive resolutions of the reference signal into its frequency components where
1<n<N, there being a correlation between the weights applied by said means for applying
so as to reduce discontinuity in the operation of said filter means.
[0006] The invention arose in the making of an apparatus for cancelling vibrations employing
frequency domain filtering. It was decided that block processing be used by the frequency
domain filter to improve the processing efficiency of the apparatus, i.e. the filter
would take a block of data, rather than just one sample, and process it all in one
go to provide a number of sequential outputs. First trials of the apparatus were not
successful, since it was found that in two cases the filter outputs were discontinuous,
the first case being where the vibrations to be cancelled are periodic and the resolving
into the frequency components not synchronised to this periodicity, the second case
being where the vibrations are random. Even when attempting to cancel a pure tone
not synchronised, in addition to the production of the cancelling tone, unwanted side
bands were produced.
[0007] It was realised that a correlation could be introduced between the frequency domain
filter weights that would greatly reduce the discontinuity of the filter outputs in
the aforementioned two cases. Thus, contrary to that situation apparently the most
desirable that there be complete freedom to adjust the weights independently to achieve
the best cancellation of vibrations, regard must he had to observing the correlation
between the weights, independent adjustment no longer being possible.
[0008] An apparatus for cancelling vibrations in accordance with the present invention will
now be described, by way of example, with reference to the accompanying drawing which
is a block schematic diagram of the apparatus.
[0009] The apparatus is for cancelling engine noise in an aircraft cabin.
[0010] Referring to the drawing, the apparatus includes a loudspeaker 1 located in the region
of the aircraft cabin where it is desired that the noise produced by an engine 3 be
cancelled. The loudspeaker 1 produces the aforementioned interfering anti-phase vibrations.
The apparatus further includes an adaptive control filter 5, a model filter 7, a controller
9, updates modifying circuitry 10, an arithmetic circuit 12, and an error microphone
11, which microphone 11 is located in the aforementioned region of the aircraft cabin.
Control filter 5 comprises a fast Fourier transform (FFT) circuit 13, a processor
15, and an inverse FFT circuit 17. Controller 9 comprises an FFT circuit 19 and a
processor 21. Updates modifying circuitry 10 comprises an inverse FFT circuit 23,
an arithmetic circuit 25, and an FFT circuit 27.
[0011] A reference signal x(t) representative of the noise to be cancelled at time t is
supplied to control filter 5. This signal may be obtained from a microphone located
in the aforementioned region of the aircraft cabin, or by means of a tachometer from
the aircraft engine 3 itself.
[0012] FFT circuit 13 Fourier transforms x(t) from the time domain to the frequency domain
and provides to processor 15 a plurality of frequency components x
t(f) of x(t). Processor 15 multiplies each x
t(f) by an appropriate weight (see below). Let the resulting frequency components be
y
t(f). Processor 15 provides the y
t(f) to inverse FFT circuit 17. Circuit 17 inverse Fourier transforms the y
t(f) from the frequency domain to the time domain to provide to loudspeaker 1 an appropriate
driving signal y(t) to cancel the noise.
[0013] The weights utilised by processor 15 perform amongst other things, a phase inversion
of x(t) to provide the interfering anti-phase signal. An explanation of the derivation
of the weights utilised by processor 15 will now be given.
[0014] Error microphone 11 detects any residual noise remaining after interference between
the primary noise produced by noise source 3 and the interfering sound produced by
loudspeaker 1. A signal e(t) representative of this residual noise passes from microphone
11 to FFT circuit 19 of controller 9 where it is Fourier transformed from the time
domain to the frequency domain. FFT circuit 19 provides to processor 21 a plurality
of frequency components e
t(f) of e(t).
[0015] Returning to the frequency components x
t(f) provided by FFT circuit 13, each of these components also passes to model filter
7, where it is multiplied by a frequency dependent function C(f). C(f) is the transfer
function from loudspeaker 1 to microphone 11, and it is necessary that this function
be involved in the derivation of the weights utilised by processor 15 to take account
of the physical path from loudspeaker 1 to microphone 11 within the aircraft cabin.
To explain, microphone 11 is detecting the residual noise at a different physical
location within the aforementioned cabin region to the physical location where loudspeaker
1 is attempting to eliminate this residual noise. Thus, any attempt to eliminate the
residual noise at one location by the generation of interfering sound at another different
location must take into account the physical path travelled by the sound between the
locations. C(f) is a previously determined transfer function which describes the change
which the physical path within the cabin from loudspeaker 1 to microphone 11 will
have on the passage of sound therealong.
[0016] The frequency components x
t(f).C(f) resulting after multiplication by C(f) pass to processor 21 of controller
9, where each is multiplied by a respective frequency component e
t(f) from FFT circuit 19. The resulting frequency components or provisional filter
updates x
t(f).C(f).e
t(f) are supplied by processor 21 to updates modifying circuitry 10. After further
processing by circuitry 10 (further details of which will be given later), the actual
filter updates (x
t(f). C(f). e
t(f))' are supplied to arithmetic circuit 12. Circuit 12 calculates the new weights
for adaptive control filter 5 according to the equation:

where w
t+1(f) is the new weight, w
t(f) is the previous weight and α is a convergence coefficient. Circuit 12 passes the
new weights to processor 15 of filter 5.
[0017] Thus, the weights utilised by filter 5 phase invert the reference representative
of the noise, attempt to eliminate detected residual noise, and take into account
the physical path from the actuator which produces the cancelling sound to the detector
which detects residual noise.
[0018] For correct operation of the apparatus, the operation of filter 5 must take account
of filter settling time, otherwise discontinuous filter outputs result.
[0019] Consider a conventional filter operating on running data, i.e. as each new data sample
is taken in a new filtered output is calculated, the processing efficiency of such
filters can be improved by the use of block processing, i.e. a block of data is taken
and processed all in one go to provide a number of sequential outputs. A delay (the
block update refresh time) is necessarily involved, but, if it can be tolerated, the
advantage is greater processing efficiency.
[0020] To take a block of N data samples, if it is desired to obtain n<N accurate output
data, account must be taken that any filtering operation requires the filter output
to settle. If the filter is an m point or weight filter, then the first m-1 data outputs
are inaccurate, and only once m data samples have been filtered does the output become
accurate. Thus, to provide n valid data output after the filter has settled, it is
required that

, i.e.

. Thus, the constraint

must be observed by the filter to provide n valid data ouput. Let N=128 and n=32,
then m≦97, i.e. the filter must have 97 or fewer weights.
[0021] Returning to filter 5, with regard to the previous values for N and n, let the size
of the FFT performed by circuit 13 of filter 5 be 128 samples, i.e. each FFT performed
by circuit 13 is performed on 128 samples of reference signal x(t). Thus, 64 complex
frequency components x
t(f) of x(t) are presented to processor 15 where each is multiplied by its respective
weight w
t(f). The resulting 64 complex frequency components y
t(f) are passed to inverse FFT circuit 17 where they are inverse transformed to 128
'samples' of y(t). Let the number of samples of x(t) by which FFT circuit 13 is updated
between the performance of successive FFTs be 32. Thus, at each update 32 samples
of x(t) are taken by filter 5 and 32 samples of y(t) are provided by filter 5.
[0022] For filter 5 to provide n valid data output, it must observe the constraint

. Since N = 128 and n = 32, m≦ 97. The constrained weights applied by filter 5 are
obtained as follows.
[0023] The aforementioned provisional updates x
t(f). C(f). e
t(f) are passed by processor 21 to inverse FFT circuit 23 of updates modifying circuitry
10, where they are inverse Fourier transformed from the frequency domain to the time
domain to provide to arithmetic circuit 25 the equivalent 128 time domain updates.
Arithmetic circuit 25 sets to zero the last 31 (128 - 97) of these 128 updates so
as to effectively leave 97 updates for a 97 weight filter. Note, it is the last 31
updates that are set to zero since it is the 97th (mth) data output that is the first
accurate data output, see above. Note also, that N-m or

(taking the limit where the least updates are set to zero giving the greatest flexibility
for filter 5) or n-1 updates are set to zero. The resulting updates are passed to
FFT circuit 27 where they are Fourier transformed from the time domain to the frequency
domain to provide to arithmetic circuit 12 the actual constrained frequency domain
updates (x
t(f). C(f). e
t(f))'. Circuit 12 calculates the new constrained weights according to equation (1).
Thus, it will be seen that a correlation has been introduced between the weights of
filter 5, i.e. it is now a necessary requirement that the weights of filter 5 are
not adjusted independently to achieve the best cancellation of noise - when adjusting
one weight regard must be had to other weights.
[0024] There are three conditions which relate to the aforementioned

constraint which require special consideration. The three conditions will be considered
respectively in the following three paragraphs.
[0025] Consider the

constraint when n = 1, i.e. a running, continuously updated filter, then m≦N, i.e.
m is permitted to equal N, therefore there is no constraint - no updates need be set
to zero for successful operation.
[0026] Consider the FFT process performed by FFT circuit 13 of the apparatus, the FFT process
effectively assumes periodic behaviour, i.e. it fits a set of periodic functions to
the data samples on the assumption that the data is periodic outside the N sample
block. Thus, if the data is indeed truly periodic on the block length, the FFT process
will always be accurate without the need to observe the

constraint. Therefore, when the vibrations to be cancelled are periodic, and the
resolving of the reference signal representative of these vibrations into its frequency
components is synchronised to this periodicity, then constraint for successful operation
is not required. In all other circumstances, i.e. when the data is periodic and there
is no synchronisation, or when the data is random, constraint for successful operation
is required -unless, of course, as explained above (see previous paragraph), the resolving
into the frequency components is a continuously updated process, when no constraint
is required.
[0027] Consider the

constraint when n = N, i.e. the number of samples by which FFT circuit 13 is updated
between successive Fourier transformations equals the size of the FFT performed by
circuit 13, then m = 1, i.e. all the updates apart from the first must be set to zero.
Such a severe constraint results in a filter which is of very little use at all, and
the consequent requirement is that the data must be constrained instead to be periodic
on the length scale N of the FFT.
[0028] Thus, for block processing (and its associated advantages), n is greater than 1 and
constraint for correct operation is required (unless the data is periodic and synchronised).
However, when n = N the constraint is so severe that for useful operation the data
must be periodic and synchronised, i.e. useful operation is not possible when the
data is random and n = N. Therefore, in the limit, the range 1<n<N remains.
[0029] The choice of the precise update to use in the range 1<n<N depends on the nature
of the vibrations to be cancelled. If the vibrations are in the main random, then
it is best to choose n from the lower end of the range, i.e. the end approaching 1,
since the updating is then sufficiently fast to manage the rapidly changing random
vibrations. There is, of course, a consequent penalty in processing efficiency. If
the vibrations are in the main narrow band or tonal, i.e. comprise a series of reasonably
discrete frequencies which, if they change, change only slowly, then n may be chosen
from the upper end of the range, i.e. the end approaching N, with a consequent benefit
in processing efficiency. Of course, if the change in discrete frequencies occurs
more quickly, then, in effect, random noise is approached, and a lower value of n
must be chosen. A further factor affecting the choice of n is, of course, the flexibility
required in the choice of weights for the filter - as explained above, the larger
n the greater the constraint on the filter weights.
[0030] It is to be appreciated that the process of inverse Fourier transformation, truncation,
and Fourier transformation performed by updates modifying circuitry 10 could be approximated
by a simpler convolution operation performed entirely in the frequency domain. Arithmetic
circuit 25 of circuitry 10 uses a 97 point truncation step-function, i.e. points 1
to 97 = 1 and points 98 to 128 = 0. However the disadvantage is that the corresponding
convolution window involves complex, asymmetric coefficients. Yet, if there were to
be used a reduced 64 point truncation step-function, i.e. points 1 to 64 = 1 and points
65 to 128 = 0 (note, the

constraint is still observed), the advantage would be that the corresponding convolution
window is symmetric, and a simple 5-point convolution would suffice.
[0031] It is also to be appreciated that the resolving of the reference signal into its
frequency components need not be by means of Fourier transformation, for example frequency
sampling filtering could be used.
1. An apparatus for cancelling vibrations comprising: means for providing a reference
signal representative of the vibrations to be cancelled; filter means (5) comprising
means (13) for resolving the reference signal into its frequency components, means
(15) for applying weights to these frequency components, and means (17) for combining
the weighted frequency components to provide an output signal of said filter means
(5); and actuator means (1) responsive to said output signal to produce vibrations
which destructively interfere with the vibrations to be cancelled, said means (13)
for resolving utilising N updates of said reference signal to resolve it into its
frequency components, said means (13) for resolving being updated by n times between
successive resolutions of the reference signal into its frequency components where
1<n<N, there being a correlation between the weights applied by said means (15) for
applying so as to reduce discontinuity in the operation of said filter means (5).
2. An apparatus according to claim 1 wherein: said means (13) for resolving comprises
first Fourier transform means (13); and said means (17) for combining comprises first
inverse Fourier transform means (17).
3. An apparatus according to claim 2 further comprising: means (11, 9, 7) for deriving
provisional updates to said weights applied by said means (15) for applying; means
(10) for modifying said provisional updates to provide actual updates; and means (12)
for utilising the actual updates to calculate the weights applied by said means (15)
for applying, said correlation between the weights applied by said means (15) for
applying being introduced by the modification carried out by said means (10) for modifying.
4. An apparatus according to claim 3 wherein said means (10) for modifying comprises:
second inverse Fourier transform means (23) for transforming said provisional updates
from the frequency domain to the time domain to provide the equivalent time domain
updates; means (25) for setting to zero substantially the last n-1 updates of said
time domain updates; and second Fourier transform means (27) for transforming the
resultant updates from the time domain to the frequency domain to provide said actual
updates.
5. An apparatus according to claim 3 wherein the modification carried out by said means
(10) for modifying comprises a convolution operation in the frequency domain.
6. An apparatus according to claim 3 or claim 4 or claim 5 wherein: said means (11, 9,
7) for deriving provisional updates comprises detector means (11) for detecting any
residual vibrations remaining after said destructive interference and providing an
output signal representative thereof, further Fourier transform means (19) for transforming
the output signal of said detector means (11) from the time domain to the frequency
domain thereby to resolve the signal into its frequency components, model filter means
(7) for multiplying the frequency components of said reference signal by a frequency
dependent function which is a transfer function from said actuator means (1) to said
detector means (11) thereby to provide modelled frequency components, and means (21)
for multiplying said modelled frequency components by the frequency components of
the output signal of said detector means (11) to provide said provisional updates;
and said means (12) for utilising the actual updates calculates said weights applied
using the equation:

, where w
t+1(f) are the calculated weights, w
t(f) are the previous weights, α is a convergence coefficient, and (x
t(f). C(f). e
t(f))' are said actual updates where x
t(f) are the frequency components of the reference signal, C(f) is said transfer function;
and e
t(f) are the frequency components of the output signal of the detector means (11).