Hallo Moe,

ich denk, du hast da das Problem schon vom Design her eingebaut. Die Pulsdauer ist unter schwierigen Übertragungsbedingungen ein denkbar ungeeignetes Merkmal. Das hat sich in der Technik Geschichte mehrfach gezeigt: Maschinen verwenden nicht Morse, sondern Baudot, Funkvernsteuerungen verwenden nicht pwm, sondern ppm.

Eine Bessere Variante ist sicher das Verwenden von Impuls Abständen als kritisches Merkmal.

Begonnen wird mit dem ersten Impuls, den alle Dioden abstrahlen. Gestaffelt senden die einzelnen Dioden ihren Impuls ab. Dann kommt die Synchronisationspause, wo niemand sendet.

Code:
Pulse 0.5 ms

D1  0.5 ms Pause
_| |_| |___________________| |_| |________
                                                             
D2  1.5 ms Pause                                                       
_| |____| |________________| |____| |_____
                                                              
D3  2.5 ms Pause                                                        
_| |________| |____________| |________| |_

Sync Lücke 4 ms
Ich hoffe, mein asci Kunstwerk kann richtig dargestell werden.

Bei dieser Methode kann so gefiltert werden, dass das Einschalten und das Ausschalten 0.25 ms dauern.

Übertragungsbedingte Verzögerungen wirken sich nun weniger aus, weil das Rauschen die Impulse gemeinsam verschiebt und die Differenz gleich bleibt. Ich denke Common Mode Rejection heisst das auf Deutsch. Wenn man per Software decodiert, dann kann man synchron zum Zeitraster dekodieren und Fehlsignale ausserhalb werden ignoriert.

Zusätzlich ist die Verwendung eines Schmitt Triggers sinnvoll.

Die Ausgänge der Grätz Brücke kommen an die beiden Eingänge des folgenden OPAmp. So wie gezeichnet, schliesst du eine Halbwelle kurz.

Auf Rückfragen antworte ich gern,
grüsse,
Hannes