Complex signal construction

In summary, the Matlab code used to estimate blood velocity using Doppler ultrasound includes a time window to estimate instantaneous blood speed at t=t(0), and a lowpass filter to remove unwanted high frequency components and low frequency signals.
  • #1
collier
1
0
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?
 
Engineering news on Phys.org
  • #2
Excellent that you are working on this problem. Many years ago, I had a brainstorm while taking a DSP class to create a truly non-invasive blood pressure measurement based on the blood velocity profile using doppler ultrasound . But never pursued it and have moved on to other things, etc.

I can't quite follow your Matlab code as some of the variables aren't quite clear - e.g. what is p(t) at the end? Anyhow, some general suggestions: Create a small scale, hand worked artificial example with known result. First without any noise signals or the filter. Then step through the FFT code to verify the result. Separately, add one low and one high freq sampled sine to the known input and step through the filter code.

Tedious, but nothing verifies like stepping through the code.

Good Luck!
 
  • #3


I would first commend you on your efforts to design and implement a bandpass filter to remove unwanted signals and calculate the Fourier transform of y(t) to estimate instantaneous blood speed. This is a complex task and requires a thorough understanding of signal processing techniques.

In regards to your question about the output being zero when multiplying y(t) by p(t-t0), I would suggest checking your code and the values of t0 and p(t-t0). It is possible that there is an error in your code or the values you are using. Additionally, I would recommend checking the time window t(0)-tau<t<t(0) +tau to ensure that it includes the desired signal and does not exclude any important information.

Furthermore, it may be helpful to consult with a colleague or mentor who has experience with signal processing or Doppler ultrasound. They may be able to provide insights and suggestions on how to improve your code and results.

Overall, it is important to continue troubleshooting and refining your approach in order to accurately estimate blood velocity using Doppler ultrasound. With persistence and attention to detail, I am confident that you will achieve your goal.
 

1. What is complex signal construction?

Complex signal construction refers to the process of combining multiple signals or components to create a more complex signal. This can involve techniques such as modulation, filtering, and mixing to manipulate the frequency, amplitude, and phase of the individual signals.

2. What is the purpose of complex signal construction?

Complex signal construction is used in various applications, including telecommunications, radar systems, and audio processing. It allows for the creation of signals that carry more information or have specific properties that are useful for a particular purpose.

3. What are some common methods used in complex signal construction?

Some common methods used in complex signal construction include Fourier analysis, time-domain analysis, and frequency-domain analysis. Other techniques such as wavelet analysis and digital signal processing may also be utilized.

4. How is complex signal construction different from simple signal construction?

The main difference between complex signal construction and simple signal construction is the number of components or signals involved. Simple signal construction typically involves only one signal, whereas complex signal construction involves multiple signals that are combined to create a more complex waveform.

5. What are the benefits of using complex signal construction?

Using complex signal construction allows for the manipulation and control of various parameters of a signal, such as frequency, phase, and amplitude. This can result in improved signal quality, increased data transmission rates, and more efficient use of the available bandwidth.

Similar threads

  • Electrical Engineering
2
Replies
43
Views
4K
  • Engineering and Comp Sci Homework Help
Replies
3
Views
991
  • Engineering and Comp Sci Homework Help
Replies
2
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
12
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
Back
Top