Spatial Delay Channel¶
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
The assumed propagation delay between the two devices is given by
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(
4 carrier_frequency=1e8,
5 pose=Transformation.From_Translation(np.array([0, 0, 0])),
6)
7beta_device = simulation.new_device(
8 carrier_frequency=1e8,
9 pose=Transformation.From_Translation(np.array([1, 0, 0])),
10)
11
12# Create a channel between the two devices
13channel = SpatialDelayChannel()
14simulation.set_channel(alpha_device, beta_device, channel)
15
16# Configure communication link between the two devices
17link = SimplexLink()
18alpha_device.transmitters.add(link)
19beta_device.receivers.add(link)
20
21# Specify the waveform and postprocessing to be used by the link
22link.waveform = RRCWaveform(
23 symbol_rate=1e8, oversampling_factor=2, num_data_symbols=1000,
24 num_preamble_symbols=10, pilot_rate=10)
25link.waveform.channel_estimation = SCLeastSquaresChannelEstimation()
26link.waveform.channel_equalization = SCZeroForcingChannelEqualization()
27link.waveform.synchronization = SCCorrelationSynchronization()
28
- class SpatialDelayChannel(model_propagation_loss=True, gain=1.0, **kwargs)[source]¶
Bases:
DelayChannelBase
[SpatialDelayChannelRealization
]Delay channel based on spatial relations between the linked devices.
- Parameters:
model_propagation_loss (bool, optional) – Should free space propagation loss be modeled? Enabled by default.
gain (float, optional) – Linear power gain factor a signal experiences when being propagated over this realization. \(1.0\) by default.
**kawrgs –
Channel
base class initialization arguments.
- _realize()[source]¶
Generate a new channel realzation.
Abstract subroutine of
realize
. EachChannel
is required to implement their own_realize()
method.Returns: A new channel realization.
- Return type:
- 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:
Returns: The recalled realization instance.
- class SpatialDelayChannelRealization(model_propagation_loss, sample_hooks, gain)[source]¶
Bases:
DelayChannelRealization
Realization of a spatial delay channel.
Generated from
SpatialDelayChannel's
realize
routine.- Parameters: