To create synthetic ultrasound data similar to your example, I considered combining several elements to achieve the characteristic waveform:
- Broadband Noise and Random Fluctuations
Real ultrasound data often have noise due to scattering. You can add random noise (e.g., white Gaussian noise) to introduce variability.
- Exponential Decay
Attenuation in ultrasound signals can be represented by an exponential decay factor, which gradually reduces the amplitude over time.
- Amplitude Modulation
 Modulate a high-frequency sinusoidal wave with a low-frequency envelope to create periodic bursts that resemble the real signal's variation in amplitude.
- Pulse Echoes and Reflections
Add synthetic reflections by introducing delayed, attenuated copies of the main signal to represent multiple path echoes.
Though not as close as what you wanted, the aspectadding noise tries not make it realistic.
carrier_wave = sin(2 * pi * f_carrier * t);
envelope = exp(-t*10000) .* sin(2 * pi * f_env * t);
noise = 0.02 * randn(size(t));
signal = envelope .* carrier_wave + noise;
delay = round(0.0005 * Fs); 
reflection = [zeros(1, delay), 0.5 * envelope(1:end-delay) .* carrier_wave(1:end-delay)];
signal = signal + reflection;
title('Synthetic Ultrasound Signal');