Software Defined Radio-Hardware

Die meisten softwaredefinierten Funkperipheriegeräte beinhalten ein FPGA. Beim Entwerfen eines SDR-Peripheriegeräts würde ich gerne wissen, ob es möglich ist, ein GNU Radio-kompatibles SDR-Hardware-Peripheriegerät ohne FPGAs zu entwerfen. dh direktes Senden der Ausgabe von den ADCs an einen PC über USB. Wenn möglich, denke ich, dass Geben Sie hier die Bildbeschreibung einmein Interesse daran liegt, FPGAs (zu anderen Kosten) zu eliminieren, weil das FPGA-Löten und -Design ein schwieriger Prozess ist, der von den meisten Anbietern nicht richtig erklärt wird. Wenn es eine Möglichkeit gibt, sie aus meinem Design zu eliminieren, wäre das großartig. Mein Interesse ist es, etwas Ähnliches zu entwerfen .

Ist es im obigen Bild, das ich von TI gefunden habe, möglich, dass wir den Ausgang des ADC über eine Art USB-Verbindung direkt mit dem PC verbinden? Vielleicht ist eine Übertragung auch auf diese Weise möglich.

Ich würde auch gerne den genauen Zweck bzw. die genauen Zwecke der Verwendung von FPGAs in SDR-Peripheriedesigns erfahren. Ich bin mir sicher, dass es viele geben kann. Aber ich würde gerne die wichtigsten wissen.

AKTUALISIEREN:

Wie von Neil_UK im Abschnitt „Antworten“ vorgeschlagen, wenn die Einschränkung darin besteht, dass die rohen ADC-Samples aufgrund der langsamen USB-Geschwindigkeit nicht über eine USB-Schnittstelle an den PC übertragen werden können, was wäre die höchste praktische Bandbreite, die wir in einem System haben könnten das verbindet den ADC direkt mit einem USB? vielleicht ein USB 3.0? Wird durch diese Entscheidung nur die Bandbreite begrenzt? Welche anderen grundlegenden Funktionen würden fehlen, wenn SDRs auf diese Weise konzipiert würden? (vorausgesetzt, es ist nicht erforderlich, mit Signalen zu arbeiten, z. B. sie zu demodulieren)

Sie können den ADC nicht direkt an USB anschließen, es sei denn, Sie finden einen ADC mit einer USB-Schnittstelle. Sie müssen etwas finden, das als USB-Endpunkt fungieren und mit dem ADC sprechen kann.

Antworten (5)

Hinweis: In dieser Antwort werden wir die SDR-Hardware zur Veranschaulichung stark vereinfachen

ADC --> PC ist (eine der) Funktionen des FPGA

Das FPGA erfüllt verschiedene Funktionen in verschiedenen SDR-Designs, aber einer seiner Hauptzwecke besteht darin, "einfach den ADC mit dem PC zu verbinden". Ich denke, Sie wissen den Vorgang des Verschiebens von Daten über den Universal Serial Bus (USB) und den Vorgang des Erfassens des Funksignals nicht vollständig zu schätzen.

SDRs erfordern normalerweise mindestens zwei ADC-Streams (Quadraturerfassung nach Abwärtswandlung) und haben normalerweise mehrere Quadraturkanäle, um erweiterte Dinge wie MIMO, RADAR/Beamforming usw.

Das FPGA ist erforderlich, um die digitalen Datenströme, die von den verschiedenen ADCs kommen, zu multiplexen, um die Daten in einer Weise zu formatieren, die mit USB (und letztendlich gnuRadio) kompatibel ist, und um Steuerinformationen vom PC/gnuRadio zu empfangen und die verschiedenen Änderungen an den ADCs vorzunehmen und Down-Conversion-Komponenten.

Ohne das FPGA müssten Sie diese Funktionen mit anderer Hardware implementieren und Ihr Design würde am Ende viel komplexer sein, anstatt die Einfachheit, die Sie suchen. SDR-Designs haben sich zu ihrem aktuellen Stand entwickelt und sind heute viel kostengünstiger/einfacher als in den vergangenen Jahren.

Beispiele

