Forum: Analoge Elektronik und Schaltungstechnik 8PSK Modulator selbst bauen


von Uwe K. (pidhunter)


Lesenswert?

Hallo,

ich möchte für Videokonfernzen einen kabelbasierten 8PSK Modulator für 
DVB-S2 aufbauen und soweit möglich auf fertige Module zurückgreifen.

Ich möchte die DVB-S2 Pakete mit 32bit RISC-Prozessor zusammenbauen. Nur 
die die Audio und Videokompression soll in einem PC erfolgen. Das heißt 
es wird getrennt Video, Audio und Steuerdaten (PES) über USB angeliefert 
und das Packen und Versenden, Empfangen und Entpacken soll ein 
Controller erledigen.

Ich will auch den ZF-Mischer so konstruieren, daß sowohl über ein Kabel 
als auch über ein TRIA funktioniert, also in der letzten Ausbaustufe 
satellitengestütztes Newsgatering SNG oder 25GHz-Richtfunk funktioniert.

Die meisten TRIA's haben sendeseitig eine ZF von 1,5GHz mit 3 Watt an 
25GHz und intern einen Diplexer damit sich Sende- und Empfangsseite 
nicht stören.

Soweit irgend möglich möchte ich alles einlagig auf versilbertem FR4 in 
einem verzinkten Weißblechgehäuse aufbauen. Später kommt ein Gehäuse aus 
Polykarbonat drumrum.

-- soweit die Idee von "det janze" --

Zur Theorie der 8PSK-Modulation.

Die normale Modulation für DVB-S2 ist sowohl 8PSK als auch QPSK. Das 
8PSK einen nahezu doppelten Durchsatz hat, will ich das natürlich 
favorisieren- Das Chipangebot für QPSK und 8PSK ist aber mehr als 
dürftig.

Es gibt lediglich Chips für IoT, die Offset - QPSK (kurz O-QPSK) können.

Jetzt ist die Frage können ein O-QPSK-Sender mit einem QPSK-Empfänger 
(Satreceiver) kommunizieren und wenn nein was müsste sendeseitig 
passieren damit es geht.

von Georg A. (georga)


Lesenswert?

Uwe K. schrieb:
> Jetzt ist die Frage können ein O-QPSK-Sender mit einem QPSK-Empfänger
> (Satreceiver) kommunizieren und wenn nein was müsste sendeseitig
> passieren damit es geht.

Nein und du musst den GANZEN Stack, der in der S2-Spec steht, nachbauen. 
Die Modulation an sich ist das Kleinste. Vorher gibts u.a. noch den 
ganzen Fehlerschutzkram (LDPC, BCH) und das Interleaving/Scrambling und 
Multiplexing der BB/PL-Frames.

Ich glaube, dass dir da noch ein paar Grundlagen fehlen... Lad dir bei 
etsi.org die EN302307 runter und versuche zu verstehen, was da so 
abgeht.

Oder du fängst deutlich kleiner erstmal mit DVB-S an (ETS300421). Das 
ist schön überschaubar (hat nicht soviele 
Parametrisierungsmöglichkeiten) und lässt sich als C-Modell bequem in 
<500 Zeilen machen. S2 sind bei mir schon fast 3000.

von Uwe K. (pidhunter)


Lesenswert?

Den S2 Stack will ich im PC zusammenbauen, also ein 
Software-Sat/Richtfunk-Modem für Echtzeit-Linux mit der zeitkritischen 
Komponente als Hardware und das möglichst preiswert.

Die komplexen Sachen im PC rechnen und das packen auf dem Controller, 
vielleicht ein schnelles uC-Board für unter 100€ mit Ether, Touchscreen 
und USB

Den MPEG4-Kram habe ich im groben verstanden.

Der Plan ist folgender, um das Henne-Ei-Problem der ersten stabilen 
Verbindung zu lösen baue mir mit einen Videoschnittprogramm aus einen 
Testbild einen MPEG4_Stream und verhackstücke den Stream mit C so daß 
ich einen TS mit diesem Testbild erhalte und ein paar Minuten Länge habe 
und mit SI-Daten (PMT,PCR usw ) fülle und allen mit allem was ich sonst 
noch übertragen will.

Dann mache ich Sendersuchlauf und versuche den Sender zu finden. Der 
Rest ist dann Schritt für Schritt mit einer S2-Satkarte aufzuklären.

