Forum: Digitale Signalverarbeitung / DSP / Machine Learning square-root raised cosine Filter berechnen


von Marco S. (masterof)


Lesenswert?

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
von Marco S. (masterof)


Lesenswert?

@Modaratoren

Könnt ihr den Thread in das Forum DSP verschieben. Da ist es besser 
aufgehoben.

von Johannes E. (cpt_nemo)


Lesenswert?

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.

von J. S. (engineer) Benutzerseite


Lesenswert?

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.

von Marco S. (masterof)


Lesenswert?

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.

von J. S. (engineer) Benutzerseite


Lesenswert?

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.

von Marco S. (masterof)


Lesenswert?

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

von Georg A. (georga)


Angehängte Dateien:

Lesenswert?

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.

von Marco S. (masterof)


Lesenswert?

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

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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.

von Georg A. (georga)


Lesenswert?

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
Noch kein Account? Hier anmelden.