Sei sulla pagina 1di 3

Hi,

I hope my explanation regarding this topic will help you grasp the concept easily.
Firstly you need to understand how an Overlap -Add Filter works?
The Overlap-Add FFT Filter block uses an FFT to implement the overlap-add method, a technique
that combines successive frequency-domain filtered sections of an input sequence.
How does it perform this?
> The block accepts vector or matrix inputs, and treats each column of the input as an individual
channel.
> The block unbuffers the input data into row vectors such that the length of the output vector is
equal to the number of channels in the input.
> The data output rate of the block is M times faster than its data input rate, where M is the length
of the columns in the input (frame-size).
Now if you see it diagrammatically:
The block breaks the scalar input sequence u, of length nu, into length-L no overlapping data
sections,

And hence the linear equation for the response becomes:


1

H(z)=B(z)=b1+b2z ++bn+1z

Please note:

The numerator coefficients for H(z) are specified as a vector by the FIR coefficients parameter.
Coefficient vector, b = [b(1) b(2) ... b(n+1)], can be generated by one of the filter design functions in the

Signal Processing Toolbox


All filter states are internally initialized to zero

Now in case of overlapping:


The block overlaps successive output sections by n points and sums them.

The first L samples of each summation are output in sequence. The block chooses the parameter L based on the filter
order and the FFT size.
L = nfft n

As seen below a general finite impulse response filter works as n stages, each with
an independent delay, di, and amplification gain, ai:

Now to answer your question, you can read the below explanation regarding the zero
padding phenomenon and can understand the conceptual part of it:

>FFTalgorithmsaretailoredtothespecificlengthoftheinputsignal.
>WhentheinputsignalslengthisalargeprimenumberorwhenonlyasubsetofFFTalgorithmsis,itis
customarytoextendthelengthofthesignaltomatchthealgorithmicrequirements.
>Thisisusuallyachievedbyzeropadding,i.e.thelengthNdatavectorisextendedtoachosenlengthMby
appending(MN)zerostoit.
>Now,themaximumresolutionofanNpointDFT,i.e.theseparationbetweenfrequencycomponents,is
2N.ByextendingthesignaltoalongerlengthM,weareindeedreducingtheseparationbetween
frequencycomponents.
>OnemaythinkthatthisartificialincreaseinresolutionallowstheDFTtoshowfinerdetailsoftheinput
signalsspectrum.Itisnotso.
TheMpointDFTX(M)ofanNpointdatavectorx,obtainedviazeropadding,canbeobtaineddirectly
fromthecanonicalNpointDFTofthevectorX(N)viaasimplematrixmultiplication:

WheretheMNmatrixMM,Nisgivenby

Takingaboutdelayinoverlapaddfilters:
Finite impulse response (FIR) digital filters and convolution are defined by :
y(n) = Summation from k=0 to k= L-1 (h(k) x(n k))
Where, for an FIR filter, x(n) is a length-N sequence of numbers considered to be the input signal,
h(n) is a length-L sequence of numbers considered to be the filter coefficients, and y(n) is the
filtered output.

Examination of this equation shows that the output signal y(n) must be a length-(N + L 1)
sequence of numbers and the direct calculation of this output requires NL multiplications
and approximately NL additions (actually, (N 1)(L 1)).
The goal is to calculate this convolution or filtering faster than directly implementing. The
most common way to achieve fast convolution is to section or block the signal and use
the FFT on these blocks to take advantage of the efficiency of the FFT.
Indeed, one disadvantage of this technique is it puts an inherent delay of one block length.

this approach is so common as to be almost synonymous with fast convolution. The


problem is to implement on-going, non-cyclic convolution with the finite-length, cyclic
convolution that the FFT gives. An answer was quickly found in a clever organization of
piecing together blocks of data using what is now called the overlap-add method and the
overlap-save method.

Potrebbero piacerti anche