Einige gängige SDR-Produkte von Ettus und Pervices Devices veranschaulichen die zentrale Glue-Logic-Natur des FPGA in diesen Architekturen. Beachten Sie die Platzierung des FPGA zwischen den Hochgeschwindigkeits-Analogwandlern und den relevanten externen Datenschnittstellen.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Das ist falsch. Typische FPGA-basierte SDRs verwenden einen USB-Schnittstellenchip, der Daten direkt von einem ADC übernehmen kann, möglicherweise mit einem dazwischen liegenden Hardware-FIFO. Der Sinn eines FPGA besteht darin, eine gewisse Vorverarbeitung in der Hardware durchzuführen, um die Bandbreite der älteren USB-Standards besser zu nutzen, um die Informationen darzustellen, die am interessantesten sind, anstatt nur Rohabtastungen mit der höchsten Rate zu nehmen, die in die passt Rohr.
@Chris - Ich habe die Antwort erweitert, vielleicht überdenken Sie es noch einmal? (1) Ich habe noch nie einen ADC ohne eingebettete MCU/CPU gesehen, der eine USB-Schnittstelle hatte. Was wäre der Anwendungsbereich für diese Chips? Moderne FPGA-basierte Systeme sind so aufgebaut, wie ich es beschrieben habe, und ich habe einige Produktreferenzen beigefügt, um diesen Punkt zu veranschaulichen. (2) Während einige Systeme die Front-End-Verarbeitung im FPGA durchführen, ist dies eine Verpflichtung zur Implementierung und nicht das Designziel von Software Defined Radio. Schließlich ist dies, wie ursprünglich in der Antwort erwähnt, eine der Funktionen des FPGA, nicht seine einzige Funktion.
Lesen Sie den Kommentar noch einmal. Niemand hat gesagt, dass es ADCs mit USB-Schnittstellen gibt, sondern dass ADC-Daten direkt zu einem fließen können USB interface chip- Sie brauchen das FPGA nur dazwischen, wenn Sie der Meinung sind, dass es optimaler wäre, etwas anderes als die rohen ADC-Samples in diese Leitung zu stecken. Sie kennen die einfachen USB-Logikanalysatoren auf Basis von Cypress-USB-Chips? Ein einfacher SDR kann ein ADC sein, der einen davon speist, ein komplexerer setzt ein FPGA dazwischen, um eine Hardware-Dezimierung und -Filterung zu ermöglichen.
Ich weiß, dass du weißt, was du tust. Wir spalten an dieser Stelle Haare. Cypress EZUSB ist nicht schnell genug für High-End-SDR, deshalb sieht man FPGAs (ja, es macht auch andere Sachen). Eine Dezimierung ist nur erforderlich, wenn Ihre Hardware oder Ihr Rohr nicht schnell genug ist. Wenn Sie in der SDR-Hardware filtern, könnten Sie im weiteren Sinne einfach die gesamte Filterung/Verarbeitung im FPGA durchführen und Sie haben ein herkömmliches Funkgerät. Der Zweck von SDR besteht darin, die gesamte Verarbeitung in Software durchzuführen (zu versuchen), wo sie flexibel und exponiert ist und wo mehrere Signalketten parallel ausgeführt werden könnten.
Entweder kann die verwendete USB-Leitung die Sampler-Bandbreite aufnehmen oder nicht - wenn dies möglich ist, benötigen Sie kein FPGA, es sei denn, es gibt Implementierungsfehler, die Sie umgehen müssen. Aber da Sie Haarspalterei erwähnt haben, würden die meisten rekonfigurierbare Operationen in einem FPGA (falls verwendet) nicht als außerhalb der "Software" in "Software Defined Radio" betrachten - vielmehr sind sie nur ein Beispiel für die Optimierung der Rechenarchitektur für die Aufgabe verfügbar. Vielleicht könnten wir es genauer "computerimplementiertes Radio" nennen

Datenrate => Bandbreite.

USB wird nur eine begrenzte Datenrate verarbeiten, und die gesamte digitalisierte Bandbreite müsste in diesen Kanal passen.

Mit einem FPGA am entfernten Ende kann es die digitalisierte Bandbreite auf die tatsächliche Kanalbandbreite reduzieren, die ein oder zwei Größenordnungen kleiner sein könnte, und diese über den USB senden. Es könnte weiter gehen und die Daten für eine oder zwei weitere Ordnungen der Datenratenreduzierung demodulieren.

Ich denke, der PC kommuniziert mit dem SDR und weist die PLL an, sich auf die vom GNU-Radio angeforderte erforderliche Frequenz einzustellen. Somit wird letztendlich nur die Bandbreite des ADC vom System erfasst. Ich meine, dass die Datenrate eine direkte Abhängigkeit von der Geschwindigkeit des ADC ist. zB Das beliebte hakrf hat eine Bandbreite von 20MHz. Das heißt, der ADC muss mindestens mit 40 MHz laufen. Bei 40 Millionen Samples pro Sekunde betragen die erzeugten Daten 40 Millionen * 8 Bytes pro Sekunde, wenn der ADC eine Genauigkeit von 8 Bit hat. Ich glaube, so viele Bits können über USB übertragen werden, zumindest über USB3.0. Könntest du es mir bitte sagen?
@qwertylicious: Sie gehen davon aus, dass das Sampling, das der Hackrf durchführt, real ist, wenn Sie denken, dass f_sample die doppelte Bandbreite sein muss. Dies ist hier nicht der Fall - hackrf verwendet wie andere Direktumwandlungsgeräte ein komplexes Basisband , was bedeutet, dass die Nyquist-Bandbreite der Abtastung selten entspricht
Aber du hast recht, jedes Sample besteht dann tatsächlich aus einem Real- und einem Imaginärteil, also stimmt deine Bandbreitenberechnung trotzdem. USB2 Hi-Speed ​​leistet bis zu 480 Mb/s abzüglich Overhead (was beträchtlich ist)
USB2 hat in der Praxis etwa 310 Mbit/s erreicht. Unter der Annahme von 8-Bit-Samples (billiges RTLSDR) und 2 Kanälen (I- und Q-Signale), die Sie auf 20 MSamples/sec beschränken. Viele gute SDRs haben höhere Abtastauflösungen, Geschwindigkeiten - und verwenden das FPGA zum Downsampling / zur Kanalauswahl usw. Um den Datendurchsatz auf etwas zu reduzieren, das USB2 verarbeiten kann.

