Normalmente i velocimetri Doppler forniscono il segnale
audio corrispondente al Doppler shift ed un segnale video già
elaborato (sonogramma), convenzionalmente riportato nella
parte sup e inf dello schermo a seconda che corrisponda al
canale in avvicinamento o in allontanamento.
L’elaborazione avviene tramite una serie di processi che sono
descritti nel seguito.
Signal acquisition
The first step is sampling the signal (possibly any
period T ) is segmented in time intervals Dt:
Dt = T / N
Buona risoluzione temp: Dt piccolo
N grande
Il numero N di campioni per periodo è la frequenza di
acquisizione, o sampling frequency: fs = N/T.
Dovendo riconoscere le frequenze presenti nel campione
occorre trasformare secondo Fourier: in pratica si usa la
FFT, che viene applicata su un numero di punti N = 2k.
( es: 512 o 1024).
La risoluzione in frequenza è data da Df = fs/N
Df
Buona risoluzione in frequenza:
Df piccola N grande , k grande
Che limitazioni ci sono su N e su k?
Innanzitutto N deve essere una potenza di 2 (il che non è un
problema…).
Cominciamo dal caso di un segnale stazionario: campionerò un
certo blocco di N dati su cui applicherò la FFT.
Se lavoro su di un unico blocco, avrò una certa quantità di
rumore sovrapposto al segnale. L’unico modo di ridurre il
rumore consiste nel campionare molti blocchi e mediare il
risultato sui blocchi:
FFT
FFT
FFT
Se prendo blocchi troppo lunghi (N grande) non potrò mediare
molti blocchi, perché ho un limite sul buffer.
Se scelgo k troppo grandi, avrò una buona risoluzione in frequenza
ma impiego molto tempo per la FFT di singolo blocco: non ho
una procedura in tempo reale. Conviene dimensionare k in modo
che il tempo di FFT sia inferiore al tempo di campionamento,
e usare i blocchi di dati in condizione di overlapping:
FFT
FFT
FFT
Nel caso in cui il segnale sia periodico, es flusso unsteady,
i vincoli sono maggiori, perché non possiamo mediare su blocchi
in overlapping, ma soltanto su intervalli di tempo corrispondenti:
Poniamo di voler studiare il periodo suddividendolo in n intervalli:
allora mi servono N= 2k * n punti. Se f è la frequenza del segnale:
fs = N f  a seconda di f conviene modificare fs. Ad es:
A parità di N=10240
f(Hz)
0.1
1
fs(kHz)
1
10
tempo acq (s)
10.24
1.024
Un altro punto importante: l’ aliasing.
La scelta della frequenza di campionamento non è casuale, ma
dipende dal segnale campionato…
FFT trasforma gli N punti campionati in N/2 intervalli equidistanti
di frequenza. Questo significa che la massima frequenza che può
riconoscere sarà data da:
fmax=N*Df /2= N*fs/2*N=fs/2
La frequenza di campionamento deve essere almeno doppia della
massima frequenza che voglio riconoscere nel segnale!
(criterio di Niquist)
Se non rispetto questa prescrizione si crea una frequenza
fittizia fs-fmax che ‘sporca’ il segnale e lo deforma.
Se rispetto la prescrizione la frequenza di aliasing si viene
a formare sulla destra della fmax, e può essere facilmente
filtrata
Df
Un’ ennesima difficoltà: il leakage
Supponiamo di avere un segnale periodico e di campionarlo
senza rispettare la sua periodicità:
Questo introduce delle frequenze fittizie nel segnale!
La stessa cosa succede per un segnale qualsiasi. Poiché il
problema si presenta ‘ai bordi’ del blocco di campionamento,
esso viene ‘risolto’ introducendo una finestra di campionamento,
o ‘windowing’, che riduce il peso dei campioni alla periferia
rispetto a quelli centrali:
Ancora un problema sulla frequenza massima: come
distinguerla dal rumore?
Quando le ampiezze diventano molto piccole, i segnali
diventano estremamente evanescenti. Occorrono tecniche particolari per valutarle: algoritmi adattativi.
Un esempio è quello proposto da D’Alessio e colleghi (1985):
r0
Th
Df
n
In the power spectrum, the Doppler signal is revealed only when in m
consecutive spectral lines, at least r0 of them exceed a fixed
threshold value Th, which changes depending on the noise level.
Therefore, the maximum Doppler frequency is at the first line exceeding
the boundary.
The spectral noise density N0 is obtained by averaging, for any spectrum,
the n lines with higher frequency.
The probability Psp that, when only the noise is present, a signal doesn’t
be shown, is determined by the parameters m and r0, while
the probability Pth,n that a spectral line exceeds the threshold Th, is
function of Psp and m and given by:
Moreover, the correct individualisation of a signal, in presence of noise,
depends on the signal to noise ratio SNR.
Pth,n  m 1  Psp
3.1
Raw Doppler signal
1024 pts
Time windowing
FFT
Nc
2
Fast Fourier Transform
P
Power spectrum
f
Weighted Average
W.A.
X
naiveDf
P
1
Filter
fl
fh
f
D’Alessio’s
algorithm
maxDf
P
Filter
1
fl maxDf
X
f
W.A.
Df
3.5 The acquisition system
A PC acquisition method is used in our laboratory.
The signal, trough the tape output of the instrument is taken upstream the
processing, acquired and digitalised
with a LAB 1200 card National Instrument and a Pentium III PC.
Both the acquisition and the following data analysis are administrated
with a program written in LabView
(Laboratory Virtual Instrument Engineering Workbench) environment, a
graphic programming system of the National Instruments.
LabView employs the so-called G language: it is a very intuitive method,
which allows to develop a program, using
some objects, called virtual instruments (VIs), which are connected
among them, simulating real scientific devices.
Any LabView program or Virtual Instrument has a front
panel and a block diagram.
In this case, the front panel is the user graphical interface
of the LabView 6. This interface collects all user inputs
and shows program outputs. Buttons, keys and other
indicators can be present.
The block diagram contains the source code of the
system graphical part.
In the upper part, on the left side, there are the input variables:
-first, the window of the acquired channels list,
-then the sampling frequency (10 kHz)
-and the buffer (64000).
-The information about FFT, channel (0) and points number (1024) are
shown under the START and STOP buttons.
In the centre of the panel, a screen to visualize both the signal and the
PDS is present: a key under it allows to select both alternately.
Next to it, a bar represents the temporal amplitude of the sampling.
Finally, in the lower part of the panel, on the right side, a switch can
record the signal on the disk.
It is worth noting that this program can be used only to acquire a steady
flow, while in the case of pulsatile movement an other block diagram
must be considered.
In fact, some differences are present, because, in the unsteady
conditions, a sinusoidal wave is superimposed to a constant frequency
and a modulation effect is obtained.
A trigger signal begins any period of the pulsating wave.
In the following figure, the front panel of this other program is shown:
Its structure and many buttons are the same as in the steady case, but, here,
it is also possible to change other parameters, as -the epoch length, i.e. the
acquisition duration (starting from each trigger pulse),
- the minimum delay between epochs, that is the minimum time period that
must elapse between one trigger pulse and the next ‘active’ one (trigger
pulses rise before that this time is disabled)
and the read timeout: the read block is locked until the whole epoch is
acquired or until this timeout is reached.
Il processing:
Cosa c’è dietro? Occorre acquisire anche lo schema
Sia nel caso steady sia nel caso unsteady
Steady case
Unsteady case
First, the signal is processed using a time windowing, which can be
chosen among a rectangular or Hamming’s or Hanning’s one,
to avoid that the non periodicity of the signal may cause artefacts.
The Doppler spectrum is, at the beginning, evaluated with a raw FFT,
for periods of 0.1 s: this time is considered rather short to assure
the signal stationariness, as requested from the FFT algorithm. Starting
from any spectrum , calculated with a particular time windowing,
different parameters are extracted and then averaged on a time period of
at least 1 s.
The first of them is the average Doppler shift, which is the mean
frequency of the power spectrum obtained as the weighed average
of the all spectral lines in the whole range defined during the acquisition
procedure (i.e. between fl and fh, which are the cutting off
frequencies of the band pass filters of the Doppler system).
Since the used algorithm is very raw, this average Doppler shift is called
‘naïve’ (Guiot et al, 1997).
Successively, the maximum and the correct mean frequency are
obtained making use of the D’Alessio algorithm. Finally, it is also
possible to extract the signal to noise ratio, SNR.
In the left side of the panel, the same parameters of the acquisition
program are present, even if, in this case, it is possible to select the
channel to analyse.
In the post processing part, you can choose the time interval, when to
process the signal and in the four windows below, the numerical
values and the standard deviation of SNR, mean maximum frequency,
mean naïve frequency and mean correct frequency are shown.
Then, through the two green buttons in the ‘show spectrum’ section, it is
possible to visualise and record the spectrum.
In the right side of the panel, there is the screen, where the four
parameters considered before are graphically represented.
Below it, some keys can change the range, to conform it to the
estimated values.
Above it, data about processing, data and FFT dimension, the kind of
time windowing, the number of noise samples are shown and other
parameters requested from the D’Alessio algorithm can be read.
Also in this case, different programs are needed for steady and pulsatile
flow.
The front panel is practically the same, with the only difference that a button
to record all spectra in any points of the period was added. It is also possible
to save the values of the different parameters for any points of the periods,
so, in this way, you can average values on the correspondent time interval
from many periods. This is very useful to remove a lot of noise from the
signal and recognize the forced waveform.
Scarica

La Fisica degli Ultrasuoni: laboratorio Doppler