You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pruned DFT spread FBMC is a novel transmission technique with the remarkable properties of a low PAPR, low latency transmissions and a high spectral efficiency.
4
+
It is closely related to FBMC, OFDM and SC-FDMA and was first proposed in my [PhD thesis](http://publik.tuwien.ac.at/files/publik_265168.pdf), see Chapter 6. A more detailed description is currently under review in IEEE Transactions on Communications.
5
+
6
+
7
+
The Python script simulates a pruned DFT spread FBMC transmission over a doubly-selective channel (time-variant multipath propagation) and compares the performance to OFDM, SC-FDMA and FBMC.
8
+
9
+
10
+
Furthermore, the included classes (QAM, DoublySelectiveChannel, OFDM, FBMC) can also be reused in future projects.
11
+
12
+
13
+
14
+
## Usage
15
+
16
+
Just run **Simulation.py** in Python.
17
+
18
+
Requires the packages: numpy, scipy(sparse), matplotlib, time and mpl_toolkits.mplot3d.
19
+
20
+
21
+
22
+
## Simulation Results*
23
+
\* for "nr_rep = 1000"
24
+
25
+
### Pruned DFT spread FBMC has the same PAPR as SC-FDMA:
26
+
27
+

28
+
29
+
----------
30
+
### Pruned DFT spread FBMC outperforms SC-FDMA in doubly-selective channels:
31
+
32
+

33
+
34
+
Note that pruned DFT spread FBMC does not require a CP and thus has a higher data rate than conventional SC-FDMA.
35
+
36
+
----------
37
+
### Pruned DFT spread FBMC shows very good spectral properties, comparable to FBMC:
38
+
39
+

40
+
41
+
----------
42
+
### Pruned DFT spread FBMC dramatically reduces the ramp-up and ramp-down period of FBMC:
43
+

44
+
45
+
46
+
## Block Diagram
47
+
48
+
### Pruned DFT spead FBMC at symbol-time-position *k*
49
+

50
+
51
+
52
+
Note that the absolute time position of symbol *x*<sub>*l*,*k*</sub> is *kT* and the absolute frequency position *l F*. Furthermore, the time-frequency spacing is *TF*=1/2. The total number of subcarriers is denoted by *L*.
53
+
54
+
55
+
## References
56
+
- R. Nissel, [“Filter bank multicarrier modulation for future wireless systems”](http://publik.tuwien.ac.at/files/publik_265168.pdf), Dissertation, TU Wien, 2017.
57
+
- R. Nissel and M. Rupp, “Pruned DFT spread FBMC: low PAPR, low latency, high spectral efficiency”, submitted to IEEE Transactions on Communications, not publicly available yet.
if (ref_pdp_delay/dt%1>np.finfo(float).eps*10).any():
97
+
print('Sampling rate does not fit the channel model => RMS delay spread is changed from', str(round(desired_rms_delay_spread*10**9)) +'ns to', str(int(round(rms_delay_spread*10**9))) +'ns')
98
+
99
+
# Atributes
100
+
self.imp_pdp=pdp
101
+
self.imp_pdp_index=pdp_index
102
+
self.imp_pdp_string=power_delay_profile
103
+
self.imp_nr_paths_wssus=nr_paths_wssus
104
+
self.phy_max_doppler_shift=max_doppler_shift
105
+
self.phy_sampling_rate=sampling_rate
106
+
self.phy_dt=dt
107
+
self.nr_samples=nr_samples
108
+
109
+
# Generat random channel
110
+
self.new_realization()
111
+
112
+
defnew_realization(self):
113
+
"""
114
+
Generate a new channel realization and save the time-variant convolution matrix in "self.imp_convolution_matrix"
0 commit comments