Projekt symuluje transmisję danych w telekomunikacji z użyciem dwóch technik modulacji: BPSK oraz QPSK. Analizuje jakość transmisji, obliczając wskaźnik BER (Bit Error Rate) w różnych warunkach zakłóceń (SNR - Signal-to-Noise Ratio). Projekt wykorzystuje sieci neuronowe TensorFlow/Keras do przewidywania optymalnej techniki modulacji na podstawie parametrów kanału transmisyjnego.
Główne elementy projektu:
- Generowanie PRBS: Sekwencje pseudolosowe jako dane wejściowe.
- Modelowanie kanału transmisyjnego: Dodanie szumu AWGN.
- Implementacja technik modulacji: BPSK oraz QPSK.
- Symulacja transmisji: Przesyłanie danych zmodulowanych przez kanał z zakłóceniami.
- Uczenie maszynowe: Sieć neuronowa do analizy parametrów transmisji i wyboru optymalnej modulacji.
- Sklonuj repozytorium:
git clone https://github.com/k-surma/TelecomModulationSystems.git cd TelecomModulationSystems - Utwórz wirtualne środowisko i aktywuj je:
python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
- Zainstaluj wymagane biblioteki:
pip install -r requirements.txt
- Uruchom główny skrypt:
python main.py
- Sprawdź wyniki:
Po uruchomieniu projektu w folderze
results/plots/pojawią się wykresy BER i przepływności (throughput) dla każdej modulacji, a w konsoli wyświetlą się informacje o najlepszej modulacji przy różnych wartościach SNR.
utils/- Moduły pomocnicze (PRBS, modulacje, szum).models/- Sieci neuronowe do przewidywania optymalnej modulacji.results/- Wygenerowane wyniki i wykresy.
- TensorFlow
- NumPy
- Matplotlib