Die Frage ist reicht USB oder wäre gepuffertes Ethernet besser. Da gibt 
es zum Raspberry schnelle Alternativen. Die komerziellen Encoder kochen 
auch nur mit Wasser und haben 200Mhz Takt an einem RISC-Prozessor und 
paar ASIC's die ich aber in Software nachbilden will - sofern es nichts 
zu kaufen gibt.

Da ja Nullpakete im TS empfangsseitig eh gelöscht werden kann man nach 
dem Booten des Comntrollers erstmal einige Nullpakete mit einem 
Stuffingbitzähler ausgeben bis der Sendepuffer voll ist, dann den 
Controller starten damit auch der Empfänger erstmal den Takt 
regenerieren kann und dann die Startflags und die SI-Daten einlesen 
kann.

Ich habe für den Anfang einen Chip gefunden der wenigstens erst mal QPSK 
kann, ist noch nicht 8PSK, aber würde der S2-Receiver auch dekodieren 
können.

Das Problem ist den Duplexer hf-technisch hinzubekommen und eben 8psk zu 
erzeugen.

https://datasheets.maximintegrated.com/en/ds/MAX2361-MAX2365.pdf

Den Quartz und die Filter müsste ich etwas reduzieren.

Das richtige Tria zum Richtfunktest wäre das Andrew XR1326.

Da feuchtes Holz als Tiefpass Mikrowellen breitbandig dämpft baue ich 
eine geschirmte Teststrecke (Dachrinnen-Rohr) mit (unbenutztem) aber 
angefeuchtetes Holz-Katzenstreu, verpackt in Müllbeuteln als 14/25GHz 
Dummyload und dann am anderen Ende ein Ka-Band SAT-LNB als Empfänger.

http://www.satsig.net/tria/andrew-transceiver-XR1316-XR1326-data-sheet.pdf

: Bearbeitet durch User
von Georg A. (georga)


Lesenswert?

Uwe K. schrieb:
> Der Plan ist folgender,

Viel zuviele Fallstricke. Da gibts keinerlei Möglichkeit, einen Fehler 
einzukreisen. Du machst dir IMO schon Gedanken "zu weit oben"...

Du musst es erstmal schaffen, dass ein S2-Tuner einen Lock bekommt. Da 
ist der ganze TS/SI-Kram völlig egal. Für einen Lock ist erstmal der 
PL-Frame mit seinem Header wichtig und das korrekte Scrambling des 
ganzen PL-Frames. Vom Timing mal abgesehen ;)

Und dazu nimmt man keinen vollständigen Receiver (und schon gar nichts 
mit LNB), wo man nix sehen kann, sondern einen möglichst low-levelige 
Methode, zB. PCIe-DVBS2-Karte unter Linux. Da reicht dann schon der 
Frontend-Status.

Besonders realtimig muss das Processing nicht sein, solange ein 
kontinierlicher Symbolstrom rauskommt. D.h. die HW muss möglichst viele 
PL-Frames zB. schon gleich als IQ-Daten puffern können und evtl. einen 
festen (vorberechneten) Dummy-PL-Frame im Falle eines Puffer-Unterlaufs 
haben. Wie die Daten in den Puffer kommen, ist dann eher uninteressant. 
Ein (kleines) FPGA mit etwas Speicher würde da schon reichen, das kann 
dann noch so nebenbei den nötigen Rolloff-Filter machen, sonst würde die 
Datenrate zur Übertragung schon arg hoch.

von FlorenzW (Gast)


Lesenswert?

Wirf mal einen Blick in die GnuRadio/SDR-Ecke. Da tut sich was in dieser 
Richtung.

von Uwe K. (pidhunter)


Angehängte Dateien:

Lesenswert?

(georga)

Ja das ist alles richtig - soviel in Hardware erledigen was geht.

Genau an dem Punkt sehe auch nicht das Atmel da wirklich eine stimmige 
Lösung hat, ABER ich habe was bei Maxim gefunden, was ziemlich komplett 
aussieht.

Hier meine erste Recherche zwecks Beschaffung. Die Eval-Kits sind toll. 
aber auch der Preis zum toll werden.

