Doppler simulation and analysis testingWCR 1/06/2006

See handwritten notes.

doppsim1.m (Matlab) generates simulated data.

doppler1.vi (Labview) analyzes Doppler flow data with a single Fourier analysis (not time-resolved).

Test the two programs by generating fake data and seeing if get expected results.

Nshell=# cylindrical shells

Vmaxs,vmaxd=systolic, diastolic centerline velocity (cm/s)

SR=samp rate (Hz), HR=heart rate (bpm)(=70), f0=illum freq=10^7 Hz

doppsim104.txt

Nshell=3, vmaxs=1,vmaxd=1

mean(X) = 0.00431947 std dev(X)= 0.865524

Xmax = 1.97909 Xmin = -1.97928

Max sys freq expected = 94.2809 Hz

Max dias freq expected = 94.2809 Hz

Max freqs above don’t take into acct cylindrical shells.

True expected freqs = 91.66, 70.71, 28.81 Hz

Expected relative weights = squares of the w’s, since this is a power spectrum:

0.1667, 0.5000, 0.8333 (=1 : 3 : 5).

Doppler1.vi shows that actual freqs of simulated data are at the expected freqs (subject to coarseness of the spectral resolution). Actual peak heights of simulated data are 0.0290, 0.0665, 0.1242 (= 1 : 2.29 : 4.28). This discrepancy btn expected and measured peak heights may be because the sim data has non-integer number of cycles of each freq, which smears out the peaks, and because the spectral estimate is somewhat coarse and so it misses the exact peak height.

doppsim106.txt

SR=1000 Nshell=3 An=0

Syst freqs expctd: 91.662 70.7107 28.8081

Dias freqs expctd: 91.662 70.7107 28.8081

Shell sine amplitudes: 0.408248 0.707107 0.912871

Norm shell sine amps: 1 1.73205 2.23607

Initial phases: 5.3206 1.86429 0.33536

mean(X)=-0.00427774 std dev(X)=0.866276

Xmax=2.00663 Xmin=-2.00368

Dopplersim1.vi shows peak heights of 0.0290 : 0.0665 : 0.1242in the power spectrum (vs. 1:3:5 expected). Export power spectral data to Excel (doppler reconstruction.xls) and sum all the points in each peak. When add points in each peak, the totals (i.e. powers associated with each peak) are 0.030 : 0.120 : 0.199, which is the expected 1 : 3 : 5 ratio. So doppler_sim1.m and doppler1.vi are working as expected.

See plot for doppsim108.txt. In this 20 sec simulation with 3 shells, flow varies from 0.9 to 1.0 with HR=120. The spectrum shows peaks in the expected frequency range. The velocity varies smoothly from 0.9 to 1.0 cm/sec on the midline, and therefore the frequency of the reflected waves varies smoothly over a range. The spectrum has discrete peaks, not a smooth range. This is because when a sine wave’s frequency is modulated sinusoidally (as in this case), the spectrum has peaks separated by intervals of fm=modulation freq. (See Horowitz & Hill section of FM broadcasting.) In this case fm=HR=120 bpm=2 Hz..

doppsim108.txt

SR=1000 Nshell=3 An=0

Syst freqs expctd: 91.662 70.7107 28.8081

Dias freqs expctd: 82.4958 63.6396 25.9272

Shell sine amplitudes: 0.408248 0.707107 0.912871

Norm shell sine amps: 1 1.73205 2.23607

Initial phases: 3.81396 3.57417 3.85335

mean(X)=0.000314945 std dev(X)=0.866098

Xmax=2.01585 Xmin=-2.01585