Hi, Ich bin gerade dabei einen DVB-C Sender zu programmieren. Das Konzept welches dahinter steckt ist das Software defined Radio. Als Hardware Sender nehme ich den BladeRF von Nuand. Was mir fehlt für den DVB-C Sender ist der in der Spezifikation geforderte square-root raised cosine Filter mit Alpha von 0.15. Was ich jetzt schon heraus gefunden habe ist das der Filter als FIR in Software realisiert werden kann. Was mir aber jetzt noch fehlt wie kann ich die Werte berechnen für den FIR-Filter oder kennt jemand ein Programm das mir die Werte berechnen kann. Wenn der DvB-C Sender funktioniert, will den Sender erweitern das ich ein DVB-T kompatibles Sender daraus entwickelt. Gruß Marco
:
Verschoben durch Moderator
@Modaratoren Könnt ihr den Thread in das Forum DSP verschieben. Da ist es besser aufgehoben.
Marco S. schrieb: > Was mir aber jetzt noch fehlt wie kann > ich die Werte berechnen für den FIR-Filter oder kennt jemand ein > Programm das mir die Werte berechnen kann. z.B: Matlab: http://www.mathworks.de/de/help/signal/ref/firrcos.html Vermutlich geht es mit Scilab auch irgendwie.
Das kannst Du Dir doch im FPGA hinprogrammieren. Einen COS aus der DDS und der Rest aus COREs. Wenn Du nur eine kleines Fenster mit wenigen Punkten brauchst, sagen wir 256 abwärts, würde ich es in eine Tabelle machen.
Hi, Das ist eine gut Idee hat aber einen Hacken, ich kann keine FPGA programmieren. Das alles zur selben Zeit statt findet, sorgt bei mir für ein Knoten im Gehirn. Ich bleib lieber bei der Softwareprogrammierung und über lasse anderen Leuten die FPGAs. Die Software Scilab schau ich mir mal an, da ich kein zugriff auf Matlab habe.
Ups ich sehe gerade, dass die Frage im DSP-Forum steht. Irgendwie dachte ich , es bezöge sich auf FPGAs. Ich würde es aber genau deshalb, wenn Du es in SW machen willst, als Tabelle berechnen und hinterlegen. Die Werte kriegst du auch noch mit einem Excel-Sheet hin.
Das macht doch nix wenn man mal das Forum verwechselt. Wir sind alle auch nur Menschen. Das mit dem vorgerechnete Tabelle als Filter verstehe ich gerade nicht. Wird die Tabelle nicht sehr speichplatzintensiv? z.b bei einem 8Bit-Breiten Filter mit 4 Stufen benötige ich doch schon 4Gbyte Speicherplatz für die Tabelle. Aber wahrscheinlich gibt es ein Trick oder einen anderen Weg um den Speicherplatz Bedarf deutlich zu senken. Gruß Marco
Bei QPSK geht das mit den Tabellen bequem, gibt ja nicht soviel Wertmöglichkeiten in den z-Stufen. Bei QAM wirds aber wirklich schnell unhandlich... Das angehängte Script läuft unter rohem octave (octave starten, 'source "rrc.m"') und produziert ein paar Koeffizienten. Müsste schon passen, habs aber auch nur früher mal so aus Internetquellen zusammengeschustert, bin nicht so der Matlab/octave-Experte ;) BTW: Da die Koeffizienten symmetrisch zur Mitte sind, kann man sich die Hälfte der Multiplikationen sparen und durch passende Delaylines ersetzen.
Hi Georg, Danke für das Script. Ich werd es mir heute Abend mal ausprobieren Ich kenne mich mit matlab, Oktave garnicht aus. Aber schon mal danke. Beim Überfliegern ist mir noch die Variable Beta auf gefallen, was bewirkt diese Variable? Gruß marco
http://www.mikrocontroller.net/articles/Digitalfilter_mit_ATmega#Frequenzgang_ma.C3.9Fgeschneidert Ich habe prony und FDLS noch nicht ausprobiert, aber das könnten Wege sein, beliebige Filterverläufe zu erhalten. Man gibt den gewünschten Frequenzgang oder die Impulsantwort als Tabelle vor.
Beta ist der Rolloff, DVB-S hat da 0.35, C AFAIR 0.15.
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.