Ich konnte noch kein Kriterium finden, was die Sendemodulation auf QPSK 
einschränkt. Das heist auch die Variante 1 müsste wenn die richtigen 
IQ-Werte zum DAC gesendet werden ein 8PSK-Signale raushauen können.

Als Designansatz kann man ja die Außenbeschaltung der Eval-Kits nutzen. 
Die Aufgabe hat sich jetzt darauf reduziert am MAX19517 die Daten 
abzuholen und zum Linux zu schaffen und die Sendedaten von Linux zum 
MAX5854 zu schaffen also ein schneller FIFO für jede Seite und ein 
Ethernetport für jede Seite.

Bei 22 MS sind 10 TV_Sender in 720p SD MPG2 und mindestens noch 20 
Radiosender mit 256kbit mit QPSK möglich, wenn ein statistischer 
Ttransrater zum Einsatz kommt.

Bei 8psk 720p SD MPG4 wäre mehr als doppelt so viel. Das wäre die 
Obergrenze, was es leisten soll.

Das heißt 88Mbit Brutto / 10 Slots a 8Mbit für je einen TV-Sender und je 
2 Radios. Bei 8psk brauche ich einen Takt vom 1Mhz und 2x4 Bit IQ-Daten. 
Das heisst ein programmierbarer Logikchip (Flash) mit den richtigen 
DAC-IQ-Werten für ein Adresswort aus 3 bit und paar unkritische GPIO's 
für die Fifo-Steuerung und Konfiguration.

Da wäre der kleine AL440B-24 mit 40Mhz ausreichend.
http://www.averlogic.com/pdf/AL440B_Flyer.pdf

DVB-S2-EMPFÄNGER
=============
Sat-ZF-Tuner 925-2175MHz
https://www.digikey.com/products/en/rf-if-and-rfid/rf-evaluation-and-development-kits-boards/859?k
MAX2112EVKIT+-ND $453.20
https://www.digikey.com/product-detail/en/maxim-integrated/MAX2112ETI/MAX2112ETI-ND/2349347
MAX2112ETI+-ND $8.39

Sat-ZF-IQ-Demodulator (130MSPS) - schwer beschaffbar !!!
https://www.digikey.com/products/en/development-boards-kits-programmers/evaluation-boards-analog-to-digital-converters-adcs/791?k=max19517
MAX19517EVKIT+-ND $236.25
https://www.digikey.com/product-detail/en/maxim-integrated/MAX19517ETM/MAX19517ETM-ND/2044671
MAX19517ETM+-ND $17.84 (n.a.)
https://www.avnet.com/shop/SearchDisplay?searchTerm=MAX19517&storeId=10151&catalogId=10001&countryId=emea&deflangId=-1&CMP=EU-DE-FARNELL-ZERO-CROSS-SELL
MAX19517ETM+  €24,29 (n.a. 8 Wochen)
https://www.mouser.de/Semiconductors/Data-Converter-ICs/Analog-to-Digital-Converters-ADC/_/N-4c43g?Keyword=MAX19517&FS=True
MAX19517ETM+ 25,86 € (41 auf Lager)


DVB-S2-SENDER
==========

Sende-DAC Variante 1
https://www.digikey.com/product-detail/en/maxim-integrated/MAX5854ETL/MAX5854ETL-ND/1779425
kein Eval-kit vorhanden
MAX5854ETL+T-ND $13.06

Sende-DAC Variante 2
https://www.digikey.com/products/en/development-boards-kits-programmers/evaluation-boards-digital-to-analog-converters-dacs/793?k=MAX5855
MAX5855EVKIT#-ND $651.38
https://www.digikey.com/product-detail/en/maxim-integrated/MAX5855EXE/MAX5855EXE-ND/9738619
MAX5855EXE+-ND $120.60

Sende - IQ-Modulator
https://www.digikey.com/products/en/rf-if-and-rfid/rf-evaluation-and-development-kits-boards/859?k=
MAX2150EVKIT+-ND - $453.20
https://www.digikey.com/product-detail/en/maxim-integrated/MAX2150ETI/MAX2150ETI-ND/2349351
MAX2150ETI+-ND $18.25

Linear Breitband Verstärker
https://www.digikey.com/products/en/rf-if-and-rfid/rf-evaluation-and-development-kits-boards/859?k=MAX2612
MAX2612EVKIT - $93.75
https://datasheets.maximintegrated.com/en/ds/MAX2612-MAX2616.pdf
MAX2612ETA $3.08

