Audio Hardware BindingΒΆ
1# This example configures a desktop soundcard
2# to establish a SISO link exchanging 10 frames of OFDM data.
3
4!<HardwareLoop>
5
6 system: !<AudioSystem>
7
8 Devices:
9
10 - &device !<AudioDevice>
11
12 playback_device: 6
13 record_device: 4
14 playback_channels: [1]
15 record_channels: [1]
16 max_receive_delay: 1.
17
18
19 # Operators transmitting or receiving signals over the devices
20 Operators:
21
22 # A single modem operating the device #0
23 - &modem !<Modem>
24
25 device: *device # Device the modem is operating on
26
27 # Configuration of the waveform emitted by this transmitter
28 waveform: !<OFDM>
29
30 # Symbol modulation settings
31 modulation_order: 2 # Modulation order, in other words 1 / subcarrier / subsymbol
32 subcarrier_spacing: 30e3 # Spacing between the individual subcarrier center frequencies in Hz
33 dc_suppression: False # Do not ignore the DC component during the DFT
34 num_subcarriers: 4096 # Number of subcarriers per communiction frame
35 channel_estimation: !<OFDM-LS> # Least-Squares channel estimation
36 channel_equalization: !<OFDM-ZF> # Zero-forcing channel equalization
37 synchronization: !<SchmidlCox> # Schmidl-Cox synchronization
38
39 # OFDM symbol resources, each resource represents one symbol's subcarrier configuration
40 resources:
41
42 - !<OFDM-Resource>
43 repetitions: 1
44 prefix_ratio: 0.0703125
45 elements:
46 - !<FrameElement>
47 type: NULL
48 repetitions: 600
49 - !<FrameElement>
50 type: !<ElementType> DATA
51 repetitions: 2100
52 - !<FrameElement>
53 type: !<ElementType> NULL
54 repetitions: 600
55
56 - !<OFDM-Resource>
57 repetitions: 1
58 prefix_ratio: 0.078125
59 elements:
60 - !<FrameElement>
61 type: !<ElementType> NULL
62 repetitions: 600
63 - !<FrameElement>
64 type: !<ElementType> DATA
65 repetitions: 2100
66 - !<FrameElement>
67 type: !<ElementType> NULL
68 repetitions: 600
69
70 # Frame configuration in time domain, i.e. the x-axis in the OFDM time-frequency grid
71 structure:
72
73 - !<SchmidlCoxPilot> {}
74
75 - !<Symbol>
76 num_repetitions: 1
77 pattern: [1, 0, 0, 0]
78
79 - !<Guard>
80 num_repetitions: 3
81 duration: 35.677083e-6
82
83 - !<Symbol>
84 num_repetitions: 1
85 pattern: [1, 0, 0, 0]
86
87 - !<Guard>
88 num_repetitions: 3
89 duration: 35.677083e-6
90
91
92 # Performance indication evaluation configuration
93 Evaluators:
94
95 # Evaluate the bit errors of `modem` communicating over `device`
96 - !<BitErrorEvaluator>
97
98 transmitting_modem: *modem
99 receiving_modem: *modem
100
101 manual_triggering: True # Enable manual triggering, requiring the user to launch each drop
102 num_drops: 10 # Generate 10 signal drops sequentially