Coded systems for imaging and communications.
Coded excitation is widely used in various ultrasound, radar, sonar and other imaging systems as well as in communication system. Coded excitations can be used for different purposes, including enhancing SNR by using codes with large time-bandwidth product, implementing code-division multiplexing, among others. Literature Review: Complementary Codes, Barker Codes, Golay Codes, Pseudorandom Noise, Chirps,
In an embodiment, there is disclosed a system comprising a multiplicity of transmitters and receivers, the transmitters comprising transmitting elements and processing parts, the processing parts adapted to cause the transmitting elements to transmit a code taken from a set of codes, the set of codes being a set of sparse-repeating interval (SRI) codes, non-repeating interval (NRI) codes or Hadamard NRI codes.
In an embodiment, there is disclosed an imaging system comprising: a transmitter having multiple transmitting elements, each transmitting element having a processing part, the processing part of the transmitter adapted to cause each transmitting element of the multiple transmitting elements to transmit a different code of a set of codes in which the codes are selected from the group consisting of sparse-repeating interval (SRI) codes, non-repeating interval (NRI) codes and Hadamard NRI codes; and a receiver having multiple receiving elements and a receiving processing part, the receiving processing part adapted to receive signals formed by the scattering from an object to be imaged of the codes transmitted from the transmitter and to apply a comparing algorithm comparing the received signals with the transmitted codes to obtain a synthetic aperture data set, and processing the synthetic aperture data set to form an image.
In an embodiment, there is disclosed an asynchronous Code-Division Multiple Access (CDMA) communication system comprising: multiple transmitters, each transmitter having a processing part adapted to cause the transmission by the transmitter of a respective signal comprising a respective SRI or NRI code or key sequence and a respective coded message constructed by correlating or convolving a respective message with a respective code of the set of SRI/NRI codes, each transmitter using a different respective key sequence and a different respective code than each of the other transmitters; and at least one receiver having a receiving processing part, the receiving processing part adapted to receive the transmitted signals and to use the respective key sequences to determine which signal came from which transmitter, and to decode a coded message of the respective coded messages by applying a comparing algorithm comparing the coded message with the respective code of the set of codes.
In various embodiments, the transmitter and receiver may share transducers; the comparing algorithm is cross-correlation or convolution; the comparing algorithm is a matrix inversion to solve P=Ae+n where P is the set of data to estimate and A is a system matrix with n being noise, or,
which estimates the data transmitted by transmitter j and received with receiver k; the transmitters are virtual transmitters, each virtual transmitter being realized by using a multiplicity of elements to focus at a location, to become the virtual transmitter location, the respective key sequences are the respective codes, the set of codes is designed so that for a length P all possible autocorrelations have P zero values on either side of the mainlobes.
A set of SRI/NRI/Hadamard-NRI sequence may be generated by selecting a sequence of intervals by a method comprising:
A set of SRI/NRI sequences may be generated by, the method comprising: providing an initial set of sequences of intervals, which may be the empty set; creating a new sequence of intervals by:
There will now be described embodiments of the coded imaging and multiuser communications systems in which like reference characters denote like elements, by way of example, in which:
We disclose coded imaging and multi-user communications systems using novel codes, algorithms to develop such codes, and technological implementations to use the codes for various types of systems involving multiple (or single) transmitters and multiple (or single) receivers of signals (which could include but are not limited to electromagnetic radiation, acoustic waves, other types of waves or data) as a function of time-or-space.
For example, we disclose novel non-repeating interval (NRI) codes and Hadamard non-repeating interval codes (to be described below) including
The use of codes with NRI properties for various types of systems involving multiple (or single) transmitters and multiple (or single) receivers of signals (which could include but are not limited to electromagnetic radiation, acoustic waves, other types of waves or data) as a function of time-or-space. Such systems could include imaging system (like ultrasound, sonar, radar, etc.) and multi-user communication systems.
Algorithms to synthesize NRI codes and Hadamard NRI codes.
Application of NRI codes for a myriad of possible uses.
We detail possible ultrasound, radar and sonar system architectures which may use NRI codes.
The use of NRI codes to generate fast ultrasound/radar/sonar images by transmitting a different code from each element and receiving on all (or a subset of elements) then implementing processing to recover high quality images.
The use of NRI codes as an effective replacement of pseudo-random codes in Asynchronous Code Division Multiple Access Communications, with the potential advantage of ensuring clutter artifacts are bounded.
An element can be, for example, an antenna and/or a transducer. Elements can be transmitting elements, receiving elements, or both. A transducer is a device capable of converting electrical signals to another type of energy (e.g. optical, mechanical, etc) and/or vice versa.
We also disclose the development and use of a linear-least-squares algorithm for estimating synthetic aperture data for a given pulse sequence. The pulse sequence could involve NRI or other codes.
Code: A vector of numbers with real, complex, integer, binary, or other values.
Z-Interval: The distance in samples or number of vector-elements between specified non-zero values of a code. In this document when we refer to an interval it will mean a Z-interval unless otherwise specified.
Bounded-Sidelobe Near Orthogonal (BSNO) Code: a code taken from a set of codes, each code being composed of a sequence of numbers, the set of codes having the properties of: the cross correlation magnitude between each pair of two different codes of the set is less than a specified value, a, evaluated at all values of lag time; the autocorrelation magnitude of each code of the set is bounded by a specified value, b, for all lag times other than zero; The zero-lag autocorrelation of each code of the set is equal to the sum of the squares of each element of the given code, and is not bounded by a or b.
Sparse-Repeating-Interval (SRI) Code: a code taken from a set of codes, each code comprised of a vector of number with both zero and non-zero elements, such that the set of all possible Z-intervals (defined above) for each respective code may have some repeated values in the set. A set of SRI codes can be shown to have the properties of BSNO codes, but there may be BSNO codes which are not SRI codes.
Non-Repeating Interval (NRI) Code: a code taken from a set of SRI codes in which the set of all possible Z-intervals (defined above) for each respective code has no repeats.
These NRI codes have the following additional properties: the sum of the codes of the set, evaluated by summation of the numbers at each position in the respective sequences of numbers of the codes of the set, has a non-zero value for a particular position in the respective sequences and only for the particular position; the sum of the cross correlations of each code of the set with itself has a non-zero value for the particular position in the respective sequences and only for the particular position; and the sum of the cross correlations of all pairs of codes of the set has a non-zero value for the particular position in the respective sequences and only for the particular position.
Hadamard-NRI Codes: These are sets of NRI codes where non-zero values in the vector of values are taken from a respective row of a Hadamard matrix, or the non-zero numbers of each vector are taken from a respective column of a Hadamard Matrix.
Properties of NM Sequences/Codes:
Our initial work uses tri-state codes having numbers taking values of −1, 0, or 1. This can be generalized to other real or complex values. Properties of these NRI codes include:
The possible intervals between non-zero bits are not repeated within a given code
The cross-correlation between different codes is bounded by unity magnitude
The zero-lag autocorrelation has a magnitude of M for a code with M non-zero bits
The autocorrelation at non-zero lags is bounded by unity magnitude
Properties of Hadamard NRI Codes:
When the non-zero bits of an NRI sequence are populated with bits from a Hadamard sequence (rows or columns of a Hadamard Matrix) we form Hadamard NRI codes. For a given sequence of intervals, we form a complete set of Hadamard NRI codes by creating an NRI code for each row or column of the corresponding Hadamard matrix. These Hadamard NRI codes have the properties of NRI codes but have the following additional properties:
The sum of the autocorrelations of all Hadamard NRI codes in the complete set of Hadamard NRI codes results in a perfect delta function.
The sum of all possible cross-correlation pairs is an ideal delta function.
Desired Codes:
We desire a set of codes such that a different code can be transmitted simultaneously on a set of transducer elements or transmitters then received signals from a set of elements/receivers can be decoded for each transmit code such that there is minimal interference between codes after decoding. For ultrasound imaging this could be used to effectively acquire a set of synthetic transmit-receive aperture data with only one effective transmit event. This could be particularly valuable for high-frame-rate imaging and 3D imaging. In the discussion that follows we create a modelling framework for ultrasound imaging however the principles apply to any multi-transmitter multi-receiver system.
Consider an array/multiplicity of N transducer elements/transmitters. The voltage signals driving each of these elements can be represented as
V(t)=[v1(t) v2(t) . . . vN(t)]
where vn(t) is the voltage as a function of time driving element n, the discrete-time form of which can be written as vector vn=[vn1 vn2 . . . vnM]T of M time-samples.
We desire to transmit a set of coded time-sequences such that the cross-correlation between sequences is close to zero and the autocorrelation is approximately a delta function:
Received signals on element/receiver k are given as
and represent the signal due to an ensemble of scatterers at locations xj and using elements at locations xl to transmit. Here hTx (t, xl→xj) is the transmitter spatio-temporal impulse-response, s(t, xj) is the scatterer response at location xj (often modelled by a delta function in time multiplied by the scattering amplitude) and hRx (t, xj→xk) is the receiver spatio-temporal impulse response.
If effectively orthogonal transmit sequences were used, we could retrieve an effective full synthetic aperture data set with a single transmission. To see this, we can estimate the effective signal rmk(t) transmitted from element m and received on element k by filtering the receive signal rk (t) by cross-correlating with vm(t):
Once the full synthetic aperture data set is available, transmit-receive synthetic aperture delay-and-sum focusing can enable high spatial-resolution and high contrast-to-noise images. Previously this would require N transmit events for N transducer elements. In contrast our proposed method would require only a single transmit event, but with different coded signals sent from each element during one transmit event. Thus far, however, this discussion is purely hypothetical because we have yet to identify such codes.
This is approximately true for codes based on random (e.g. white Gaussian) noise if the sequences are sufficiently long, however, most ultrasound system architectures do not permit arbitrary waveform generation for each channel. Ultrasound systems commonly use tri-state pulsers to simplify driving electronics. We desire tri-state codes with states {−1,0,1} which satisfy minimal (instead of exact) correlation and orthogonality conditions with the following constraints:
|ρnm(τ)|≤1∀τ if n≠m
ρnm(0)=0 if n≠m
ρmm(0)=M∀m
For codes of length M, and where ρnm (T) is the cross correlation between vn(t) and vm (t) evaluated at lag τ. In this way the mainlobe-to-sidelobe ratio will be equal to M, and the sidelobe levels will be bounded for arbitrary code lengths.
Finally, desirable requirements are:
The task now is to identify tri-state codes that conform to such conditions.
Non-Repeating Interval (NRI) Codes and Hadamard NRI Codes:
We present a novel set of codes that meet these requirements. To date such codes have not been published to our knowledge. There may exist many such codes. We focus on one method of constructing such codes. We call these Non-Repeating Interval (NRI) codes.
To construct NRI codes, we interpose varying sequences of zeros between non-zero bits. For Hadamard NRI codes the non-zero bits are selected from a Hadamard sequence. Intervals between non-zero code-bits are chosen so that when combined with other sequential intervals, the newly formed intervals are not duplicates of existing intervals, otherwise more than one pair of non-zero bits would multiply in a cross-correlation at given lags, producing a outcome with magnitude potentially greater than unity. At zero lag, the autocorrelation of these sequences will produce a value equal to the sum of the square of the bits of the Hadamard sequence, totaling M for an M-bit Hadamard code. Cross-correlation between asimilar codes at zero lag will result in a value of zero since Hadamard sequences are mutually orthogonal.
4-Bit Hadamard NRI Code Example:
To see this consider an example. Given M=4, the Hadamard matrix is given as
Hadamard sequences are encoded as the rows or columns of H. To generate the corresponding NRI codes, we interpose aperiodic intervals of zeros.
The code v2 from the above table is illustrated in graphical form in
v4 at lag 9 relative to v2:
v4 at lag 5 relative to v2:
v4 at lag 1 relative to v2:
v4 at lag 0 relative to v2:
v4 at lag −9 relative to v2:
Algorithm 1 for Constructing Arbitrary-Length Non-Repeating Interval (NRI) Codes:
We propose an algorithm to begin with a seed-sequence of intervals like S={2,3,4} as used above for a 4-bit NRI code, then add additional aperiodic intervals to append one data bit at a time. To add an additional aperiodic interval n to append a new data bit with n−1 interposed zeros, we must search for an interval with the following properties:
C1. The new interval n=Ik+1 should not be in the set of pre-existing intervals, n Sexcl, where Sexcl={I, {Σ1iIk ∀i∈[1, 2, . . . , K]}, {Σ1kIK−k ∀k∈[1, 2, . . . , K]}} and K=|I| is the cardinality or size of the set of intervals, S={Ik, k∈[1, 2, . . . , K]}.
C2. Newly formed intervals (formed when combining the new interval n=IK+1 with other pre-existing intervals) should not be in the set of excluded intervals: n+b ∉ Sexcl ∀b∈B. where B={Σ1KIK+1−k∀k∈[1, K]} is the set of intervals terminating at the right-hand side of the existing sequence.
C3. The newly added interval should be of minimum possible length for maximum compactness but this is not essential. We then add the new interval to the ordered set of NRI intervals S and update the sets Sexcl and B.
The algorithm for generating a NRI pattern S is thus as follows:
In the case of the 4-bit NRI code in the example above Sexcl={2,3,4,5,7,9} and B={4,7,9}. In this case the next interval that meets the above conditions is 6. Once the new data bit is added, additional bits can be added using the same procedure.
We create NRI sequences by creating a vector of non-zero bit separated by zeros where the intervals between non-zero bits is created by the above algorithm.
To create a set of Hadamard encoded NRI sequences we populate the non-zero bits with rows or columns of a Hadamard Matrix. In this case all the sequences in the set contain the same pattern of zeros but the non-zero bits take on different values.
Algorithm 2: Creation of Sets of NRI Sequences with Differing Interval-Patterns.
Given the set of M vectors ={s(m), m=1, 2, . . . , M} with s(m)=[s1(m) s2(m) . . . sK(m)] being vectors corresponding to K intervals in a NRI sequence (with sk(m)∈{1, 2, . . . }) we next propose an algorithm to create a new NRI sequence q=sM+1 which has a different interval pattern than those in s but such that the cross-correlation between q and any s(m)∈ is bounded by unity magnitude for all lags and non-zero lag autocorrelation values bounded by unity magnitude.
We begin with existing NRI interval-sequences s then seek a different interval sequence q of the same (or different) length. The existing interval sequences in s have associated with them a set of excluded intervals excl consisting of all possible intervals formed from . To choose q1, the first element of q, we can either pick an element of excl or a positive integer which is not in excl. To choose the next element(s) of q we choose a positive integer w with the following properties:
C4. The new interval w=qk+1 should be such that w∉excl where excl={{qi, ∀i∈[1, 2, . . . , K]}, {Σ1i Qk, ∀i∈[1, 2, . . . , K]}, {Σ1k QK−k∀k∈[1, 2, . . . , K]}} and K is the length of q. This is a restatement of C1 above but for the new NRI pattern.
C5. Newly formed intervals (formed when combining the new interval w=QK+1 with other pre-existing intervals) should not be in the set of excluded intervals: w+d∉excl∀d∈D where D={Σ1kQK+1−k∀k∈[1, K]} is the set of intervals terminating at the right-hand side of the existing sequence. This is a restatement of C1 above but for the new NRI pattern. C4 and C5 together ensure that the new sequence q will be a NRI vector. Let's say we've generated a sub-vector [q1 q2 . . . qK] of length K. Call this qK.
C6. Now it could be that existing intervals in the vector qK have some intervals from the excluded set sexcl. In this case it is important that the newly added interval qk+1=w not present a situation where non-zero bits of the codes could align at more than one position for any given lag. This could occur only if some interval δ1 terminating at qj is a member of sexcl AND the newly added interval w=qk+1 forms an interval δ2∈excl between qj+1 and qk+1 AND the interval pair [δ1, δ2] occur consecutively somewhere in a NRI vector∈. Thus, the newly formed set of possible interval pairs k={[Σn=ij≤kqn, Σn=j+1k+1qn], ∀i∈[1, k]} should not be a possible interval pair in the set of possible interval pairs ={[Σjisi(n), Σi+1Lsi(n)] ∀i∈[j, L], ∀j, ∀L, ∀n} from the existing NRI sequences s, otherwise the cross-correlation at a given lag could involve a sum of more than one non-zero terms endangering the unity magnitude bounding requirement. This is a new criterion.
An algorithm to choose qk+1 is thus as follows:
The algorithm for generating the new NRI patterns is thus as follows:
We create new NRI sequences based on the ordered set of intervals Q by creating a vector vQ of non-zero bits separated by zeros where the intervals between non-zero bits are taken in sequence from the ordered set Q.
A set of new Hadamard NRI codes based on Q can be created by populating the N non-zero bits in vQ with elements from the rows or columns of an N×N Hadamard matrix.
Thus from M different NRI patterns we can create a set of MN codes which are nearly ‘orthogonal’ in the sense that they have cross-correlations bounded by unity magnitude for all lags and non-zero lag autocorrelation values bounded by unity magnitude.
We claim that the above algorithms can be modified to accomplish a similar purpose. Also—there may be modifications in the way new bits are selected.
Application I: Enhancing Simple Pulse-Echo Measurement SNR
To perform pulse-echo imaging with high SNR we could perform a number of pulse echo measurements and average. But this could take a long time since you need to wait an entire pulse-echo time interval for each measurement. Alternatively we propose transmitting a sequence of NRI codes and performing a comparing algorithm such as cross-correlation after each code transmit-receive measurement. After sending the complete set of codes, adding measurements together will result in the equivalent of a delta function transmission with greatly enhanced signal-to-noise, equivalent to requiring M^2 averages but needing only M transmit-receive events for an M-bit sequence. Thus M transmit events can potentially improve the SNR by a factor of M rather than √{square root over (M)} as is typically the case for averaged measurements.
Application II: Multi-User Communications
Our NRI codes may have applications in Asynchronous Code-Division-Multiple Access (CDMA) for multi-user communications. Given multiple transmitters and multiple receivers it is possible to send coded messages from all transmitters simultaneously (or with arbitrary delays) and receive signals on all receivers then each receiver may perform decoding by cross-correlation with the key sequences (in this case the key sequences may be the NRI-codes) to decouple which signal came from which transmitter. The coded message may be constructed by correlating or convolving an NRI code with a message signal. When decoding takes place via applying a comparing algorithm such as correlation with a given NRI sequence the output will be close to a delta function convolved with the message, which is an approximation of the original message. The NRI-codes may offer some advantages over random-noise codes since correlation sidelobes are bounded to magnitudes of 1 for NRI codes, unlike random-noise codes, while correlation mainlobe increases with non-zero-bit code-length.
Note that it is possible to design NRI code intervals so that all possible autocorrelations have P zero-values on either side of the mainlobes (the autocorrelation has value zero for delays of 1 to P+1 and from −1 to −P−1). In this way convolution or correlation with the message signal of length P will be minimally contaminated.
Application III: Simultaneous Synthetic Aperture Imaging
The following discussion will be focused on synthetic aperture ultrasound imaging, however, similar principles will apply to other types of multi-transmitter multi-receiver imaging including sonar, air-coupled ultrasonics, radar (including synthetic aperture radar) etc.
By transmitting different NRI codes from different elements/transmitters of a transducer simultaneously (or asynchronously) and receiving with a multiplicity of receivers (which may or may not be the same elements as the transmitters) it will be possible to decode for each possible transmitter signal on each receiver to reconstruct the effective full (or partial) synthetic aperture data set consisting of signals associated with each transmitter-receiver pair. This data can then be subjected to synthetic aperture beamforming. Traditional synthetic aperture imaging typically requires transmitting a pulse/signal from each transmitter one at a time and receiving on all receiver elements simultaneously. This requires significant time-delays to permit for propagation of signals over multiple transmission events and such time delays may be unacceptable due to motion or decorrelation of signals. In contrast the NRI approach enables simultaneous transmission of codes such that for a single transmit event (involving parallel transmission of multiple codes) an effectively complete synthetic aperture dataset may be collected.
Application IV: Parallel Walking Aperture Imaging.
Traditional imaging transmits a focused beam along a line-of sight (LOS) then listens to the echoes along that same line, then the procedure is repeated along a sequence of LOSs to form an image. This is frame-rate limited by the time-of-flight of ultrasound. We propose transmitting focused beams along multiple LOSs in parallel rather than sequentially using a different NRI code for each LOS. Data is collected from all elements in parallel then a comparing algorithm such as cross correlation is applied with the NRI-code key for each LOS to decouple data from other LOSs.
Simulating Imaging System Performance:
where Sin is the mean signal in the target, Sbg is the mean signal in the background, and σin and σbg are the standard deviations inside the target and for the background respectively.
The following table summarizes the SNR and contrast-legion detection capabilities of all three algorithms.
The results above show that Flash imaging has the worst and most erratic contrast-legion detection capabilities, while Synthetic Aperture imaging and NRI-SA imaging have almost the same CNR. Synthetic Aperture has a better SNR than all three imaging algorithms, except it takes the longest to perform. NRI-SA sacrifices a little SNR in order to provide optimal images close to SA, but with an n-times reduction in time, where n is the number of elements used in transmit. In this case, 64 elements were used in transmit, and Synthetic Aperture takes 64 times longer to perform than NRI-SA.
An embodiment of an imaging system to implement the Non-repeating interval coding methods discussed above is shown in
As shown in
Implementation Issues:
There is often a dead-zone associated with amplifier saturation-recovery or HV switch transition time. The longer the code length, the longer the dead-zone. Our proposed NRI codes can be quite lengthy. Time-gain compensation techniques normally used in ultrasound imaging and other techniques may not be applicable because the NRI approach involve transmitting bits at multiple time points over the course of the code transmission. If time-gain compensation cannot be easily used the dynamic range of digitizers may need to be large compared to more traditional instruments.
Loosening Minimum sidelobe Constraints:
We disclose modifications of our algorithm to create NRI sequences to permit sidelobe magnitudes of given bounded height by permitting re-use of intervals.
Correlation-Free Windows:
We disclose modification of our algorithm to ensure zero-correlation windows on either side of the mainlobe ensuring length P of zeros.
Generalization to Multi-State/Multi-Phase Aperiodic Codes:
We disclose generalization of the NRI codes to populate non-zero bits with values other than from Hadamard sequences and values different than 1 or −1 (which could include any real or complex numbers or characters).
Code-Sets with Different Intervals.
In the previous examples we discussed a set of N codes where the intervals were identical but non-zero bits could take different values (and in particular were selected from Hadamard Sequences). Here we also claim the use of sets of codes which may not necessarily use the same intervals between codes or where the intervals may be re-ordered.
Our present MATLAB algorithms for generating NRI codes (to be included).
Linear Least Squares Estimation of Effective Synthetic Aperture Data for a Given Pulse Sequence
We describe a framework for linear least-squares estimation of synthetic aperture data for a given pulse sequence which can involve temporal and spatial (aperture) coding.
Let ekj (t) be the pulse-echo signal due to delta-function transmit event on element j and receiving on element k. Let l(i)(t) represent code l fired during transmit event (i). Then the pulse-echo signal due to firing code l from element j and receiving on element k during the ith transmit event is given as:
vkj(i)(t)=l(i)(t)*ekj(t)
We can transmit all codes in parallel during transmit event (i). In this case the pulse-echo signal due to transmitting all codes in parallel (with a given code-mapping) and receiving on element k is given as:
Here Mjl(i) is a code-mapping matrix which assigns code l to element j for transmit event (i) with a 1-1 mapping. We refer to cj(i)=ΣlMjl(i)l(i)(t) as the code transmitted from element j during transmit event (i).
In matrix notation cj(i)(t)*ekj(t) is written as:
vkj(i)=Cj(i)ekj
Where vkj(i)=[vkj(i)(t1)vkj(i)(t2) . . . vkj(i)(tτ)]T is a τ×1 column vector, ekj=[ekj(t1) ekj(t2) . . . ekj(tT)]T is a T×1 column vector, and Cj(i) is a τ×T Toeplitz matrix:
Here τ=2T−1. When sufficient padding is used to avoid wraparound error, the Toeplitz matrix can be replaced by a τ×τ circulant Matrix, and T and τ can be taken as the same length, which will simplify downstream computations.
The set of pulse echo measurements involving transmitting on all elements with different codes and receiving on element k can be written in matrix notation as:
Where the LHS τJ×1 column vector can be named vk(i), the τJ×TJ block-diagnonal block Toeplitz matrix, which we denote as C(i) can be taken as a τJ×τJ block circulant with sufficient zero-padding, and the RHS τJ×1 column vector can be denoted as ek.
The collection of all transmit-receive data from transmit event (i) can thus be written as
The LHS τJ×K matrix can be denoted as [v(i)]T and the RHS τJ×K matrix can be denoted as e.
If we transmit on all element simultaneously with apodization wcp(i)=[w1(i) w2(i) . . . wJ(i)] during transmit event (i) the receive data is modelled as:
The matrix representing measured data for all transmit events and all receive elements is thus
And we denote
(which is Jτi×τi and block diagonal) and CT=[[C(1)]T . . . [C(i)]T] (which is of size Jτ×Jτi).
Thus
P=WCe+n
Where n is an τi×K additive noise matrix. For notational simplicity we can denote A=WC so that
P=Ae+n
The task is to choose codes and apodizations and reconstruction algorithms to give best possible estimate of the synthetic aperture data e. We want a linear unbiased estimate:
ê=QP
So that errors are minimized. The linear least squares estimate of Q is
Q=(ATA)−1AT=(CTWTWC)−1CTWT
Errors can be written as the ensemble mean ϵj =(êj−ej)(êj−ej)T. With white noise nTn =σ2I it has been shown that one must choose A to minimize
And we want the condition number of A to be as low as possible.
Fourier Domain Analysis:
Cj(i) is a τ×τ block circulant matrix hence can be diagonalized via a DFT:
Cj(i)=ŨFj(i)Ũ*
Where Ũ is a τ×τ unitary DFT matrix with elements
and Fj(i) is a τ×τ diagonal matrix with diagonal elements representing the DFT of the code transmitted on element j during the ith transmit event: Fj(i)=diag(DFT(cj(i)(t))).
The matrix C(i) is a τJ×τJ block-diagonal block-circulant matrix and is thus also diagonalizable:
all matrices here are of size τJ×τJ. Thus
Here C is of size Jτi×Jτ, U is Jτi×Jτi, and F is Jτi×Jτ.
Fourier-Domain Estimation of Effective Synthetic Aperture Data:
The algorithm to recover the minimum mean square error unbiased estimate of the synthetic aperture data is
ê=(ATA)−1ATP
The Moore-Penrose Pseudo-inverse can be computed analytically using DFT simplifications to give the recovery algorithm in the Fourier Domain as:
Here êkj(t) is the effective synthetic aperture data due to transmitting on element j and receiving on element k. {tilde over (P)}k(i)(ω) is the temporal Fourier transform of Pk(i)(t), the measured data on receive element k as a function of time during the ith transmit event. Sj(i′)(ω) is the power spectral density of code cj(i)(t)
Transmitted on element j during the ith transmit event, and {tilde over (C)}j*(i)(ω) is the complex conjugate of the Fourier transform of cj(i)(t). Multiplication of the data by {tilde over (C)}j*(i)(ω) in the Fourier domain represents correlation in the time-domain. This is regularized by the total power-spectral density over all transmit events. The derivation assumes that equal numbers of element are used for each transmit event.
Derivation of the Algorithm:
The Moore-Penrose Pseudo-inverse is
A+=(ATA)−1AT
This can be written as
A+=(CTWTWC)−1CTWT
Now
Is block diagonal with
Note that Λ=λI if λ(i)=λ∀i. With this condition
(CTWTWC)−1=({hacek over (U)}F*U*ΛUF{hacek over (U)}*)−1=λ−1({hacek over (U)}F*F{hacek over (U)}*)−1
Now
Here S1(i)(ω) is the power spectral density of code cj(i)(t) transmitted on element j during the ith transmit event and
The reconstruction algorithm reduces to:
ê=λ−1{hacek over (U)}|F|−2F*U*WTP
We go through the evaluation of this step by step:
Now P is structured as:
So
Next
Thus
Now we can write
Thus
|F|−2F*=[Γ(1) . . . Γ(i)]
where
Denominators may also include optional regularization terms to avoid singularities. Putting everything together,
Where
This leads to the algorithm:
Which completes the proof. This algorithm can be used in place of pure cross-correlation in decoding signals when parallel coded excitations are used.
Error Metric:
We can evaluate
As
Immaterial modifications may be made to the embodiments described here without departing from what is covered by the claims. In the claims, the word “comprising” is used in its inclusive sense and does not exclude other elements being present. The indefinite articles “a” and “an” before a claim feature do not exclude more than one of the feature being present. Each one of the individual features described here may be used in one or more embodiments and is not, by virtue only of being described here, to be construed as essential to all embodiments as defined by the claims.
Number | Name | Date | Kind |
---|---|---|---|
6048315 | Chiao et al. | Apr 2000 | A |
20140117809 | Zemp | May 2014 | A1 |
20150098393 | Tofighbakhsh | Apr 2015 | A1 |
20150247921 | Rothberg | Sep 2015 | A1 |
Entry |
---|
Bae, Moo-Ho et al., Orthogonal Golay Code Based Ultrasonic Imaging Without Reducing Frame Rate, 2002 IEEE Ultrasonics Symposium, 2002, p. 1705. |
Gran, Fredrik et al., Spatial encoding using a code division technique for fast ultrasound imaging, IEEE Transactions on Ultrasonics, Ferroelectrics and Frequency Control, 2008, 12-23, 55(1). |
Madore, Bruno et al., Accelerated focused ultrasound imaging, IEEE Transactions on Ultrasonics, Ferroelectrics and Frequency Control, Author manuscript, 2010. |
Misaridis, Thanassis X. et al., Space-time encoding for high frame rate ultrasound imaging, Ultrasonics, 2002, 593-597, 40. |
Number | Date | Country | |
---|---|---|---|
20160065323 A1 | Mar 2016 | US |
Number | Date | Country | |
---|---|---|---|
62045466 | Sep 2014 | US |