: Bearbeitet durch User
von Georg A. (georga)


Lesenswert?

Uwe K. schrieb:
> Bei 8psk brauche ich einen Takt vom 1Mhz und 2x4 Bit IQ-Daten.

1? Und auf welcher Seite rechnest du das? Wenn es Symbole sind, dann 
reichen 3Bit aus, aber eben mit der Symbolrate. Bei sagen wir mal max. 
30MHz also überschaubare 12MByte/s. Für echte IQ-Werte für den DAC 
willst du allein schon wg. dem Rolloff-Filter mindestens 2*(6-8)Bit und 
4fach-Oversampling. Gibt dann schon so nette 240MByte/s im Maximum.

Ich habe immer noch leichte Verständnisprobleme, was a) bei dir den 
ganzen DVB-S2 Layer mit FEC&Co macht (Eigenbau, Gnuradio, ...) und b) wo 
und wie die Schnittstelle zur "echten" HW ist und was die dann vor dem 
DAC und Upmixer noch machen muss. Was fertiges gibts da nicht, das macht 
heute jeder im FPGA selbst. So gross ist der Markt für Sat-Uplinks auch 
nicht...

Dann verstehe ich auch nicht, warum du den Empfangszweig auch selbst 
machen willst. Zum einen ist die S2-Demodulation um Grössenordnungen 
komplexer, dh. einen Erkenntnisgewinn zum Sendesignal gibts da wohl 
nicht. Dann kostet der schnelle ADC-Kram (gerade von Maxim) arg viel 
Geld, deutlich teurer als ein kompleter Demod "in der Blechbüchse" 
(NIM). Du brauchst eher einen "Referenz"-Demodulator, aber eben recht 
low-levelig zugreifbar.

von Uwe K. (pidhunter)


Lesenswert?

Es gibt ein Fertigmodul DVB-S2 für digitales ATV. Kosten habe ich 
angefragt.

http://afu-varel.dast.net/d-atv/

von Georg A. (georga)


Lesenswert?

Uwe K. schrieb:
> Es gibt ein Fertigmodul DVB-S2 für digitales ATV

Ja, der Herr Reimann ;) Kenne ich... Der (und HB9JNX aus dem 
BayCom-Dunstkreis) haben schon 2002 den DVB-S-Encoder für ATV 
entwickelt.

Aber die Frage ist eben, willst du was selber machen oder selber machen 
lassen?

von Uwe K. (pidhunter)


Lesenswert?

(georga)

Er hat nur gestern abend geschrieben, daß er die Firma geschlossen hat 
und auch keine Platinen mehr macht und auch keine Ersatzteile mehr hat. 
Schade - das Teil sah recht vielversprechend aus und die Firma war recht 
gut ausgestattet.

Ich kann jetzt noch die D-ATV-Szene abgrasen, aber da ist das Problem, 
daß die Platinen sich nicht immer an den DVB-Standard halten und eben 
hamlike auch mal eine halbrussische Lösung einbauen.

Mich hat auch schon ein Chinese angeschrieben, der uns Platinen 
erstellen würde. Die Platinenerstellung sehe ich als Randproblem. Ein 
"Schlüssellochfön" ist da, also reicht für den Musterbau ein "reflow by 
handmade without stencil".

Wie man an der Preisliste sieht sind die Eval-Platinen recht 
kostenintensiv für einen bloßen Test - deswegen versuche ich einen 
Mittelweg - die Chips besorgen und die Außenbeschaltung nur wenn nötig 
ändern und alles kompakt auf zwei Platinen - sonst eben 
Testpunkte/Abgriffe auf der Platine vorsehen.

Empfangsseitig will ich weitgehend auf käufliche/vorhandene Receiver 
setzen, also ab ODU-Signal bis LNB-ZF muss ich das Signal aufbereiten, 
dann F-Stecker und ASI-Ausgang vorsehen damit Kabelkopfstationen damit 
arbeiten können.

Den Post mit dem Oversampling hab ich nicht so recht einordnen können, 
weil das macht doch der MAX5854 / MAX19517 intern mit dem 130MHz FClock 
oder habe ich da was überlesen. Ich bin mit dem Durcharbeiten der PDF 
noch nicht ganz durch.

