How can Overlap-add technique be done
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi:), I would like to perform the overlap-add technique but it seems to have errors. any ideas
load handel
N=length(y);
L=8192;
b=[0.2];
a=[1 -0.8];
[hn,t]=impz(b,a);
M=length(hn);
Nx=floor((N+M-1-1))/(L)
H = fft(hn,N) %% (zero-padded FFT)
i = 1
while i <= Nx
il = min(i+L-1,Nx)
wt = ifft( fft(y(i:il),N) .* H, N);
k = min(i+N-1,Nx);
w(i:k) = w(i:k) + wt ; %%(add the overlapped output blocks)
i = i+L;
end
2 Kommentare
Walter Roberson
am 17 Dez. 2012
What errors do you perceive?
Note: you might want to consider using "for" instead of "while"
Akzeptierte Antwort
Walter Roberson
am 17 Dez. 2012
Initialize your matrix w, with
w = zeros(1,Nx);
before you start the loop.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Multirate Signal Processing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!