https://github.com/githubjakob/convolutionalsat
project for my bachelor thesis in CS, at LMU in Summer 2018
https://github.com/githubjakob/convolutionalsat
Last synced: 11 months ago
JSON representation
project for my bachelor thesis in CS, at LMU in Summer 2018
- Host: GitHub
- URL: https://github.com/githubjakob/convolutionalsat
- Owner: githubjakob
- Created: 2018-06-02T10:40:41.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-08-30T16:27:16.000Z (almost 8 years ago)
- Last Synced: 2025-07-12T00:04:32.442Z (11 months ago)
- Language: Java
- Homepage:
- Size: 10.1 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Automatisches Finden von Faltungskodierern mit Hilfe von SAT-Solvern
__Bachelorarbeitsprojekt__
## Umfang der Java Applikation
Die Main Methode generiert den Schaltplan eines Faltungskodierers auf Grundlage der Usereingabe:
* Verfügbare Gates des Kodierers und Dekodierers
* Blocklänge, d.h. Länge der Bitströme, die durch den Faltungskodierer geschickt werden
* Länge des Delay, d.h. Anzahl der Ticks, die gewartet werden, bevor das Ergebnis am Dekodierer abgegriffen wird
* Noise, Wahrscheinlichkeit, dass im Übertragunskanal ein Bit geflippt wird
Intentiert ist ein iteratives Vorgehen:
Es werden zufällig einige Bitströme der gewünschten Länge erzeugt und zusammen mit den weiteren Requirements in eine Formel übersetzt. Die Formel wird mit einem Sat Solver gelöst, und die Lösung der Formel dann in einen Schaltplan übersetzt. Auf diesem Schaltplan werden so lange weitere zufällige Bitströme getestet, bis ein Fehler auftritt, d.h. der Faltungskodierer diesen Bitstrom nicht fehlerfrei übertragen kann. Dieser Bitstrom wird dann zur ursprünglichen Formel hinzugefügt usw.
## Build & Run
mvn install
java -jar ./target/convolutionalSat-0.0.1-uber.jar
## Bekannte Probleme
Das Programm startet mit einem java.awt.AWTError.
In der Datei /etc/java--openjdk/accessibility.properties muss die Zeile
"assistive_technologies=org.GNOME.Accessibility.AtkWrapper" auskommentiert werden.