View Single Post
  #1 (permalink)  
Old 03-06-2007, 12:01 PM
DSP-Newbie
Guest
 
Posts: n/a
Default Time domain convolution in a real-time situation

Hi group,

I'm still working on my software BFSK-modem project.
More specifically, i want to use better filters, so I'm experimenting
with a windowed sinc filter (Blackman window).
I can succesfully calculate the impulse response H[]

My problem is that when I apply the filtering algorithm ( as found in
ch. 16 of The Scientist & Engineer's Guide to DSP ) , that the first M
output datapoints in Y[] are zero. ( M = length of H[] )

Quote example code:
N=4999, M=100

for j := 100 to 4999 do
begin
Y[j] := 0;
for i:= 0 to 100 do
Y[j] := Y[j] + X[j-i] * H[i];
end;

If this were only a transient startup effect, it wouldn't be a problem,
but if I apply the algorithm on each incoming datablock, then I will
obviously "loose" data.

I understand why the first M points must be zero in a "statical"
situation, but can't figure out how to handle this in a real-time
environment, so that I get a continuous filtered output.

I have read about OLA/OLS, but all examples seemed to apply only to FFT
filters.

Please bear with me, my mathematical background leaves a lot to be
desired :0(


Reply With Quote