 Ich war gerade beschäftigt, das LTE-Netzwerk zu fixen, das geht jetzt. Okay, ein bisschen Hintergrund über mich selbst. Ich arbeite über freie und open-source Software seit 20 Jahren. Ich habe viel im Linux Kernel gearbeitet, ich habe auch ein bisschen alle einer der ersten, die GNU General Public License im Gericht durchgesetzt und bin jetzt mit Open Source Mobilfunk, Techniken beschäftigt und arbeite mit dem OsmoCom Stack und anderer Software, die Software Define Radio macht. Und ich dachte, ich mache mal einen Übersichts-Talk über was die Grenzen sind, dass die Leute nicht immer in die gleichen Fallen fallen. Bis erstes Software Define Radio, ja, was ist das? Meisten Leute verbinden das mit gewissen Geräten, die in den Hacker- und IT-Sicherheits- und Forschungs-Communities benutzt werden, aber heutzutage sind in der Realität fast alle Geräte Software-definierte Radios. Deshalb rede ich heute über allgemeine Software-definierte Radios. Es gibt andere, die nicht allgemeinen allen Zwecken benutzen sind, zum Beispiel im Mobiltelefon, die benutzen zwar intern Software-definiertes Radio, aber sie zeigen es. Den Benutzern nicht, der Nutzer kann nichts benutzen. Man kann nicht sehen, ob es ein Hardware oder ein Software ist. Man kann die Funktionalität nicht benutzen. Es gibt keine Art und Weise. Die meisten Geräte, die nicht allgemeine sind, wie Telefone oder DVB-Anfänger oder fast jedes Radio, machen bestimmte Signalverarbeitungsschritte in Software. Deshalb heißt es Software-definiertes Radio. Hoffentlich ist das innerhalb von Digital-Signal-Prozessoren oder innerhalb von FPGA-Kern, die mit einem proprietärem Mitstream arbeiten. Auf der anderen Seite hat es Geräte, die nicht viel mehr machen als Radio-Signale oder andere Signale in AC-Digitale-Signale umsetzen, und dann kann man darüber ein allgemein General-Purpose-Prozessor in ARM oder in X86 benutzen, um diese Daten, die im Prinzip einfach nur aus einem analog-digitalen Wandelang gefallen sind, weiterzuverarbeiten. Wenn wir jetzt die Terminologie geklärt haben, können wir uns ein paar Schlüsselprojekte in dem Bereich Software-definiertes Radio angucken. Ich würde 2001 anfangen, also genug Radio gegründet wurde, von Eric Blossom mit Unterstützung von John Gilmour, der großzügig war, um eine Software-Paket zu machen, dass bis heute oder heute sogar noch mehr populär ist, um halt allgemein Software-definiertes Radio-Geräte zu machen. 2004 hat Matt Airbus das erste Universale, das hat wir Gerät vorgestellt, das USRP, und in den letzten zehn Jahren wird ja das viele neue Geräte und viele Software, die diese Geräte benutzbar machen. Das Grausekommen, viele haben überall verschiedene RTL-SDR, das ist eine Modifikation von einem DVBT-Empfänger gemacht, denn einfach nicht dazu benutzt, um Fernsehsignale zu empfangen, sondern um allgemein Radio-Signale zu machen. Es hat Blader F über Kickstarter gestartet, Michael Osman hat den Hack AF auch auf Kickstarter gestartet, und eines der Letzte ist Lime Micro, Lime-SDR, der auch über einen Crowdfunding-Projekt gegründet wurde. Da gibt es etliche Projekte in dem Bereich, eigentlich sind Projekte, andere sind Open Hardware, und derzeit sind die Tools mehr zugänglich geworden, besser zugänglich, besser nutzbar. Die sehr billigen Geräte wie RTL-SDR erlauben es einem normalerweise nur zu empfangen, die teureren erlauben auch zu senden, und viele im Bereich der Interhaltsicherheit oder mit Netzwerken, Hintergrund, haben sich in verschiedenen Arten STR-Geräte angesehen. Die Lernkurve ist leider immer noch ziemlich steil, wenn man nicht keinen Hochfrequenz oder Elektronik-Hintergrund hat. Es ist schwierig zum Starten, weil es gibt viele Projekte, rund um Radio oder auch unabhängig davon, aber keine davon sind wirklich einfach zu benutzen. Und viele haben nur keine oder nur sehr unvollständige Open-Source-Software. Vor diesem Hintergrund gucken wir heute in die Grenzen, die diese Systeme haben. Es ist großartig, dass es alles erhältlich und zugänglich ist, aber in der Realität haben viele Leute Missverständnisse darüber, wie komplex so etwas ist. Wenn jemand glaubt, dass man einfach einen beliebigen STR-Hatwerk kauft und irgendeine STR-Software zu installieren, dass es dann möglich ist, ein Basisstation von Mobilfunk zu betreiben, ist es leider nicht der Fall, und es ist ganz besondere nicht der Fall, wenn man sich an Mobilfunk-Technologie interessiert, wie GSM oder UNPS. Und warum ist das so? Und es gibt verschiedene, viele Themen. Einst ist die, die Uhren oder Takt, die Mobilfunk-Standards haben sehr hohe Anforderungen an die Stabilität der Mobilfunk-Uhr und der Frequenzenten. Wenn ein, die Basisstation in einer bestimmten Frequenz senden soll, dann muss sie zu einem sehr hohen Genauigkeit in diesem Bereich, genau auf dieser Frequenz senden. Das ist ungefähr, zum Beispiel, 20 Paar per Million. Das ist ungefähr 1.000 Mal genauer ist das, was man normalerweise in den Kristall findet, den man in den normalen Kristall, den man im Billing gerätet, hat eine Genauigkeit von 20 Paar per Million und das Standards von 20 oder 30 Paar per Million. Manche haben Oszillator mit 280 ppb, also bei Billing Stabilität, das ist besser, aber es ist immer noch mehr als ein Faktor, 10 von dem entfernt, was man braucht, um wirklich ein Mobilfunk-Basisstation betreiben zu können. Und wenn ein Takt hat, der Takt ist, dann gibt es verschiedene Effekte. Typisch ist das Telefon die Basisstation nicht erkennt oder nicht zuverlässig erkennt und zufällig voll aus dem Netz rausfüllt. Das ist eines der ersten Probleme, das Leute sehen, wenn sie anfangen, mit SDR zu spielen, dann ist die erste Frage, wenn sie sich beschweren oder das etwas nicht geht, dann ist die erste Frage immer, habt ihr denn eine stabile Clock? Weil sie sagen, nein, dann hören viele Leute sogar auf, ihnen zu helfen, weil ohne diese genaue Uhr kann man einfach nichts machen. Das andere ist die Stabilität der Uhr. Es ist wichtig, die einmal zu kalibrieren, dass sie richtig ist, aber dann altert sie. Man muss die Uhr regelmäßig gegen eine stabile Referenz neu kalibrieren. Da ist eine wichtige Frage, wie schnell driftet eine Uhr von ihrem kalibrieren Punkt weg. Wenn man nur etwas empfängt, dann kann man das alles mit ein bisschen Mathematik hinterher machen. Man muss sowieso die Uhr des Carriers verfolgen oder die Taggarte und dann kann man das einfach in Software einfach rausrechnen. Aber das funktioniert auch nur, weil die Uhr die Frequenz des Transmitters, des Senders, sehr genau sein muss. Man kann die Empfänger ein bisschen dürften. Man kann die genaue Uhr des Senders daraus wieder rekonstruieren. Anderer Ding ist Phasenrauschen, das in Jitter in der Fertdomäne übernimmt. Phasenrauschen kann praktisch jedes Gerät, jedes Teil eines Signals zerstören. Man hat decent PLL Loop Filtering. Wenn man nach der Referenz clockt, die kein PLL Filter geht, dann hat man ein Sample Offset, wenn man ein Signal von der Analogung in die digitale Domäne überführt, dann müssen die Abtastpunkte genaue Zeitfolgen sein. Aber wenn die Abtastzeitpunkte ein bisschen hin und her wackelt, dann kriegt man vollkommen nutzlose Ergebnisse und vollkommen nutzliche Signale. Wir haben Geräte gesehen, die da mehr veranfällig sind, wie der SDR Mini. Der hat nicht wirklich einen externen Uhneingang und man muss Dinge umlöten und einen externen Ankluss machen. Das ist nicht der intendierte Nutzungsart. Was hat man denn jetzt für Optionen? Man kann auf OXCOs gehen. Das sind spezielle Oszillatoren, spezielle Quarze, die werden zu einer Innerhalb des Geräts auf eine gewisse Temperatur gebracht. Dann hat das keinen Einfluss mehr darauf, ob die Umgebungstemperatur sich arbeitet, weil der Quarze im Gerät immer auf derselben Gerät, auf dessen Temperatur arbeitet und so nicht auf der grünen Temperatur davon driftet. Das muss man dann etwa alle 6 bis 12 Monate kalibrieren und solange funktioniert das ganz gut. Das ist eine Option, die ist relativ günstig, wird häufig genutzt. Das zweite ist ein GPS Discipline Oscillator. Das heißt, man hat grundsätzlich schon mal einen Oscillator oder einen Quart. Dieser wird dann noch gesteuert vom GPS Signal. Also quasi das funktioniert auch mit anderen Navigationssystemen. Die haben eine sehr genaue Uhr und diese kann dann die interne Uhr ein bisschen noch steuern. Das funktioniert sehr stabil, aber es ist natürlich Voraussetzung, dass man Empfang hat von dem GPS. Das funktioniert dann natürlich nur außen und je nachdem könnte man auch noch annehmen, dass Leute das GPS aktiv stören oder einiges. Etwas exotischer sind Rubidium Oscillatoren. Es ist sehr, sehr stabil, viel stabiler als normale OXC aus. Die Balkigpowerclubs sind dann halt eher groß, brauchen viel Strom und eine andere spezielle Option sind Chipscale Atomuhren. Die sind einfach sehr teuer. Also eigentlich nicht etwas, das man als Hacker benutzt und auch nicht im kommerziellen Bereich benutzt. Ein Parameter, die Tagfrequenz erfüllen muss oder die interne Uhr. Also das Wichtigste ist natürlich die Frequenz. Die Frequenz ist manchmal problematisch mit verschiedenen STRs. Einige wollen, also je nach STR, einige wollen 10 MHz Referenzen, andere wollen 40 MHz. Man kann halt nicht einfach eine GPS-Dio zum Beispiel kaufen, die dann für alle STRs funktioniert, sondern man muss halt das passende kaufen oder einen Konverter kaufen, der die Frequenz konvertieren kann. Dann kommt es auch davon, ob das STR eine Sinuswelle oder eine Rechtequelle als Input möchte. Wenn es Sinus möchte, dann ist meistens okay, wenn man eine Rechtequelle hat und das filtert, umgekehrt ist manchmal ein bisschen komplizierter. Da braucht man halt spezielle Geräte, die das möglichst gut und ohne Chitter und ohne Störungen erledigen können. Wichtig, was ihr auch merken solltet, bei den meisten oder eigentlich allen STRs muss man aktiv die externe Clock als Referenz wählen, sonst ist das die interne. Und diesen Parameter muss man dann an welchen Ort im Treiber usw. auswählen. Einige Geräte bieten den Luxus, dass es eine LED hat beim Clock-Input, aber das ist leider nicht Industriestandort. Etwas anderes, wenn man mit Mobilfunk arbeiten möchte, ist, dass es Full Duplex unterstützt. Full Duplex heißt, dass man zur selben Zeit senden und empfangen kann, gleichzeitig aber auf verschiedenen Frequenzen. Es ist eigentlich ziemlich klar, aber es heißt dann zum Beispiel, man kann nicht das HackRyfe nutzen als GSM oder LTE, die Basistation. Es kann nämlich nur entweder senden oder empfangen. Einige Leute fragen dann, ja, kann ich nicht einfach zwei davon nehmen, in Prinzip ja, aber ja, dann gibt es eine andere Bedingung, die erfüllt sein müssen. Und sobald man, ja, es ist halt halt wieder viel Aufwand, bevor man überhaupt starten kann. Etwas anderes mit STRS, ist, dass man jedem Befehl ein Timestampel mitgibt. Das heißt, es reicht nicht, wenn man einfach ein Sample auf dem PC generiert und das hinaus sendet, sondern man muss im Voraus her genau sagen, wann welches Sample gesendet werden soll. Und auch beim Empfangen ist es wichtig, dass man genau weiß, zu welchem Zeitpunkt welches Sample empfangen wurde. Das ist eine wichtige Information, zum Beispiel bei GSM oder LTE, weil diese Information, die legt dann zum Beispiel fest, von welchem Telefon die Information kam. Und auch wenn viele Leute mit Basisstationen, Mobilfunkspielen machen, das ist halt immer noch nicht eine Standardfunktion von STRS. Das heißt, man braucht eine Unterstützung von der STRS Hardware, von dem Gateway, also das Gerät, das zum Beispiel die FPGA unterstützt, das STR mit dem PC verbindet. Und man braucht eine Synchronisation zwischen Sender und Empfänger. Das heißt, man muss das Takt-Signal zwischen Sender und Empfänger zueinander korrelieren können. Man muss genau wissen, zu welchem Zeitpunkt ist das jetzt ein Ten-Eingang, oder ist das von dem, was ich senden will. Weil jede Leiterbahn auf dem PCB, auf der Platine, die verzögert das Signal ein bisschen. Und diese Verzögerung, die muss man halt können und quasi das, was ich selber sende, das empfange ich ja eigentlich auch wieder vom ADC. Und diese Verzögerung, die muss man messen, die muss die Software wissen und die muss die Software auch kompensieren. Und diese Werte, die sind unterschiedlich auf jedem PCB, das man nutzt. Je nachdem, ob man ein USRP1, 2 oder ein B200 oder das Leibmester, jedes Produkt, jedes Dieselboard hat verschiedene Werte. Die müssen gemessen werden und das Software muss das kompensieren können, diese Verzögerung und Signalpfad. Und wenn man verschiedene Geräte anschließt, dann ist das halt umso wichtiger, damit man der Spezifikation entspricht. Manchmal ist das ein wenig ein Problem, weil neue Probleme versuchen alte Treiber-Interfaces zu emulieren. Also nehmen wir mal ein neues Projekt, kommt auf den Markt und das ist kompatibel mit den Treibern, die ein existierendes Projekt hatte. Aber dann stimmen natürlich diese Kompensationsweise, diese Verzögerungswerte für dieses neue Board ist doch nicht benommen und die Werte für ein altes Board werden benutzen und diese ist natürlich falsch und das funktioniert nicht bis man sich hinsetzt und tatsächlich diese Verzögerung bei den neuen Board richtet. Das bringt uns zu Hersteller-Treibern, wenn man ein neues Board kauft oder irgendwoher bekommt, also nicht nur Hardware, sondern auch Software, die auf einem PC läuft, die auf dem FPGA läuft, auf einem Gateway, auf dem Controller, ein Mikrocontroller oder ein Softcore auf einem FPGA. Also dieses Software ist häufig qualitativ sehr viel schlechter als die Hardware-Qualität. Alle viele Wender oder Verkäufer oder alle Hersteller haben einen eigenen Stack, eine eigene API, über die man mit dem Gerät sprechen muss und die API ist natürlich nicht stabil über Releases und alle paar Monate ändert sich die API und man muss die Software ändern, damit es funktioniert. Das macht es alles nicht einfach. Software muss dann halt alle diese verschiedenen Treiber unterstützen und all die Änderungen in den APIs verfolgen. Und außerdem gibt es noch unglücklicherweise auch noch nicht technische Gründe. In diesem Fall eines der bekanntesten Beispiele, die ist der UHD-Treiber-Stack, der der USRP-Host-Treiber ursprünglich war, der wurde von Ethos Labs entwickelt, der von Native Instruments gehört und der wird keine Treiber für Konkurrenzprodukte einfliegen. Es ist ein Open Source-Projekt, aber in dem offiziellen Tree werden sie keine Treiber für konkurrierende Hardware einmerzen. Das passiert eigentlich nirgendwo sonst. Ich habe nie zum Beispiel gehört, dass beim Linux Kernel, dass jemand, der von Intel bezahlt wird, nicht dagegen wert irgendwelche Treiber in den Kernel einzuflegen, die zum Beispiel für AMD Hardware sind. Ich finde, das ist also eine sehr komische Einstellung im Feld der freien Software. Könnte natürlich jemand kommen und dann diese Alltreiber merken, aber ja, es gibt Forks davon, aber jeder hat seinen eigenen Fork und gibt mehrere verschiedene, und dann gibt es sowas wie SOPE-SDA, und dann wird das stärkt tiefer, und dann gibt es neue Abstraktionen. Man verliert Kontrolle über gewinnte Aspekte, der Hardware, aber es hat halt all die, die Welt könnte viel einfacher sein, wenn man mehr Standardisierung gibt, mehr Standardisierung auf allgemeine Interferences und APE gibt, wie in vielen anderen Bereichen der Software und nicht wie hier, wo jeder sein eigenes Ding macht. Ein anderer wichtiges Thema sind Überläufe oder Unterläufe. Am Ende, wenn man STR läuft, dann hat man die Senderseite erwartet, einen kontinuierlichen Strom von Werten, die geschickt werden wollen, und die Empfängerseite generiert einen kontinuierlichen Strom von Werten. Und die Hardware muss fähig sein, diesen Strom kontinuierlich zu jeder Zeit aufrechtzuerhalten. Also in jedem Moment, wo eine Hardware-Komponente nicht mehr in der Lage ist, diesen Strom in der richtigen Geschwindigkeit zu generieren oder zu konsumieren, dann hat man Aussetzer, man kennt das vielleicht früher, wenn man mit digitalen Audio gespielt hat auf PC, dann hätte man einige solche Probleme, dass man Buffer Overruns oder Underruns kriegt oder dass die Geschwindigkeit des Rechners einfach nicht schnell genug ist. Und das damals war Audio mit 44.000 Samples pro Sekunde, und heute bei STR reden wir von Millionen von Samples, die pro Sekunde verarbeitet werden mussten. Also die Anforderungen sind viel stricter und herausfordernder als damals. Und alle diese Geräte haben Buffer, natürlich weil sie nicht wirklich dafür gibt, dafür designed worden, einen kontinuierlichen Strom von Werten zu produzieren. Aber wenn man einen Buffer hat mit 100 Samples, dann heißt das natürlich, dass das Signal um 100 Sample verzögert wird. Und man hat einen neuen Delay da drin. Und die Länge des Delays bestellen, welche Systeme man implementieren. Wir können manche haben halt sehr strenge Anforderungen haben für die maximale Verzögerung zwischen dem Moment, wo man etwas empfängt, wo man etwas abschickt, dass darauf aufbaut, was man hier ist. Also man kann zum Beispiel eine USP und UMTS Base Station nicht mit einem STR implementieren, das über USB angeschlossen ist, weil USB einfach viel zu langsam ist und viel zu hohe Latenzen hat. Und das ist amazing, dass manche das machen kann. Eine Sache, die helfen kann, ist, wenn man einen Echtzeit-Sketchler benutzt, also den SCAT-AA und DINUPS, und man muss sehr viel auf dynamische Leistungsmanagement machen, die die CPU-Geschwindigkeit oder die Enden kann. Also wenn man ein STR machen will, dann muss man all solche Sachen abschalten, wenn man eine zuverlässige Operation mit einem Software-Defined-Radio haben möchte. Manchmal sehen wir Probleme vom Bios, wenn man einen externen Bildschirm einschließt und irgendwelcher Management-Code versucht irgendwas machen und in der Zeit verliert man Millionen Samples. Man schließt ein Netzteil an und irgendwas passiert im Bios oder unter einem Eben und Millionen von Samples sind weg. Ein anderes Thema sind die Transmit-Gain-Settings, also die Senderleisten. IDLC ist ein digital analog Wandler, aber das ist natürlich viel zu simtler. Es gibt ganz einen Haufen analoger Komponenten daher, Ab-Down-Converter, Mischer und Gain-Stages. Also verstärker. Und all diese Gain-Stages, die kann man mit Software konfigurieren und man muss all diese Gain-Stages konfigurieren, richtig konfigurieren, so dass sie mit linearer Charakteristik arbeiten, dass sie das Signal nicht verzerren. Denn wenn man zu hohes Signal der nächsten Stufe übergibt, dann hat man schleitet das die Spitzen ab, das verzerrt das Signal. Man kriegt harmonische, man kriegt Signale in anderen Wändern, dass das Signal verflört. Also man muss all diese Einstellungen sehr genau einstellen für jedes SDR-Gerät, dass man unterstützen will in der Software. Man muss all diese Einstellungen manuell umdrehen, bis das Signal gut aussieht, also das Signal am besten aussieht. Und mit manchen Geräten kommt man nie dahin, wie das das System so ein Signal generiert, wie man es einem professionellen Gerät erwartet, dass es am Ende aussehen sollte. Und natürlich all diese Einstellungen, die man hat, die hängen ab von der Frequenz, also wenn man all diese Einstellungen herausgefunden hat, nach langen Hin- und Her-Basteln, und dann ändert man die Frequenz, da muss man alles wieder nochmal anfangen. Das andere Dinge auf der Sende Seite ist die Leistung, die Ausflugleistung. Ein normalerweise produziert so was nur 4 oder vielleicht 10 dBm, das ist relativ wenig Leistung, wenn man nur Tests auf dem Schreibtisch machen will, aber wenn man tatsächlich richtige Betrieb machen will, dann braucht man irgendwelche Verstärker. Und dann geht man nach eBay und findet einige nicht so teure Verstärker für das Band, an dem man arbeiten möchte. Aber warum ist das kein gute Idee? Nun, einmal das Ausputz-Signal, das aus dem SDR rauskommt, und ganz ein Haufen harmonischer, also zweitfache, dreifache, vierfache Frequenz von dem, was man haben will. Und der einfache Verstärker, den man dahinter hängt, der verstärkt auch all diese harmonischen, weil normalerweise muss man auf jeden Fall Filter davor, diesen Verstärker haben will und idealerweise auch hinter dem Verstärker nochmal filtern. Dann hat man schon drei Elemente in der Signalkette hinter dem Ausgang des RTSDR. Und natürlich ist das auch noch komplizierter. Ein normaler Verstärker ist kein linearer Teil. Er verstärkt nicht jedes Signal oder jedes Teil eines Signals genauso wie jedes andere. Und unglücklicherweise sind gerade die bezahlbareren Verstärker nicht sehr linear. Also, und dann gibt es ein trade-off zwischen linearität und Leistung. Man kann sehr lineare haben, aber dann braucht man sehr viel Energie oder muss sie kühlen. Oder es gibt halt viele Dinge, die von der genauen Leistung abhängen. Da gibt es dann Signale, die durch die Nicht-Linearen gestört und wo man halt kommerzielle Basisstationen haben, die sich dann an der Adaptive haben, zusätzliche Schaltungen, die halt das Output-Signal nochmal messen, auch nochmal digitalisieren und dann berechnen, wie sich das ausgenerierte Signal hinter dem Verstärker aussieht. Und dann wird das digitales Signal, das man am Anfang in das Radio reinschiebt, nochmal so versagt, dass dann die Verzerrung, gerade die Verzerrung des Verstärkers aufhebt. Das ist ein ständig laufender Regelkreis. Und ich habe gehört, dass vor einigen Jahren gehört, dass gerade diese Vorverzerrung des Signals, um die Verzerrung des Verstärkers zu kompensieren, mehr Aufwand ist als eigentliche Systeme, das man vorher rein. Also ja, man kann ein Verstärker in einfache Wellenform benutzen. Ja, für GSM funktioniert das vielleicht auch noch. Aber wenn man kompliziertere Dinge machen möchte wie LTE, dann braucht man einen sehr linearen und teuren Verstärker. Und natürlich muss die Auspunktleistung auch kalibriert sein. Natürlich gibt einem ein SDR keinen definierten Output. Also man kriegt einen Wert. Also, wenn es ein 12-Bit Stack ist, dann kann man irgendein Wert von 0 bis 4095 ausgeben. Aber man weiß nicht wirklich zu welcher Ausgangsleistung das am Ende tatsächlich gehört. Was am Ende aus dem Board rauskommt, aus dem Stecker. Und wenn man die Frequenz ändert, wird der Leistungslevel im Output, im Ausgang, andert. Und immer wenn man die Frequenz ändert, jedes Mal wegen Linen und Nichtliniaritäten, dann ändert sich halt die Ausgangsleistung, wenn man nur an der Frequenz dreht. Und wenn man halt spezielle Radio-Hardware hat, die für einen speziellen, hat, die sind kalibriert und so ein allgemeines SDR sind nicht kalibriert und kommen nicht mit Kalibrierungstabilierung. Die Hersteller könnten solche Tabellen herstellen, aber das ist Aufwand und die tun sie nicht. Und deshalb man weiß nicht, wieviel Leistung man tatsächlich abstreit. Und das gibt einem Probleme, wenn man zum Beispiel ein Mobilfunk-Netzwerk haben will. Wenn man nicht weiß, welche Leistung man stahlt, dann weiß man halt nicht, was man abstellt und kann Probleme verursachen. Auch beim Empfangen haben wir Probleme, zum Beispiel Harmonische. Ihr macht jetzt zum Beispiel bei 900 MHz Empfangen, aber unabsichtlich empfängt man auch das doppelte 1800 MHz. Also muss man auf der Analogen-Seite bereits filtern, sonst empfängt man Dinge, die man nicht empfangen möchte. Und dieses so ein Bandfilter sollte dann nur das Band abdecken, an dem man auch tatsächlich interessiert ist. Das nächste Thema ist der Dynamikbereich beim Empfangen. Also das S-Theorist hat einen offenen Empfangen und jede Art von Energie von Funkwelle, die da reinkommt, wird vom ersten Allenermal, vom ersten Empfänger, halt empfangen und wird zum Mischer weitergeleitet, kommt dann auf das genaue Layout des Chips drauf an und eventuell auch noch weiter zum ADC. Und jedes Signal, das außerhalb unseres Bereichs ist, für den wir uns interessieren, wird ein Problem, vor allem, wenn es ein starkes Signal ist. Ein starkes Signal heißt, dass man halt wieder Verzerrung kriegt, Clipping und das Notsignal ist dann weg. Und am Ende muss die gesamte Empfängerkette so eingestellt werden, dass man auch noch das stärkste Signal empfangen kann. Auch wenn man dieses Signal eigentlich gar nicht interessant für euch ist, zum Beispiel, wenn ihr GSM empfangen wollt, aber ihr habt daneben noch ein FM Sender, der euch quasi alles zu macht, dann müsst ihr den trotzdem empfangen können, damit es keine Verzerrung gibt. Die Leistungsnebel, da gibt es bei professionellen Geräten halt Toleranzen, die eingehalten werden müssen und auch von der Spezifikation her. Und beim Telefon ist das so, dass das Telefon halt entsprechend die richtige Leistung schickt und beim Empfänger ist das in der Regel nicht kalibriert. Das wird dann eher geschatzt. Solange es nicht kalibriert ist, kann man das auch nur schätzen. Das bringt mich zum Ende. Es tut mir leid, dass ich jetzt über so viele Themen eigentlich schlecht geredet habe. Das heißt natürlich nicht, dass man nicht mit das, der es arbeiten soll. Jeder soll mit das, der es spielen und arbeiten, aber seid durch die Grenzen bewusst, damit ihr auch, dass es nicht so einfach wie ein Steckenung geht. Sondern ihr braucht halt ein entsprechender, noch weitere Hardware, zum Beispiel eine Taktquelle, ein Taktgeber, ihr braucht Filter, Verstärker, Allernaß oder Leistungsverstärker, die richtigen Antennen und so weiter. Und das gibt mit der Zeit halt einen richtigen Zoo an Geräten und Zubehör, dass zu dem SDR-Board dazukommt. Also seid, macht euch gefasst darauf, dass man halt auch noch auf andere Dinge achten muss und dass ihr nicht nur ein SDR-Gerät kaufen müsst, sondern auch noch weitere Hardware. Ich möchte mit diesem Vortrag sicherstellen, dass die häufigsten Fehlerquellen ausgeschlossen werden und dass ihr halt nicht an etwas arbeitet, wo ihr absolut keine Idee habt, was das Problem ist, sein könnte. Das ist, was ich euch hier erzeihen wollte. Ich hoffe, es war nicht allzu langweilig. Hat euch gefallen. Und ich hoffe, dass es Fragen gibt oder vielleicht Leute, die was anderes behaupten, als das ich jetzt sage. Vielen Dank. Ich bin sehr beeindruckt. Haben wir Fragen aus dem Publikum? Jetzt sehe ich da nichts, aber ja. Denkt daran, ein Satz, nur die Frage. Ich nehme an, dass ein Mobiltelefon nicht so genaue Taktfrequenzen hat. Also, warum braucht es Sender eine genaue Frequenzgeber, wenn es der Receiver mit der Empfänger nicht hat? Im kurzen, der Sender muss genau sein, damit die Telefone nicht genau sein müssen. Das ist, die Telefone kalibrieren ihre interne Uhr auf ein Referenzsignal, dass sie von der Basisstation kriegen. Also, sie kalibrieren ihre Uhr auf das, was der Sender sendet. Und andere Teil Ihrer Frage, warum ist es wichtig, dass der Sender kalibriert? Der Sender ist nicht der einzige Sender in der Gegend. Das Telefon kalibriert seine Uhr gegen den ersten Sender, den es sieht. Das heißt, wenn du eine Basisstation auf deinem Schreibtisch mit einer falschen Uhr und es ist eine reale Basisstation von einem kommerziellen Sender in der Nähe und wenn du das Telefon einschaltest dann sieht als erstes zufälligerweise die offizielle Station. Da sieht es plötzlich den Sender nicht mehr, der eine ungenaue Uhr hat. Und da hat genau das Effekt, das ich anfangs erwähnt hatte. Man sieht das Signal, dass die Basisstation sendet auf dem Schreibtisch und das Telefon, aber sie sehen einander nicht. Ich habe eine Frage wegen der Rechenleistung. Also es gibt zum Beispiel das Protoaster ein sehr billiges Gerät. Wenn man die ganze Analog hätte, die Internet-Uhr usw. hat, wäre es dann rein von der Rechenleistung her möglich, LTE zu machen. Ich habe mich immer beschwert, darüber, dass der Pluto-SDR keinen externen Timestamping hat. Ich habe gerade gehört, es gibt einen in den Aufmachter, da kann man einschließen, der wird nun nicht auf einem Steckhaut rausgeführt. Eines der Gründe, warum man heutzutage keinen LTE mit dem Pluto-SDR macht, ist, die erste ist, die komplette Treiberinfrastruktur mit einem Timestamping, also keinen Leitzeitstempel in irgendeiner Basis. Es ist vor allen Dingen eine schlechte Software-Architektur, die es da in der Hinsicht beschränkt. Es mag andere Gründe, aber das ist der wichtigste Grund. Ich denke, es kann gefixt werden. Es gibt dahin eine Frage, also es gibt eine Frage aus dem Internet. Nein, es gibt keine Fragen aus dem Internet. Es ist etwas schwierig, nicht zu kommentieren. Danke für den Talk. Ich glaube, ich habe etwas verpasst. Ein paar Dinge zur Antenne. Sorry, ich habe die Frage nicht verstanden. Klar, das kann natürlich in anderen Themen noch erweitert werden. Danke dafür. Wir können vielleicht auch ein paar Fragen über diese Topics machen, wenn jemand Interesse hat. Was bräuchte man für eine Full Duplex-Kommunikation? Ja. Es muss ehrlich sein, ich kann das nicht einfach so beantworten. Ich müsste die Schaltpläne gucken. Man müsste mit der Takt-Signale der gleichen Referenz anfangen. Ich möchte jetzt keine Antwort erfinden, ohne die Fakten zu gucken. Leute haben als Proof-of-Concept gezeigt, dass so etwas gemacht werden kann, aber es ist viel Aufwand, viel Hackerei. Man kann auch einfach ein vernünftiges Gerät benutzen, statt viel Zeit aufzuwenden, um Probleme zu lösen, um sich zu lösen. Habt ihr denn Empfehlungen, wo man zum Beispiel Filter kaufen sollte und ja, eBay, ja, nein, teuer, billig? Es hängt ein bisschen davon an, in welchem Band man arbeitet. Wenn man im Mobilfunkband arbeitet, dann kann man häufig die Filter finden, die in den Telefon selbst benutzt werden. Die kann man typisch auf eBay oder bei anderen Komponentenverteilern finden. Aber das Problem ist, die kommen in so kleinen Bauformen, dass man schon sehr gute SMD-Lütfähigkeiten haben. Und dann kann es auch sein, dass sie halt nicht 50 Ohm-Matching haben, sondern irgendwie 100 Ohm. Dann muss man halt irgendwelche Entscheidungen haben, um sie in einem 50-Ohm-System zu benutzen und eine sehr leichte Leistung, wo man viel Leistung hat. Da gibt es keine andere Möglichkeiten als Cavities zu benutzen, also Ohrresonatoren. Noch die letzten zwei Fragen. So, danke für den großartigen Vortrag. Aus meiner Erfahrung weiß ich, dass Rubidium-Uren sehr viel Faustschütter haben. Hast du selber Rubidium-Uren probiert und falls ja, wie kann man diesen Faustschütter loswerden? Ehrlich zu sein, ich benutze keine Rubidium-Uren. Ich habe mal eine gekauft, weil sie so billig waren, aber ich habe einen OCXO, der PS-diszipliniert ist, sodass er relativ lange laufen kann, ohne Kaliberierung. Und ich habe eine 10-MHz-Verteilung in meinem Labor mit Koaxialkabeln, wo ich dann Geräte an verschiedenen Stellen, an die Referenz-Uhr anschließen kann. Du hast gesagt, dass die Kaliberierung der Wort ein Problem ist, aber also ein schwieriges Problem, aber meistens gibt es etwas, das gut genug für ein bestimmtes Board funktioniert. Wäre das so eine Geschäftsmöglichkeit, dass man die Boards kaliberiert? Die Frage ist, über welche Kaliberierung reden wir? Ist das die Receive und Sender- und Empfangs-Signalstärke? Ich weiß nicht, ob es hinreichend wäre, von Default-Werten zu generieren und dann einfach anzunehmen, dass alle die Produkte im gleichen Bereich sind. Ich weiß nicht, was die Streuung der Produkte ist. Nur die Hersteller würden das wissen, wenn sie es jemals gemessen hätten, was die Streuung ist. Ich glaube nicht, dass es eine Geschäftsmöglichkeit gibt, aber es gäbe eine Open-Sort-Lösung zu finden und ein Hardware-Setup, wie man mit bestimmten Aufwand für beliebiges SDR diese Werte aufnehmen kann. Das könnte etwas sein, wo Hacker-Spaces betreiben, um Leute die Möglichkeit zu geben, ihr SDR zu kaliberieren. Vielen Dank. Auch wir auf der Übersetzerkabine.