# Spatial Delay Channel#

class SpatialDelayChannel(alpha_device=None, beta_device=None, gain=1.0, model_propagation_loss=True, **kwargs)[source]#

Delay channel based on spatial relations between the linked devices.

The spatial delay channel requires both linked devices to specify their assumed positions. Its impulse response between two devices $$\alpha$$ and $$\beta$$ featuring $$N^{(\alpha)}$$ and $$N^{(\beta)}$$ antennas, respectively, is given by

$\mathbf{H}(t,\tau) = \frac{1}{4\pi f_\mathrm{c}^{(\alpha)}\overline{\tau}} \mathbf{A}^{(\alpha,\beta)} \delta(\tau - \overline{\tau})\ \text{.}$

The assumed propagation delay between the two devices is given by

$\overline{\tau} = \frac{\|\mathbf{p}^{(\alpha)} - \mathbf{p}^{(\beta)}\|_2}{c_0}$

and depends on the distance between the two devices located at positions $$\mathbf{p}^{(\alpha)}$$ and $$\mathbf{p}^{(\beta)}$$. The sensor array response $$\mathbf{A}^{(\alpha,\beta)}$$ depends on the device’s relative orientation towards each other.

The following minimal example outlines how to configure the channel model within the context of a Simulation:

 1# Initialize two devices to be linked by a channel
2simulation = Simulation()
3alpha_device = simulation.new_device(carrier_frequency=1e8)
4beta_device = simulation.new_device(carrier_frequency=1e8)
5
6# Create a channel between the two devices
7channel = RandomDelayChannel((1e-8, 10e-8))
8simulation.set_channel(alpha_device, beta_device, channel)
9
10# Configure communication link between the two devices
12
13# Specify the waveform and postprocessing to be used by the link
15    symbol_rate=1e8, oversampling_factor=2, num_data_symbols=1000,
16    num_preamble_symbols=10, pilot_rate=10)
20
21# Configure a simulation to evaluate the link's BER and sweep over the receive SNR
23simulation.new_dimension('snr', dB(20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40))
24
25# Run simulation and plot resulting SNR curve
26simulation.num_samples = 1000
27result = simulation.run()
28result.plot()

Parameters:
• alpha_device (SimulatedDevice, optional) – First device linked by the DelayChannelBase instance that generated this realization.

• beta_device (SimulatedDevice, optional) – Second device linked by the DelayChannelBase instance that generated this realization.

• gain (float, optional) – Linear power gain factor a signal experiences when being propagated over this realization. $$1.0$$ by default.

• model_propagation_loss (bool, optional) – Should free space propagation loss be modeled? Enabled by default.

• **kawrgsChannel base class initialization arguments.

recall_realization(group)[source]#

Recall a realization of this channel type from its HDF serialization.

Parameters:

group (h5py.Group) – HDF group to which the channel realization was serialized.

Return type:

SpatialDelayChannelRealization

Returns: The recalled realization instance.