Wenn etwas chip-intern hinreichend geklärt werden kann, dann so viel 
Probleme damit erschlagen wie möglich, aber ein BGA Gehäuse erfordert 
6/8-fach-Multilayer und das kann ich mit meiner Technik nicht 
verarbeiten, also fällt Variante 2 schon wegen BGA-Gehäuse und Preis 
raus.

Im EHF-Bereich ist BGA sowieso schlecht, weil unter Chip Massefläche mit 
Chip-Kondensatoren und mit einer Ground-VIA-Matrix gebraucht wird damit 
nichts einstreut und alles störende gleich abgeleitet werden kann.

Ich bin noch der Ansicht, daß die MAX5854 / MAX19517 bei entsprechender 
Vorgabe aus der Baseband-Signalaufbereitung 8PSK erzeugen/verarbeiten 
können und wenn es die favorisierte Lösung bereits kann, dann sehe ich 
keinen Grund alles diskret mit Filtern und Temperaturdrift- und 
Abgleichrisiken aufzubauen, wenn die Direktsignalerzeugung mit ein paar 
Abstrichen auch ganz gut gehen soll laut Maxim.

Ich muss mich jetzt drum kümmern wie die "Digital-Baseband Mod und 
Demod" hinzubekommen ist und wie ich die Daten schnell rüberkriege. Ich 
überlege gerade eine Festplatte zu emulieren und einen SATA/IDE-Adapter 
als Zuspielmedium zu mißbrauchen, denn unter Linux brauche ich dann nur 
in das eine FIFO-File schreiben und aus dem anderen FIFO-File lesen. Ich 
will ja am Ende einen Kerneltreiber bauen, der so tut als wäre er eine 
Festplatte.

von Georg A. (georga)


Lesenswert?

Uwe K. schrieb:
> Empfangsseitig will ich weitgehend auf käufliche/vorhandene Receiver
> setzen, also ab ODU-Signal bis LNB-ZF muss ich das Signal aufbereiten,
> dann F-Stecker und ASI-Ausgang vorsehen damit Kabelkopfstationen damit
> arbeiten können.

Sag ich ja gar nichts dagegen. Aber wenn du selbst alles aufbaust, 
brauchst du für die Entwicklung was, wo man tiefer reingucken kann.

> Den Post mit dem Oversampling hab ich nicht so recht einordnen können,
> weil das macht doch der MAX5854 / MAX19517 intern mit dem 130MHz FClock
> oder habe ich da was überlesen. Ich bin mit dem Durcharbeiten der PDF
> noch nicht ganz durch.

Der MAX5854 ist ein normaler DAC ohne DSP-Funktionen. Es gibt DACs (zB. 
AD9861), die Interpolation können, damit das Ausgangsfilter einfach sein 
kann. Aber das hilft dir auch noch nicht recht viel, du brauchst für ein 
normgemässes (und nebenaussendungsfreies...) Signal eigentlich ein 
Roll-off-Filter. Und dazu musst du dann auch am DAC-Eingang mit einem 
Mehrfachen der eigentlichen Symbolrate arbeiten. Aufwendig muss der 
Filter nicht sein, das lässt sich auch mit vorberechneten Tabellen und 
einer simplen History der letzten Symbole lösen.

Ich weiss auch immer noch nicht, wofür du den ADC MAX19517 brauchen 
willst.

> Ich muss mich jetzt drum kümmern wie die "Digital-Baseband Mod und
> Demod" hinzubekommen ist und wie ich die Daten schnell rüberkriege. Ich
> überlege gerade eine Festplatte zu emulieren und einen SATA/IDE-Adapter
> als Zuspielmedium zu mißbrauchen, denn unter Linux brauche ich dann nur
> in das eine FIFO-File schreiben und aus dem anderen FIFO-File lesen. Ich
> will ja am Ende einen Kerneltreiber bauen, der so tut als wäre er eine
> Festplatte.

Klingt mir alles sehr sehr komisch. Da reicht ein simples Char-Device 
aus. Und wenn du zB. nur die Symbole über USB2 und irgendein üblichen 
Chip überträgst (und ein FPGA das Symbolmapping+Oversampling macht), 
brauchst du nichtmal einen Treiber, da reicht libusb.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.