Diskussions- und Newsboard des DARC-Ortsverbandes I40
allgemeine Kategorie => OVI40 SDR Projekt (English AND German discussions around OVI40 SDR project) => Message started by: DL8EBD on 24. June 2019, 04:24:01

Title: Wer hat Lust mitzumachen (Mithilfe gesucht)?
Post by: DL8EBD on 24. June 2019, 04:24:01

Andreas, welche Art von Hilfe benötigst Du?

Title: Re:Wer hat Lust mitzumachen (Mithilfe gesucht)?
Post by: DF8OE on 24. June 2019, 04:56:03

Wenn jemand beim Programmieren der FPGAs mitarbeiten würde wäre das sehr hilfreich. Außer dass ich keinen kompletten Code einfach von woanders kopieren möchte (fast alle anderen Ansätze haben mehr als 5 Jahre auf dem Buckel und sind sicher zu toppen) muss ich den Umgang mit dieser Sprache von NULL an lernen. Das mache ich gerne und es ist eine Herausforderung - aber im Team geht das sicher schneller. Ich arbeite mit dem Spartan 6 und nutze als Entwicklungsumgebung Xilinx ISE (das ist auch eine Bedingung).

Folgende Aufgabenstellung ist gegeben:
Modul 0...80MHz:

  • RX: Dezimierung und Filterung des Eingangssignals auf mehrere wählbare Sampleraten und Mittenfrequenzen (Cordic...)
  • RX: automatische Selektion der 2-ADC-Methode (RX) bei Frequenzen >40MHz <80MHz
  • TX: Erzeugung des TX-Signals
  • RX/TX: Implementierung eines Software-Interfaces "USB-Protokoll" und "I2S/SPI"


  • Modul 75MHz...6GHz:

    • RX/TX: Einbindung des AD9363 als sink/source
    • RX: Dezimierung und Filterung auf mehrere wählbare Sampleraten und Mittenfrequenzen (Cordic...)
    • RX: automatische Selektion der 2-ADC-Methode (RX) bei Frequenzen >40MHz <80MHz
    • TX: Erzeugung des TX-Signals
    • RX/TX: Implementierung eines Software-Interfaces "USB-Protokoll" und "I2S/SPI"


    • Wie zu sehen ist sind weite Teile der Aufgaben identisch - das vereinfacht die Aufgabe. Lediglich das "Frontend" ist anders (einmal sind es zwei "normale" ADCs um 180° versetzt getaktet und einmal ist es ein AD9363.

      Schön wäre es, wenn RX und TX simultan laufen würde. Sehr schön wäre es wenn man sowas wie "Multi-WSPR" einbauen könnte (vielleicht kann man bei Pavel Denim schauen wie der das beim Red Pitaya gemacht hat). Also mehrere Spans aus verschiedenen Bändern gleichzeitig in den Datenstream legen. Was übrigens auch ein gleichzeitiges Beobachten von Bandausschnitten verschiedener Bänder in einem Spektrum/WF ermöglichen würde. Es ist wie beim mcHF vor ~5Jahren: als ich mir das Projekt angesehen habe und meine Phantasie habe spielen lassen (da geht ein Touchscreen - es geht FM, es geht ein Wasserfall, und, und, und...) war die Antwort immer eine (nicht korrekte) Begründung, warum das nicht gehen kann. Mit einem FPGA geht sehr viel - und besser als mit einem Mischer - und da 99% aller Vorgänge in Logik ablaufen gibt es auch keine frequenzabhängige IQ-Korrektur, kein Durchreichen des LO etc.

      Der Spartan6 hat zwar weniger Logikzellen wie der Zync - aber dafür habe ich für 2,50 Euro noch 512MB Arbeitsspeicher spendiert. Das kann sehr viel bringen... Auch sind optional zusätzliche 4MBit Flash vorhanden.

      Um die PCBs universell einsetzen zu können sind vermutlich zwei verschiedene Versionen nötig: eine für USB und eine für SPI/I2S. Wenn man für das USB-Protokoll was genormtes nehmen könnte (HPSDR, IIOO/Soapy) würde das einen Betrieb mit Standardsoftware ermöglichen.

      vy 73
      Andreas

Title: Re:Wer hat Lust mitzumachen (Mithilfe gesucht)?
Post by: DD4WH on 24. June 2019, 06:13:45

Hallo Andreas,

beim FPGA und Verilog kann ich Dir leider nicht helfen. Ich würde Dir aber empfehlen, den code von Anderen zu übernehmen. Soweit ich das verstanden habe, sind FPGAs ja sehr einfach strukturierte Rechenknechte. Somit sind viele Kniffe aus der DSP dort nicht anwendbar, da ja dort nur Festkomma möglich ist. Daher hat sich dort in den letzten 5/10 Jahren auch nichts geändert, da es immer darum geht, aus einem Hochgeschwindigkeits-Datenstream einen langsamen datenstream zu machen. Verändern/Optimieren kannst Du den code später dann ja immer noch. Und der code von Pavel sollte auch sehr viel jünger als 5 Jahre sein ;-).

Ich verstehe auch nicht, wofür Du den FPGA (bei 75MHz bis 6GHz) überhaupt brauchst:

das kann doch alles schon der AD9363:

* RF IN
* direct conversion direkt im AD9363
* I & Q-Erzeugung im AD9363
* ADCs im AD9363
* I & Q out in der gewünschten sample rate (im AD9363 erzeugt)
* und dann direkt in UHSDR rein, dort wird demoduliert
* fertig

Wo hast Du da den FPGA eingeplant?

Im Prinzip baust Du mit Deinem neuen Konzept ja gleich zwei Transceiver in einem Gehäuse auf (einen direct sampler plus einen direct conversion SDR [also wie der mcHF]), das ist schon ganz schön ambitioniert . . . :-).

Und sobald Du den AD9363 verwendest, hast Du natürlich Qualitätsprobleme mit Phasen- und Amplitudenungenauigkeiten in I und Q (weil die intern im AD9363 analog produziert werden und NICHT digital), somit hilft Dir auch ein nachgeschalteter FPGA dann nicht weiter.

Beste 73

Frank DD4WH



Title: Re:Wer hat Lust mitzumachen (Mithilfe gesucht)?
Post by: DF8OE on 24. June 2019, 06:33:49

Hallo Frank,

für den VHF/UHF-Zweig brauche ich den FPGA weil die Samplerate des AD9363 nicht weit genug runtergeht - bei Weitem nicht weit genug ::)

Code von anderen zu übernehmen mag eventuell als Startpunkt gehen - ABER: Alle anderen Projekte laufen auf dem Cyclone. Nicht direkt portierbar. Es gab viele Gründe warum ich den Spartan gewählt habe...

Ich betreibe seit ~9 Monaten den Adalm-Pluto hier - der hat ein Frontend mit dem AD9363. Und ich versichere Dir: Phasen und Amplitudenfehler werden im Chip selbst bestens korrigiert. Du musst Dich definitiv "um nichts kümmern" und kannst den out-of-the-box ohne jegliche Einstellung einer Korrektur verwenden. Steht auch im Datenblatt wie die das machen.

vy 73
Andreas


Diskussions- und Newsboard des DARC-Ortsverbandes I40 | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.