urx.receive_setup - moduleus/urx GitHub Wiki
Setup used to receive and sample data.
Parameter | Datatype | Description |
---|---|---|
active_elements | Array of Array of uint32 | Indices of active probe.elements . The first dimension's index is the position of the RF-line in group_data.data , the second dimension stores the list of probe.elements indices contributing to the RF-line. The size of the first dimension indicates the number of acquired RF-lines. See notes.
|
modulation_frequency | double | Modulation frequency used in case of IQ-data, in [Hz]. Only used if group.data_type == IQ . Default NaN. |
number_samples | uint32 | Number of samples per RF-line. All the RF-lines of a receive_setup contain the same number of samples. |
probe | Reference to probe | probe used in reception, references the array acquisition.probes. |
sampling_frequency | double | Sampling frequency, in [Hz]. Default NaN. |
time_offset | double | Time delay between the event start and the acquisition of the first sample, in [s]. Default 0. |
tgc_profile | Array of double | Analog TGC profile sampled at tgc_sampling_frequency, in [dB]. If the gain is constant during the receive, the array contains a single value. If not specified the array can be empty. |
tgc_sampling_frequency | double | Sampling frequency of the TGC profile, in [Hz]. Must be defined if tgc_profile has more than one value. |
transform | transform | Probe transformation in space, in reference to the initial probe attitude defined in probe.transform . |
The field active_elements
defines the relation between the active probe element in receive mode, and the storage of the RF-lines in group_data.raw_daw
. The following examples illustrate the relationship.
This example demonstrate a typical case where half of the RCA elements are used in receive:
receive_setup : {
active_elements: {{4}, {5}, {6}, {7}}
}
The active_elements
field can be read as:
- the RF-line 0 stores the contribution of probe_element 4
- the RF line 1 stores the contribution of probe_element 5
- ....
In this example, the RF-line
receive_setup : {
active_elements: {{3}, {1}, {4}, {5, 6}, {7}}
}
The following diagram shows the receive_setup.time_offset
signification. The time_offset is expressed in reference to the start of the event:
In a given receive_setup, every RF-line acquired contains the same number of samples, sampled at sampling_frequency
and starting at time_offset
after the start of the event.
The following diagram represents an example of receive_setup, the time scale is expressed in nano-seconds and
The example shows the receive_setup containing 10 data-samples (D0 to D9), sampled at 20MSPS (1 sample every 50ns).
receive_setup : {
number_samples : 10,
sampling_frequency : 20e6,
time_offset : 500e-9
}
The TGC (Time Gain Compensation) record the increase of the receive-gain with time that compensates the attenuation of ultrasound energy with depth. The fields tgc_profile
and tgc_sampling_frequency
define the gain of the receive circuit versus time, in dB. The tgc_profile
contains the gain that has already been applied to the data samples. The same TGC profile is applied to every RF-line of an event. The first value in in the array tgc_profile
corresponds to time of the first data-sample of the receive_setup.
The following diagram shows an example of TGC. The tgc_sampling_frequency
is 5MHz (200ns period). The interpolation/extrapolation of the TGC value between the samples is not defined by the standard.
receive_setup : {
number_samples : 20,
sampling_frequency : 20e6,
time_offset : 500e-9,
tgc_sampling_frequency : 5.0e6,
tgc_profile : [0, 10, 20, 30, 40]
}
The receive_setup.transform
behave similarly as the transmit_setup.transform
.
event | group_data | probe | transmit_setup