- #1

- 1

- 0

## Main Question or Discussion Point

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?

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?