i'm doing overlap save method in frequency domain. i make hankel function to digital filter using frequency sampling method(to make arbitrary magnitude phase filter). and i do ifft and zero padding fft
i heard that if the filter is non-causal, zero padding fft have gibb's phenomenon. my filter have same problem. i'm doing shift FIR filter to make causal filter but the problem is not solved.... please help me
clear all; close all; %% parameter fs = 2000; ts = 1/fs; c = 340; R = 1; %% hankel filter Lp = 50; N = 2*Lp+1; %filter length resol = 0:N-1; % frequency resolution f = resol/N*fs; k = 2*pi*f/c; M=5; R = 2; nu = 2; %hankel order % frequency sampling method right = besselh(nu,k(1:(N-1)/2 +1)*R); %Hankel function 0~pi right(1:5) = 0; %eliminate infinite part left = fliplr(right); left = conj(left); left(end) = []; H = [right left]; % symmetric freuqnecy response h = ifft(H); % impulse response nn = 80; %shift index h1 = [h(nn : end) h(1:nn-1)]; % shift impulse response to make causal filter H1 = fft(h1,2*N); %zero padding fft subplot(2,1,1) plot(h1) subplot(2,1,2) plot(abs(H1)) 

His not conjugate symmetric so thathis not real, please check your code. To eliminate the ininite part, why do you setright(1:5)to zero? $H_\nu(z)$ goes to infinity only when $z=0$ due to the property of Neumann function. $\endgroup$