Ja, das ist möglich, das machen die DVB-Receiver. Sie könnten auch ein USB 3.0-Design erstellen, z. B. basierend auf dem EZ-USB FX3 , diese können einfach an ADCs und DACs angeschlossen werden, und die Firmware richtet einfach eine Leitung zwischen einem Bulk-Endpunkt und den Peripheriegeräten ein.

Der Nachteil dabei ist, dass die Daten dann völlig unverarbeitet sind. Sie benötigen mindestens eine DC-Offset-Korrektur pro ADC und eine Kompensation für die Form des Aliasing-Filters. Die Implementierung in Software wird ziemlich viel CPU-Zeit beanspruchen. Gleichzeitig sind die Mehrkosten des FPGA im Vergleich zu den analogen Teilen nicht so groß.

Fun Fact: Ich arbeite für Ettus, die b2xx-Serie nutzt den fx3, und in der Realität ist der Umgang mit komplizierter ADC/DAC-Hardware tendenziell so komplex, dass sich FPGAs als Kleber als notwendig erweisen. Ohne zu behaupten, dass es ohne FPGA nicht geht, nur viel schwieriger, funktional, wie Sie sagen, eingeschränkt und meistens "nicht der Mühe wert"
Hey Marcus, schön wieder von dir zu hören. Vielen Dank, dass Sie auf meine vorherigen Kommentare reagiert haben. dh das Löschen von identitätsbezogenen Inhalten. Der Sinn dieser Frage war für mich, einige Zweifel auszuräumen, die ich hatte, als ich nach verschiedener SDR-Hardware suchte. Ich wollte ein Steckbrett SDR entwerfen (ich weiß, ich bin verrückt). Ich möchte nicht, dass es im auffälligen GHz-Bereich liegt. Proof-of-Concept ist in Ordnung. Dh Empfangen Sie etwas aus der Luft! Wenn ich das kann, kann ich alle meine Schüler dazu bringen, einen SDR für eine Aufgabe zu erstellen! und zwingen sie durch einen Auftrag in die Welt von SDR. Ich denke Ich sollte. Aber leider ist das Leben nicht einfach.

Ihr Vorschlag eines softwaredefinierten Radios, das aus einem Analog-Digital-Wandler-Frontend besteht und einen (langsamen) PC speist, ist möglich, aber nicht praktikabel.
Die Rate, mit der der PC Samples verarbeiten kann, legt die ADC-Samplingrate fest. Für viele Funkarbeiten wäre diese Rate relativ niedrig, was es erforderlich macht, dass der ADC seine Eingangsspannung unterabtastet.
Um Aliasing zu verhindern, muss dem ADC ein analoges schmalbandiges Bandpassfilter vorgeschaltet werden. Außerdem würde der ADC an seinem Front-End einen recht leistungsstarken Sampler benötigen. Diese beiden Anforderungen machen das Schema etwas unpraktisch.

Ich stimme dem zu, dass "das FPGA das schwere Heben hoher Raten übernehmen soll", aber denken Sie daran, dass selbst Laptops heutzutage problemlos mit soliden Werten von über 20 MS/s umgehen können
Sie liegen konzeptionell nicht falsch, aber praktisch falsch. Dinge wie ein kommutierender Mischer, der einen Tiefpassfilter eines Operationsverstärkers speist, machen es möglich, großartige Empfänger mit relativ geringer Sampler-Bandbreite zu bauen – klassische High-End- Audio- ADCs. Sie können die gleiche Technik mit einem ADC verwenden, der der maximalen Datenrate entspricht, die Sie bei einem bestimmten USB-Standard unterdrücken können.

Suchen Sie nach den "Soft Rock" SDR-Kits.

Auf HF beschränkt, programmieren diese einen Oszillator (si570), um den gewünschten Kanal auf den Audiobereich herunterzumischen. Dann erfassen sie die Daten mit einer Computer-Soundkarte.

Die Qualität hängt von der verwendeten Soundkarte ab. Es gibt USB-basierte externe Soundkarten, die Sie mit dem Kit verwenden können und die möglicherweise bessere Ergebnisse liefern als die eingebaute Soundkarte [zum Beispiel] eines billigen Laptops.

Verbindungen:

http://fivedasch.com/

http://www.wb5rvz.com/sdr/