Abstract:
A method and system for generating data for a spectral Doppler strip in an ultrasound system includes a beamformer that provides Doppler data to a signal processor. The signal processor applies an autoregressive model and determines autoregressive parameters responsive to the Doppler data. Information responsive to the autoregressive parameters is generated, and a window function is applied to the information. At least one spectrum responsive to the auto-regressive parameter is estimated with a Fourier transform.

Description:
This application is a division of U.S. Pat. No. 6,030,345, issued Feb. 29, 2000. 
    
    
     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
     FIELD OF THE INVENTION 
     This invention relates in general to ultrasound systems and in particular to a system and method for generating spectral Doppler data. 
     BACKGROUND OF THE INVENTION 
     Ultrasound imaging systems detect and display information relating to Doppler shifts of returning echoes. The Doppler shifts represent movement, such as blood flow patterns. Spectral Doppler is one known ultrasound technique to detect and display blood flow patterns associated with a point or points in a body. 
     In spectral Doppler, an ongoing series of Doppler spectra are displayed for a particular point in the body. Each spectrum represents a point in time and a range of frequencies and associated signal strengths. The frequencies are proportional to blood flow velocities. The signal strength of each frequency is displayed on the spectrum as a brightness. 
     The spectrum is estimated by a signal processor. An ongoing stream of Doppler data samples is provided to the signal processor. The signal processor typically implements one of two methods for estimating spectra from the Doppler data. 
     One method to estimate each spectrum applies a conventional short-time Fourier transform (STFT) algorithm. In particular, a block of ongoing Doppler data is multiplied by a sliding window function. The Discrete Fourier Transform (DFT) of the output of the window function is computed. Generally, the DFT is based on a certain size or number of sample points, such as a 128 point DFT. The window function and the DFT function output the same number of sample points as are input. If the spectrum is displayed with more samples, then the samples are interpolated from the output of the DFT calculation. 
     The next spectrum is estimated using the same method on a different block of Doppler data. Generally, each spectrum is of the same size, such as a multiple point (128) spectrum. The different block of data is obtained by sliding or positioning the window function to operate on a block of Doppler data that includes at least one Doppler data sample obtained after the samples in the previous block of Doppler data. The sliding window is positioned based on a generally fixed time interval between each successive window. 
     The number of Doppler data samples used for calculating the spectrum varies based on the pulse repetition interval (PRI). The length of the window function, which determines the number of samples included in the block of Doppler samples, is varied between 32 and 128 samples as a function of the PRI. Varying the length of the window function prevents temporal resolution degradation as the PRI increases. Generally, the length of the window function is decreased as the PRI increases. 
     There are disadvantages to decreasing the length of the window. When the shorter window functions are used, data is interpolated from the estimated spectrum in order to output a certain size spectrum, such as a 128 point spectrum. By decreasing the window function size, the frequency resolution of the spectra is decreased. For example, a spectrum computed using a 32 sample window function has one quarter the frequency resolution of a spectrum computed using a 128 sample window function. 
     The second method to estimate each spectrum uses an autoregressive model. The ongoing Doppler data samples are modeled with an autoregressive model characterized by a set of autoregressive parameters. Using a z-transform, a spectral estimate is produced by computing the spectrum that corresponds to the autoregressive model. The autoregressive model generates spectra with improved frequency resolution as compared to the STFT based method described above. However, autoregressive models: (1) produce spectra with higher dynamic range than the conventional STFT method, (2) may not include spectral features due to poor approximation of the Doppler data, and (3) produce spectral strips with a different look than strips produced by conventional STFT methods. 
     Neither of the ultrasound systems and methods for estimating spectra is entirely satisfactory. It is therefore desirable to provide a method and system for enhanced-resolution spectral Doppler display. 
     SUMMARY OF THE INVENTION 
     The invention provides an efficient method for processing and displaying various ultrasound data. In one aspect, a method and system for generating data for a spectral Doppler strip in an ultrasound system are provided. A beamformer provides Doppler data to a signal processor. The signal processor applies an autoregressive model and determines autoregressive parameters responsive to the Doppler data. Information responsive to the autoregressive parameters is generated, and a window function is applied to the information. 
     In another embodiment, a method and system for generating data for a spectral Doppler strip in an ultrasound system are provided. A beamformer provides Doppler data to a signal processor. The signal processor generates extrapolated data from the Doppler data and applies a window function to the Doppler data and the extrapolated data. 
     In yet another aspect of the invention, a method for generating data for a spectral Doppler strip in an ultrasound system is provided. Doppler data is provided. Data is extrapolated from the Doppler data and a Fourier transform is applied to the Doppler data and the extrapolated data. 
     In another aspect of the invention, a method of estimating data for a spectral Doppler display in an ultrasound system is provided. At least one autoregressive parameter responsive to Doppler data is generated. At least one spectrum responsive to the auto-regressive parameter is estimated with a Fourier transform. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of an ultrasound system for creating a spectral Doppler display. 
     FIG. 2 is a pictorial representation of the method of generating data for the spectral Doppler display of FIG.  1 . 
     FIG. 3 is a graphical representation of a spectral Doppler display. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     Referring now to the FIGURES, and in particular FIG. 1, a portion of an ultrasound system is generally shown at  20 . Preferably, the ultrasound system  20  includes a spectral Doppler system, such as a pulse wave, continuous wave, or auxiliary continuous wave system, as known in the art. The spectral Doppler system includes a display of an ongoing series of estimated spectra. Preferably, each estimated spectrum includes a certain number of data points, such as 128. Furthermore, each spectrum includes the same number of data points as the other spectra. Generally, to estimate the spectra, spectral Doppler systems produce an ultrasonic wave, detect echo signals, process the echo signals, and display spectral information based on the echo signals. 
     To produce the ultrasonic wave, the ultrasound system  20  includes a transmit and receive beamformer  22 . The transmit and receive beamformer  22  may comprise a transmit beamformer separate from the receive beamformer. As known in the art, the transmit and receive beamformer  22  produces one or more electrical excitation signals. The electrical excitation signals are applied to a transducer  24 . The transducer  24  outputs an ultrasonic wave based on the electrical excitation signals into a body, such as a human body. The ultrasonic wave reflects off of structures within the body creating echo signals. 
     The echo signals are detected by the transducer  24 . The detected echo signals are provided to the transmit and receive beamformer  22 . The transmit and receive beamfofrmer  22  processes the echo signals and outputs a stream of Doppler data on line  26 , as known in the art. Preferably, the stream of Doppler data is a stream of samples representing in phase (I) and quadrature (Q) components of the echo signal. 
     The ongoing Doppler data is represented mathematically as d(0), d(1), . . . d(K) where d(K) represents the Doppler data at time index K. The transmit and receive beamformer  22  provides the Doppler data samples with a sample period equal to the pulse repetition interval (PRI). Thus, the PRI is the amount of time between adjacent Doppler data samples. The PRI varies based on a PRI setting input  28  to the transmit and receive beamformer  22 . The PRI is set as known in the art. For example, the user selects a frequency or velocity scale. Using a center frequency of the transducer  24 , and the selected frequency or velocity scale, the ultrasound system  20  derives the minimum and maximum Doppler shift frequencies. The difference between the minimum and maximum Doppler shift frequencies is calculated. The PRI is set equal to one divided by the difference. 
     To process the echo signals, the Doppler data is provided to a signal processor  30 . The signal processor  30  is preferably a commercially available digital signal processor, but other processors may be used. The signal processor  30  comprises a memory for storing various algorithms, such as the preferred algorithms discussed below. Additionally, the signal processor  30  may also comprise one or more look-up tables or one or more filters. The signal processor  30  receives the Doppler data on line  26  and control instructions from the control processor  32 . The signal processor  30  processes the Doppler data in accordance with the algorithms to estimate a spectrum. 
     Attached as Appendix B is a preferred algorithm for generating spectra in accordance with the present invention using the MATLAB (version 5.0) simulation program by The Math Works, Inc. For implementation on an ultrasound system, the code may be altered. 
     Referring now to FIG. 2, the algorithm or algorithms applied by the signal processor  30  are pictorially represented. As discussed below in more detail, a set of Doppler data is selected and modeled. The parameters from the model are used to extrapolate additional samples from the set of Doppler data. A window function is applied to the set of Doppler data and the additional samples. A Fourier transform is performed on the output of the window function to estimate the spectrum. 
     As shown by the brackets  41 , a set of Doppler data is selected. The Doppler data stream is shown as its mathematical representation at data block  40 . The set is represented mathematically as d(0), d(1), . . . d(N−1). The number of Doppler data samples, N, included in the set is a function of the PRI. The PRI is input from the control processor  32  to the signal processor  30 . As the PRI increases, the number of Doppler data samples selected decreases. Preferably, the number of samples of the Doppler data will range between approximately 32 to 128 samples, depending on the number of extrapolated data samples as discussed below. For example, the number of Doppler data samples selected is 32, 36, 40, 48, 56, 64, 80, 96, 112, or 128. Other ranges or size of the Doppler data sets may be used. The PRI values associated, respectively, with each of the number of Doppler data samples are 128 for the shortest PRI and approximately 32 for the largest PRI. The other numbers of Doppler data samples between 32 and 128 are associated with PRI values between the two PRI extremes discussed above. The association is based on testing and the system capabilities. 
     To model the selected data, the set of Doppler data samples is provided to model block  42 . Model block  42  represents an autoregressive moving average (ARMA) function. Preferably, model block  42  represents an autoregressive model where the parameters of the autoregressive model are estimated using known autoregressive parameter estimators, such as an autocorrelation, covariance, or any other autoregressive parameter estimators. In particular, model block  42  represents a fourth-order autoregressive model with parameters estimated using the Burg algorithm. The autoregressive model is mathematically represented as: 
     
       
           y ( N )= x ( N)+   a (1)  y ( N− 1)+ a (2)  y ( N− 2)+ . . .  a ( P )  y ( N−P)   
       
     
     where x(N) represents a white noise signal, y(N) is an output of the model to approximate the signal d(N), P is the model order, and a(1), a(2), . . . a(P) are autoregressive coefficients determined by the model block  42 . The model block  42  calculates autoregressive parameters, including autoregressive coefficients and the power of a white noise signal. The autoregressive parameters are determined from the set of Doppler data, as known in the art. In the preferred embodiment, the model block  42  outputs the four autoregressive coefficients, a(1), a(2), a(3), and a(4). More or fewer coefficients or other parameters may be determined. Further, the model block  42  may calculate a number of samples of approximate data, y(N), as replacement data for the set of Doppler data. 
     Based on the autoregressive coefficients and the set of Doppler data, the additional samples are extrapolated in an extrapolator  44 . The extrapolator  44  represents an algorithm for extrapolating the additional data. The set of Doppler data samples is provided to the extrapolator  44 . The extrapolator  44  also receives the autoregressive coefficients determined by the model block  42 . To determine the number of samples of the additional data to extrapolate, the number of samples in the set of Doppler data or approximate data is subtracted from the number of samples to be included in the estimated spectrum, such as 128 minus 32. Preferably, the difference value is divided in half, such as 96 divided by 2. The one-half value, M, such as 48, represents the number of forward extrapolated samples and the number of backwards extrapolated samples of additional data. Thus, the number of Doppler or approximated data samples plus the number of additional data samples is equal to the number of points in the desired spectrum. 
     After determining the value of M, the Doppler data is extrapolated forward in time and backward in time. However, extrapolation may include only forward or only backward based data. The set of Doppler data d(0), d(1), . . . d(N−1) is extrapolated forward in time to obtain a set of extrapolated data. The forward extrapolated data is represented mathematically by d(N), d(N+1), . . . d(N+M−1). To obtain the extrapolated data, the autoregressive parameters are applied to the set of Doppler data, or alternatively, the set of approximate data. In particular, the extrapolated data is obtained by applying forward prediction equations, such as: 
     
       
           d ( N )= a (1)  d ( N− 1)+ a (2)  d ( N− 2)+ . . .  a ( P )  d ( N−P ) 
       
     
     
       
           d ( N+ 1)= a (1)  d ( N )+ a (2)  D ( N− 1)+ . . .  a ( P )  d ( N−   P+ 1) 
       
     
     
       
           d ( N+ M−1)= a (1)  d ( N+ M−2)+ a( 2)  D ( N+   M− 3)+ . . .  a ( P )  d ( N+ M− P− 1) 
       
     
     where a(1), a(2), . . . a(P) are the autoregressive coefficients determined by the model block  42 . Other functions may be used. 
     The set of Doppler data is also preferably extrapolated backwards to create additional extrapolated data. In particular, autoregressive parameters are applied to the set of Doppler data or, alternatively, the set of approximate data, as discussed above. However, the autoregressive parameters applied for backward extrapolated data are not the autoregressive coefficients a(1), a(2) . . . a(P) discussed above. For backwards extrapolation, the autoregressive coefficients b(1), b(2) . . . b(P) are determined by the model block  42  as discussed above, only the set of Doppler data is reversed in order. For example, d(N−1) is the first value in the set and d(0) is the last value in the set used to determine the autoregressive parameters for backwards extrapolation. In the preferred autoregressive model for estimating parameters using the Burg algorithm, the backwards autoregressive parameters b(1), b(2) . . . b(P) correspond to the complex conjugate of the autoregressive parameters a(1), a(2) . . . a(P). The extrapolated data from the backwards in time extrapolation is calculated according to the following functions: 
     
       
         d(−1)=b(1) d(0)+b(2) d(1)+ . . . b(P) d(P−1) 
       
     
     
       
           d (−2)= b (1)  d (−1)+ b (2)  d (0)+ . . .  b ( P )  d ( P− 2) 
       
     
       d (− M )= b (1)  D (− M+ 1)+ b (2) (− M+ 2)+ . . .  b ( P )  d (− M+P ) 
     where b(N) is the complex conjugate of a(N). Other functions may be used. 
     The various extrapolated data is compiled together in a time sequence with either the set of approximate data or the set of Doppler data in a compilation block  46 . Preferably, the number of samples compiled in the compilation block  46  is equal to the number of points for output as the desired spectrum. For example, 128 data samples are compiled together in the compilation block  46 , such as 32 Doppler data samples and 48 extrapolated data samples from the forward prediction and 48 extrapolated data samples from the backwards prediction. Thus, the compiled data set e(N) is represented as d(−M+1), d(−M+2) . . . d(0), d(1) . . . d(N−1), d(N) . . . d(N+M−1) where N is 32 and M is 48. Alternatively, d(0) through d(N−1) is the set of values y(0), y(1), . . . y(N−1); d(−M+1) through d(−1) is the set of values y(−M+1), y(−M+2) . . . y(−1); and/or d(N) through d(N+M−1) is the set of values y(N), y(N+1) . . . y(N+M−1). 
     The compiled data set is provided to a window function block  48 . The window function block  48  represents application of the window function to the compiled data set. Preferably, the window function is selected as a Blackman, Blackman-Harris, Hamming, or Acuson window function. The Blackman, Blackman-Harris and Hamming window functions are known in the art, as demonstrated in the article by Harris “On The Use Of Windows for Harmonic Analysis With The Discrete Fourier Transform”, Proceedings of the IEEE, Volume 661, January 1978. The Acuson window is provided in Appendix A as the 128 weights of acuson128. 
     The control processor  32  selects the appropriate window function based on a look-up table. The control processor  32  receives input information from the user. For example, the user sets the scale, sharpness and/or Doppler mode for operation of the ultrasound system  20 . Based on the input information from the user and a designation of the type of transducer  24 , the control processor  32  controls selection of the type of window function as known in the art. The particular type of window function selected is based on user preferences. Each window function, as known in the art, provides adjustment of the frequency resolution and side lobe properties of the information output from the Fourier transform block  50 . For example, application of the Acuson window results in information with larger side lobes, but better frequency resolution than application of the Blackman-Harris window. 
     The selected window function is applied by multiplying each of the samples in the compiled data set by a respective weight. The weights are selected to yield more appropriate values after performing a Fourier transform, as known in the art and discussed above. The size of the window function, such as a 128 sample window function, is selected by the control processor  32  to correspond with the number of samples in the set of compiled data (N+2M). In the preferred embodiment, the size of the window function is also equal to the number of points to be output from the signal processor  30  as the estimated spectrum. The output of the window function block  48  is a set of data with the same number of samples as input into the window function block  48 . 
     The output of the window function block  48  is provided to the Fourier transform block  50 . The Fourier transform block  50  represents application of a Fourier transform. Preferably, a discrete Fourier transform is applied to the set of data output by window function block  48 . The Fourier transform is computed as a function of the number of samples. The appropriate sized Fourier transform algorithm is selected based on the number of samples input into the Fourier transform block  50 , such as 128 samples. The size of the Fourier transform is selected by the control processor  32  to correspond with the number of samples, such as (N+2M), in the compiled data set, such as e(N). Application of the Fourier transform results in estimation of the spectrum. For example, a 128 sample spectrum is estimated. 
     The samples representing the estimated spectrum are log compressed, as known in the art. The complex spectrum information output by the Fourier transform block  50  is used to derive real values. In particular, the magnitude of the complex information is squared. As known in the art, the output of the log compression is based on the real values, a gain value and an amount of compression value. Thus, a log compressed estimated spectrum is derived. 
     After estimating one spectrum, another spectrum is estimated for the ongoing display of spectra. As represented by the duplicate set of function blocks  42 - 50  of FIG. 2, the signal processor  30  obtains another set of Doppler data as shown by a bracket  52 . The first sample of the second or next Doppler data set is a fixed time interval from the first data sample of the first or preceding Doppler data set. Thus, the bracket  52  is shown shifted from the position of an earlier bracket  41 . Preferably, the bracket shifts by the number of samples representing a certain amount of time. The amount of time is influenced by display considerations and is more than the time needed to process the prior set of Doppler data. For example, the first sample of the subsequent Doppler data set is d(10), a shift of ten samples. The shift of 10 samples corresponds to amount of time given by 10*PRI. This second set of Doppler data may contain values included in the first set of Doppler data. The second or next set of Doppler data is processed as discussed above. Thus, multiple ongoing spectra are calculated by the signal processor  30 . Preferably, the signal processor  30  computes each spectrum serially, but parallel or pipeline processing may be used. 
     Other variations for calculating each spectrum are possible. For example, a 128 point spectrum is calculated using 32 Doppler data samples and 32 extrapolated data samples. The compiled set of data contains only 64 samples. A 64 sample window function is applied to the samples. Preferably, a Blackman, Blackman-Harris, Hamming or Acuson window function is used for any size window function. Window functions of various sizes are known in the art. The Acuson window function for various size windows is provided in Appendix A. After applying the window function, samples having a zero value are added as additional samples from the beginning and/or end of the set of data output from the window function block  48 . Thus, the set of data output from the window function block  48  is zero extended. A total of 64 zero values are added, so that the total number of samples provided to the Fourier transform block  50  is 128. The 128 point spectrum is then estimated as discussed above. 
     As an alternative to zero extending the output of the window function, a 64 point spectrum is calculated by the Fourier transform block  50  on the 64 samples output from the window function block  48 . Then, 64 additional samples are interpolated from the 64 point spectrum, as known in the art. Thus, a 128 point spectrum is provided. Other combinations of the number of samples at any point in the estimation process are possible. 
     The spectral information, such as the estimated spectrum, is displayed. Referring back to FIG. 1, the signal processor  30  provides the ongoing series of estimated spectra. Preferably, each spectrum includes the same number of sample points, such as 128. Each spectrum is passed through or stored in memory  34 . Preferably, memory is a CINE as known in the art, but may be a buffer or other memory device. The memory  34  stores the estimated spectrum for later playback. As known in the art, the memory  34  outputs the spectral information for display either in a playback mode or in real time. The spectral information is scan converted and provided to the display  36 . Each spectrum is displayed on display  36 , as known in the art. 
     Each spectrum is displayed with other spectra. Referring to FIG.  3  and as known in the art, each spectrum  54  is used to create the spectral strip generally shown at  56 . Each spectrum  54  represents the range of frequencies at a particular time. The particular time corresponds to the particular set of Doppler data used to estimate the spectrum  54 . For example, the spectrum  54  displayed at time t 1  corresponds to the set of Doppler data samples d(0)−d(N−1) collected as shown by bracket  41  in FIG.  2 . The range of frequencies are referenced to the vertical axis. The vertical axis may be a function of velocity instead of frequency, as known in the art. The number of frequencies in the range of frequencies corresponds to the number of points output for each spectrum by the signal processor  30 . The signal strength associated with each particular frequency is displayed as a brightness on the spectrum  54 . A high signal strength portion of the spectrum will correspond to a bright point on the spectrum  54 . 
     It should be understood that many changes and modifications can be made to the embodiments described above. For example, different models, different autoregressive estimators, different window functions, and different extrapolation functions may be applied. Additionally, analog, digital or a combination of analog and digital processing may be used. Instead of using a digital signal processor, various structures implementing the functions described above may be used, such as a dedicated hardwired circuit or connection of discrete hardware components. 
     It is therefore intended that the foregoing detailed description be understood as an illustration of the presently preferred embodiments of the invention, and not as a definition of the invention. It is only the following claims, including all equivalents that are intended to define the scope of the invention.