Hallo, ich habe seit knapp 2 Wochen nun mein Spartan 3E Board und wollte darauf nun mal versuchen ein Software Defined Radio (SDR) zu implementieren. Ich stehe was SDR betrifft noch ganz am Anfang. VHDL habe ich 2 Semester an der Hochschule gehabt und befasse mich auch privat ab und zu mal damit. Jetzt würde ich mal gerne wissen, ob noch jemand Interesse hat ein SDR auf obengenanntem Board zu implementieren. Zunächst strebe ich nur mal den Empfang von DRM an, damit man auch etwas zum Vorführen hat. Hardwaremäßig ist auf dem Board ja einiges da, nur den HF-Teil müsste man noch dazu entwickeln und einen Softwareteil für den PC.
Wikipedia ist dein Freund.. DRM ist digitales Radio auf Kurzwelle SDR ist software defined radio Grundsätzlich ein sehr interessantes Projekt, aber ein DRM Empfänger wird ziemlich aufwendig im Digitalteil (COFDM Empfänger mit allem Schnick-Schnack). Da bräuchte man ein etwas groesseres Team um in absehbarer Zeit zum Erfolg zu kommen. Mich würde das interessieren, allerdings nur als Stand-Alone Version ohne PC. Mit dem PC kann man (ich) ja heute schon mit SW-Empfängern und einem KW-Radio über die Soundkarte DRM empfangen.
Das ist ein anspruchsvolles Projekt. Habt Ihr mal beim GNU Radio Projekt nachgesehen: http://www.gnu.org/software/gnuradio/ Da steht das an DRM gearbeitet wird und vielleicht hilft die Hardware (A/D Karten) auch.
Ob DRM am Anfang sinnvoll ist, weiß ich nicht, für was leichteres bin ich auch zu haben. Vorschläge bitte! Genauso wenig wie ich jetzt schon abschätzen kann ob man das komplett als Stand-Alone Gerät auf dem Board hinbekommt, als Endziel wäre das natürlich sicherlich denkbar. Also ich dachte man geht da mal Schritt für Schritt ran. Das ganze soll ein Einstieg in SDR sein und eine Auffrischung für VHDL. A/D- und D/A-Wandler hat das Board ja. @SuperUser: Hast Du schon mal ein SDR gemacht? @Günther: Danke das Projekt ist bekannt. Welche Hardware meinst Du? Hast du einen Link dazu?
@tom Sorry, ich kannte dein Board nicht genau und wusste nicht das es schon A/D und D/A Wandler hat. Ich dachte daran von GNU radio die Wandler zu nutzen.
Ich habe gerade gelesen, dass FM bzw. UKW-Empfang mit einem SDR auch möglich sein soll, stimmt das? Das wäre dann für den Einstieg sicher einfacher als gleich mit DRM zu starten?
> Ich habe gerade gelesen, dass FM bzw. UKW-Empfang mit einem SDR auch > möglich sein soll, stimmt das? Das wäre dann für den Einstieg sicher > einfacher als gleich mit DRM zu starten? Auf jeden Fall einfacher. Schau dir mal den folgenden Link an: http://andraka.com/shortwave.htm Da hat einer einen Kurzwellenempfänger in einen Spartan II gebaut. Das interessante daran ist natürlich, dass du erst mal den Empfänger für dein DRM hast ;) Aber mal eine Frage um zu verstehen was du genau machen willst. Unter den Begriff SDR verstehe ich eine Software die auf einen Prozessor läuft. Ist das was du dir vorstellst mit dem FPGA oder möchtest du den Empfänger direkt in VHDL implementieren? So einfach der Empfänger von Andraka aussieht, ich sehe trotzdem einigen Aufwand für die Implementierung, außer du hast genug Ressourcen und machst das in floating-point. Normalerweise wird das in fixed-point Notation gemacht und da musst du einigen Aufwand rein stecken um Überläufe zu vermeiden, bzw. zu entscheiden wann du zurückskalieren kannst ohne die Qualität des Algorithmus zu beeinträchtigen.
Hi Tom, ja so etwa habe ich auch vor. Es ist aber ein sehr umfangreiches Projekt. Aber man hat danach viele Themengebiete der digitalen Signalverarbeitung angeschnitten und seinen Horizont erweitert. Ein SDR setzt sich aus verschiedenen Komponenten zusammen, FIR, CIC Filter, NCO, Mixer, Demodulatoren und und und. Es gibt im Interent (Xilinx ???) irgendwo ein PDF, welches den Entwurf eines SDR anhand von Core-Generator Modulen erläutert. Man könnte die einzelnen Module von Hand programmieren um einen wirklichen Einblick in der digitalen Signalverabeitung zu bekommen. Es reicht alles in fixed-point zu kodieren. Nachdem du ein Konzept darüber erstellt was genau du haben möchtest, könnte man mit dem "digitalen Front-End" beginnen. d.h. einen digitalen Mischer (Multiplizierer, NCO) mit anschließender sample-rate Reduzierung (durch CIC und oder FIR-Filter). Damit ist man erst mal beschäftigt. Danach hat man eine gute Basis verschiedene Demodulierungsverfahren zu implementieren. Viel Spass Stefan
Hi, hier gibt es einiges zu lesen: http://www.xilinx.com/support/documentation/application_notes/xapp1018.pdf Stefan
Einfache Anwendungen im Hobbybereich auf XC2S.. oder XC3S.. würden mich auch interessiern.Bin aber absoluter Anfänger. Bis jetzt läuft nur ein Zähler bis 0.2/50 Mhz und fast keine Programmierkenntnisse. Bei Interesse an Erfahrungsaustausch bitte mal kurze Email. mfg...
@Günter: Also mein Gedanke war eigentlich folgender, ich habe da jetzt ein Spartan 3E-Board das schon sehr viel Peripherie hat, 2 A/D-, 4 D/A-Wandler, 1 LCD, 8 LED's, 4 Tasten, 4 Schiebeschalter,1 Ethernet,1 USB,1 VGA,1 Drehtaster,1 RS232, SRAM, dieses wollte ich jetzt mal in einem größeren Projekt nutzen (Ampelsimulationen werden sehr schnell langweilig ;-). Ich bin dann auf die Idee gekommen, ein SDR zu bauen (angeregt durch Elektor, CCZwei, Herr Kainka), also die Berechnungen die der PC macht auf das Board zu verlagern und erst dann im PC zu verarbeiten wenn auf dem Board keine andere Möglichkeit mehr besteht, wenn möglich vielleicht auch eine stand-alone Sache daraus zu machen. Allerding muss ich sagen steh ich was SDR angeht erst am Anfang. Ob dann zum Schluß DRM aus dem Lautsprecher kommt oder ob ich nur das DCF77-Signal dekodiert habe ist offen, ich will die Details verstanden haben und nicht nur das grobe Prinzip. Die ganze Sache ist rein hobbymäßig und nicht kommerziell oder so. @Stefan Dk Dein Ansatz/ Vorschlag ist schon mal interessant. Welches Board benutzt du, auch das Spartan 3E-Board Rev.D von Xilinx? Was hast Du dir zum Ziel gesetzt zu dekodieren?
@sr2: ohne Angabe einer E-Mail-Adresse kann man dich schlecht per E-Mail anschreiben ;-)
Hallo Tom, ich besitze auch das Spartan 3E Board, daneben benutze ich noch ein Altera DE1 mit dem CyclonII. Jedoch will ich nicht das komplette SDR selbst kodieren. Ich werde den AD6620 von Analog verwenden. Dies ist ein digital down converter (DDC). Es brauchen nur noch ein paar Parameter übertragen werden und fertig ist das "digitale Front end". Dazu kommt noch ein schneller ADC mit etwa 50MHz. Trotzdem brauche ich auf dem FPGA noch viele Blöcke (FIR, NCO) für die weitere Verarbeitung der I/Q-Daten vom AD6620. Im Grunde läuft es bei mir auf einen Amplituden und Phasendemodulator hinaus. Für den Anfang rate ich dir (aus Erfahrung ;-) fange erstmal mit einem FIR-Filter oder einen NCO an. Dies sind grundlegende Blöcke im SDR Design. Vielleicht noch eine Datenanbindung zum PC. Darauf kannst du super aufbauen! Stefan
Hallo Tom Ich hab hier auch ein "Spartan 3E Starter Board" rumliegen und hab mir auch schon Gedanken gemacht, damit einen SDR Empfänger zu bauen, ähnlich den USRP von "GNU Radio". Übrigens gibt es dort Pläne, im Nachfolger von USRP, dem USRP2, auch einen Spartan FPGA zu verwenden und die Schnittstelle zum PC über Ethernet zu machen. Zum Einstieg in SDR hab ich mir jetzt erst mal den ElektorSDR Empfänger gekauft. Der funktioniert gut, aber Ziel des Spartan Projekts wäre, nicht über die Soundkarte zu gehen, sondern mit dem ADC auf dem Xilinx Board eine höhere Abtastrate und damit Bandbreite zu erreichen, und dann mit möglichst hoher Abtastrate in den PC zu gehen, und möglichst viel in Software zu rechnen. Natürlich kann man auch, wenn es damit Geschwindigkeits-Probleme gibt, einen DDC im FPGA programmieren. Bzgl HF-Teil hab ich an einen TV-Tuner gedacht. Damit kann man Frequenzen von etwa 40 MHz bis ca 800 MHz runtermischen. Viele TV-Tuner haben ein I2C Interface und können damit digital angesteuert werden. TV-Tuner haben überlicherweise eine Bandbreite von ca 6 MHz. Falls du in der Richtung etwas entwickelst, würde mich das sehr interessieren. Ich selbst werde aber wahrscheinlich aus Zeit-Gründen nicht dazu kommen. Wahrscheinlich spar ich dann doch auf ein USRP Board. Hier mal die technischen Daten zum "Spartan 3E Starter Board": * LTC1407A-1 dual ADC: 3Msps, 14 bit * LTC2624 Quad DAC * Spartan 3E XC3S500E-4FG320C * Ethernet 10/100 Phy Viele Grüße Chris GNU Radio USRP: <http://article.gmane.org/gmane.comp.gnu.radio.general/12329/match=usrp2> USRP Hersteller: <http://www.ettus.com/> Info zum USRP2: <http://article.gmane.org/gmane.comp.gnu.radio.general/12329/match=usrp2> Elektor SDR: <http://b-kainka.de/sdrusb.html> Spartan 3E Starter Board: <http://www.xilinx.com/products/devkits/HW-SPAR3E-SK-US-G.htm> <http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf> ADC auf dem Starter Board: <http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1155,C1001,C1150,P2484,D2198> Das Spartan 3E Starter Board kann man privat am einfachsten bei Trenz-Electronic kaufen. 135 Euro. <http://shop.trenz-electronic.de/catalog/product_info.php?products_id=92>
Hier gibts ein SDR mit 14Bit 80MS/s ADC (LTC2206) und Spartan XC3S250E zu kaufen: http://www.ssb.de/amateur/products/perseus/perseus.shtml Wird auch im Dezemberheft des "Funkamateur" besprochen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.