|
LTE Primopredajnik
|
Functions | |
| np.ndarray | normalize_rms (np.ndarray x, float target_rms=1.0) |
| int | offset_samples_to_pss_cp_start (OFDMDemodulator ofdm_demod, bool normal_cp) |
| int | samples_per_subframe (OFDMDemodulator ofdm_demod) |
| find_pss_peak (PSSSynchronizer pss_sync, np.ndarray rx, int tau_expected, int fft_size, int|None win) | |
| main () | |
Variables | |
| PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) | |
RX-only: Demodulirani grid magnitude (poslije FFT) + oznake za PSS i PBCH
- generiše TX waveform (da RX ima "input")
- provuče kroz AWGN (opcionalno)
- PSS korelacija -> poravnanje na start SF0
- OFDM demod (FFT + CP remove) -> rx_grid_full i rx_grid_active (72xNs)
- heatmap |grid| (dB) + jasne oznake PSS i PBCH (boje + overlay + strelice)
Pokretanje:
python examples/rx_grid_magnitude_demo.py
python examples/rx_grid_magnitude_demo.py --snr 20 --seed 1
Output:
examples/results/rx/rx_grid_magnitude_heatmap.png
Napomene:
SF==SUBFRAME
| examples.rx_grid_magnitude_demo.find_pss_peak | ( | PSSSynchronizer | pss_sync, |
| np.ndarray | rx, | ||
| int | tau_expected, | ||
| int | fft_size, | ||
| int | None | win ) |
Vraća: (tau_hat, n_id_2_hat, peak_value)
| int examples.rx_grid_magnitude_demo.offset_samples_to_pss_cp_start | ( | OFDMDemodulator | ofdm_demod, |
| bool | normal_cp ) |
Koliko uzoraka od starta subfrejma do CP-start PSS simbola u SF0. Normal CP: PSS u l=6 (zadnji simbol slota0) -> prolaziš simbole 0..5. Extended CP: PSS u l=5 (zadnji simbol slota0).