Gegeben ist eine Frequenz&Bandbreite, Sendeleistung, vordefinierte Antenne, sowie eine Auswahl an Funk-ICs für diese Frequenz und für 2-FSK. Für jedes IC ist eine maximale Datenrate sowie eine maximale Empfindlichkeit bei einer bestimmten, aber immer jeweils anderen, Datenrate angegeben.
Für meine Anwendung ist es wichtig, die Reichweite zu maximieren (natürlich bei sehr geringer Datenrate). Bei geringer Entfernung möchte ich aber die Datenrate erhöhen.
Wie kann ich für die einzelnen ICs eine Kurve aufstellen mit Reichweite vs. Datenrate, um sie vergleichen zu können? Die maximale Datenrate der ICs ist angegeben aber natürlich nur unter optimalen Bedingungen zu erreichen, die maximale Reichweite ergibt sich aus der Empfindlichkeit, aber was passiert dazwischen mit der Datenrate? Die absoluten Werte der Reichweite sind nicht extrem wichtig; Hauptsache die ICs lassen sich untereinander vergleichen.
Ausprobieren ist auch nicht so einfach weil ich nicht für jedes IC ein Board herstellen kann. Und die Eval Boards der ICs sind auch alle unterschiedlich.
Wie kann ich .. eine Kurve aufstellen mit Reichweite
vs. Datenrate..?
Vorausgesetzt, die Empfängerbandbreiten sind breit genug, um die Quarzgenauigkeit auszugleichen, so kannst du über die rechnerische Empfangsleistung und die Rauschleistung im Empfängerband und der Rauschzahl des Empfänger ein Signal-Rauschabstand bestimmen. Mit diesem SNR lässt sich anhand des Modulationsverfahren die Bit-Error-Rate ermitteln. Dann hast du eine Fehlerwahrscheinlichkeit die du auf deine Datenpaketlänge umrechnen kannst. Mehr fällt mir kurz nach Mitternacht auf die schnelle nicht ein. Ich habe aber alles schon gerechnet. Für Reichweite geht es immer in die Richtung geringe Datenraten, kurze Pakete, hohe Sendeleistung, Antennen mit Richtwirkung.
Wie kann ich für die einzelnen ICs eine Kurve aufstellen mit Reichweite
vs. Datenrate, um sie vergleichen zu können?
Du bewegst dich da in einem n-dimensionalen Feld wo eine
Orientierung sehr schwierig wird. Verlass dich lieber auf ein
paar Erfahrungswerte von Leuten (hier) die schon was mit
Datenübertragung gemacht haben und dir ihre "Werte" angeben.
Aus den Meldungen der verschiedenen Maker wirst du ja nicht
glücklich werden.
Für meine Anwendung ist es wichtig, die Reichweite zu maximieren
Klingt leider bisschen nach "möglichst weit", "möglichst günstig",
"möglichst schnell", "möglichst einfach", so wie viele hier nach
einer Lösung suchen aber nichts von ihren konkreten Anforderungen
hören lassen oder es auch gar nicht wissen.
Silvio hat es bereits ganz am Anfang erwähnt: bei sehr kleinen
Bandbreiten besteht immer die Gefahr dass Sender und Empfänger
in ihrer Referenz-Frequenz zu weit auseinander liegen und damit
die Empfindlichkeit in die Knie geht da der Sender nicht mehr
mittig in das ZF-Fenster des Empfängers trifft.
Dafür brauchst du erstmal ICs, die sich in der Hinsicht freizügig genug konfigurieren lassen. Es hilft dir ja nichts, wenn du nur die Datenrate zurück nimmst, aber der Empfänger dann nicht in der Bandbreite zurück regeln kann – sonst empfängt er nach wie vor bloß Rauschen.
Sinnvolles Vorgehen wäre dann, eine Verbindungsaufnahme mit kleiner Bandbreite und Datenrate zu versuchen. Stellt man dabei fest, dass es wahrscheinlich genug Reserve gibt (gutes SNR, ersatzweise gute RSSI-Werte), dann versucht man eine Umschaltung auf eine höhere Rate. Funktioniert sie nicht, fällt man nach Timeout zurück auf die niedrige Rate und wickelt seine Kommunikation darüber ab.
Warum dann diese Einschränkung auf 2-FSK? Andere Modulationsverfahren
arbeiten noch bei deutlich schlechterem SNR.
Da wir deine Datenraten und den Frequenzbereich nicht kennen, werfe ich mal LoRa in den Ring. Ist superempfindlich, hat aber nur relativ geringe Datenraten.
Andere Modulationsverfahren arbeiten noch bei deutlich schlechterem SNR.
Letztlich auch nur, indem sie die Bandbreite (und damit Datenrate) effektiv heruntersetzen, d.h. sie haben zwar eine große physikalische Bandbreite (und damit schlechtes SNR), aber reduzieren sie durch Ausnutzung von Redundanz.
Mag trotzdem die bessere Wahl sein, wenn man auf diese Weise bessere ICs findet.
bei sehr kleinen
Bandbreiten besteht immer die Gefahr dass Sender und Empfänger
in ihrer Referenz-Frequenz zu weit auseinander liegen
An dieser Stelle optimiert man dann "von Hand" indem man für
beide Partner die Referenz-Oszillatoren im Kleinen auf
möglichst gleiche Frequenz trimmt bzw. möglichst nahe
beieinander liegende Oszillatoren auswählt.
Verlass dich lieber auf ein
paar Erfahrungswerte von Leuten (hier) die schon was mit
Datenübertragung gemacht haben und dir ihre "Werte" angeben.
Naja, die Werte der diversen ICs müssen ja vergleichbar sein, also gleiche Antenne, gleiche Mess-Strecke usw. Da helfen mir einzelne Erfahrungswerte wenig.
Klingt leider bisschen nach "möglichst weit", "möglichst günstig",
"möglichst schnell", "möglichst einfach", so wie viele hier nach
einer Lösung suchen aber nichts von ihren konkreten Anforderungen
hören lassen oder es auch gar nicht wissen.
Mir ist klar dass man nie alles gleichzeitig erreichen kann. Ich möchte eine möglichst hohe Reichweite bei einer sehr niedrigen Datenrate erreichen können (z.B. 10 bps), aber bei besseren Bedingungen auch die Datenrate hochskalieren können.
Silvio hat es bereits ganz am Anfang erwähnt: bei sehr kleinen
Bandbreiten besteht immer die Gefahr dass Sender und Empfänger
in ihrer Referenz-Frequenz zu weit auseinander liegen
Da wir deine Datenraten und den Frequenzbereich nicht kennen, werfe ich
mal LoRa in den Ring.
Das ist auf jeden Fall ein heißer Kandidat. Dem Marketing-Material zufolge kann man damit über 20 dB Steigerung der Empfindlichkeit erzielen. Das klingt fast zu gut um wahr zu sein. Allerdings gibt es auch nicht gerade viel Auswahl an LoRa-ICs.
Naja, die Werte der diversen ICs müssen ja vergleichbar sein, also
gleiche Antenne, gleiche Mess-Strecke usw. Da helfen mir einzelne
Erfahrungswerte wenig.
Dann teste sie!
Du kannst nicht erwarten, dass die Hersteller ihre Produkte mit der Konkurrenz vergleichen und das dann auch noch veröffentlichen.
Ausprobieren ist auch nicht so einfach weil ich nicht für jedes IC ein
Board herstellen kann.
Darauf wird es aber hinaus laufen. Vielleicht kannst du deine Ergebnisse eine Fachzeitschrift verkaufen, um zumindest einen Teil der Kosten zurück zu bekommen.
Wenn ich an unterschiedliche Eval-Kits der diversen Hersteller die gleiche Antenne anschließe (gleiche Impedanz vorausgesetzt), bekomme ich dann vergleichbare Ergebnisse?
Wenn ich an unterschiedliche Eval-Kits der diversen Hersteller die
gleiche Antenne anschließe (gleiche Impedanz vorausgesetzt), bekomme ich
dann vergleichbare Ergebnisse?
Sinnvoller ist es, gut geschirmte Kabel (am besten Semi-Rigid) zu nehmen und einstellbare Dämpfungsglieder. Ein paar feste Dämpfungsglieder (20 dB oder so) direkt an den Antennenbuchsen, dann gibt es da mittlerweile für den Weg dazwischen auch elektronisch steuerbare.
Aber stell die Setups wenigstens 5 m auseinander (besser 10 m), sonst hören die sich an all deinen Dämpfungsgliedern noch vorbei.
Aber mit so einer Konstellation kannst du zumindest reproduzierbare Tests fahren. Irgendwas mit Antennen ist kaum reproduzierbar, erst recht nicht, wenn du auch noch reflektierendes Gelände dazwischen hast.
Das ist auf jeden Fall ein heißer Kandidat. Dem Marketing-Material
zufolge kann man damit über 20 dB Steigerung der Empfindlichkeit
erzielen. Das klingt fast zu gut um wahr zu sein. Allerdings gibt es
auch nicht gerade viel Auswahl an LoRa-ICs.
Dann nenne doch mal deine benötigten Parameter: Frequenzbereich, max. Datenrate, max. Entfernung. Und welche Antennen du dir vorstellst.
Nachdem LoRa von einer Firma patentiert ist, ist die Auswahl an Bausteinen wirklich nicht sehr groß. Allerdings gibt es schöne Module (auch fertig mit einem ESP32), sodass man da wunderbar testen kann. Ich mache z.b. bei ieinem Projekt mit, wo wir Satellitensignale über 100te km (bei direkter Sicht) mit Feldstärken unterm Rauschen empfangen. Und meine Wettersensoren habe ich auch mit LoRa ausgestattet. Das ist so stromsparend, dass ich die mittels kleinen Solarzellen durchs Jahr hindurch betreiben kann.
Nimmt 2-3 dB an, dass ist ein guter Wert. Passt auf jeden Fall besser, als die Rauschzahl zu ignorieren.
Mit diesem
SNR lässt sich anhand des Modulationsverfahren die Bit-Error-Rate
ermitteln.
Das scheint komplexere Simulationen zu involvieren?
Wie man die Bit-Error-Rate berechnet, weiß ich gar nicht, aber man finde die Kurven BER vs. SNR für die jeweiligen Modulationsverfahren
"bit error rate vs signal to noise ratio for FSK"
Da du was von 10 bit pro Sekunde schriebst, kann man auf ein paar Hertz Bandbreite schließen. Ob das anhand der Referenzquarzproblematik praktikabel ist, wird sich zeigen.
Viele ICs gehen nur bis 100 bps runter, wenn ich das richtig in Erinnerung habe. Um welchen Frequenzbereich geht es denn eigentlich?
Besorge dir mal fertige Sendemodule und baue dir eine Testfunkstrecke auf, wie Jörg geschrieben hat. Mit Dämpfungsglieder und Antennen. Sendeleistung ganz runterdrehen und schon ist man schnell im kritischen Empfangsbereich. Dann man Übertragungsmessungen und gucke, wie viel Pakete ankommen. Variiere es über Preambellänge, Bandbreite, Datenpaketlänge etc.
Das ist eigentlich eine schöne Sache und man lernt viel dabei.
Da du was von 10 bit pro Sekunde schriebst, kann man auf ein paar Hertz
Bandbreite schließen. Ob das anhand der Referenzquarzproblematik
praktikabel ist, wird sich zeigen.
Man kann TCXOs nehmen, das verbessert die Frequenzstabilität um eine Größenordnung (pi · Daumen).
Andererseits sind hier natürlich ICs im Vorteil, die mit Modulationsverfahren arbeiten, die viel Redundanz eingebaut haben: die sind im Signal relativ breitbandig (und damit nicht mehr so empfindlich gegenüber Frequenzversatz beider Seiten), aber holen die Empfindlichkeit dann über den Spreiz-Gewinn heraus.
Man kann TCXOs nehmen, das verbessert die Frequenzstabilität um eine
Größenordnung (pi · Daumen).
Das hilft fast überhaupt nix da die aktuelle Frequenz bei zwei
Oszillatoren zweier Teilnehmer trotzdem stärker differieren kann.
Üblicherweise hat man bei einer Kommunikations-Funkstrecke
gleiche Transceiver auf beiden Seiten, mit ebensolchen gleichen
Oszillatoren. Diese driften dann auch sehr ähnlich vor sich hin.
Da hilft eben Frequenzstabilität fast gar nix ....
Üblicherweise hat man bei einer Kommunikations-Funkstrecke
gleiche Transceiver auf beiden Seiten, mit ebensolchen gleichen
Oszillatoren. Diese driften dann auch sehr ähnlich vor sich hin.
Nicht notwendig. Einer in der Sonne, einer im Schatten, reicht schon.
Außerdem, ich habe mir nur mal wahllos den erstbesten 10-MHz-TCXO bei Mouser angeguckt:
1
ECS-TXO53-S3
2
Parameters MIN TYP MAX Units Conditions
3
Frequency Range 10.000 52.000 MHz
4
Initial Frequency Tolerance ±1.0 ppm @ +25°C ±2°C
5
Frequency Tolerance After Reflow ±1.0 ppm Up to 2 Reflows.
6
Frequency Stability ±280 ppb Vs. Temp (-40 ~ +85°C)
Das ist schon mehr als eine Größenordnung besser als das, was man mit einem einfachen Quarz schafft. Bei Quarzen bist du froh, wenn du sie auf 30 ppm genau bekommen kannst.