filtering in frequency domain I am performing decorrelation of two channels of audio using all pass filtering. The two all pass filters for two channels are of very high order (>1000 but with not all coefficients non zero). I have to perform this filtering in frequency domain. I get input samples in 2048 frame size (48 K sampling) with 50 % overlap Hann windowed. 

So to apply this filter (a small intermediate matlab snippet for one of the channels)

freq_resp_filter=freqz(filter_APF,4096,'whole');

fft_input_sig=fft(input_sig_frame,4096);

filtered_sig_fft=freq_resp_filter.*fft_input_sig;

filtered_sig_ifft=ifft(filtered_sig_fft); % done for testing only

final_2048_samples=filtered_sig_ifft(1:2048); % throw away last 2048 samples to                 
remove aliasing by fft convolution


and then i recombine this final_2048_samples with previous frames with overlapping. 

When I listen to the output audio, I hear intermittent noise with signal, 
the noise is absent when I apply the same filter in time domain.  

my question is: 
1. Is this implementation correct (I have to perform this in frequency domain! and I can not do overlap add/save as this block is a part of a system, and I have no control over frame size, so every operation, 2048 samples should be given as output for further processing. )

Regards,
Kd
Here is a visual answer why it is not working. The overlap is not even symmetrical in the last step so the scheme can't work.



Even if you make it symmetrical by making the filter zero-delay, the amount of stuff that gets summed together varies by time, so it can't be right.