So I am trying to estimate blood velocity using Doppler ultrasound. We have a complex signal y(t)= i (t) + j* q(t). i(t) and q(t) contain unwanted high frequency components created by the demodulation process and low frequency signals that are reflections from stationary tissues. I need to design a bandpass filter to remove these unwanted signals. The higher cutoff frequency of the bandpass filter is can be set at 10000 Hz and the lower frequency at 100 Hz. I am trying to calculate the Fourier transform of y(t) using a time window t(0)-tau<t<t(0) +tau to estimate instantaneous blood speed at t= t(0). This is my matlab code so far: it=xt.*cos(2*pi*f0*t); ht=9900*sinc((9900)*(t)).*exp(((20000*pi-200*pi)/2+200*pi)*j*t); ift=conv(it, ht*ts); qt=xt.*(cos(2*pi*f0*t)-sin(2*pi*f0*t)); qft=conv(qt, ht*ts); cft(ift, ts,1) The above is my lowpass filter. Then I used numerical convolution to calculate an approximate output of the filter output i(t) and q(t) when the input is i(t) and q(t) respectively: for k=1:50 yt=ift+j*qft; yk =yt(1:length(t)).* ((t>=.02 .*k - .02) - (t>= .02 .*k + .02)) ; [Yw, w] = cft(yk, ts, 1 ); % calculate the Fourier transform, where [maxY w_index] = max(abs(Yw)); % find the peak in ||xw|| omega_m(k) = w(w_index); % omega_m(k) is the Doppler shift frequency end but when I multiply y(t) by p(t-t0) I get 0 for my w0 and blood velocity is zero everywhere..What am I supposed to do?