Forum: Digitale Signalverarbeitung / DSP / Machine Learning All Digital PLL in Simulink (Schwierigkeiten bei Filterparametrierung)


von Stephan K. (Firma: FAU Erlangen) (sofa1780)


Angehängte Dateien:

Lesenswert?

Abend Ihr lieben! :)

Ich sitze im Moment an einer ADPLL (All Digital Phase Locked Loop).
Diese soll später auf einem FPGA laufen, um mir Arbeit zu sparen habe 
ich diese jedoch in Simulink so entworfen, dass ich sie später über den 
HDL-Coder von MatLab/Simulink  compilieren kann.
Dies - so dachte ich - erspart mir wenigstens Zeit zum parametrieren und 
Simulieren. Das war vor 2 Tagen..

Es funktionieren eigentlich alle Blöcke einwandfrei, bis auf der PI 
Regler.
Ein einfacher Proportional-Regler (im Simulink Modell "ADPLL_HDL" zu 
Simulationszwecken noch mit einem Manuellen Schalter angeschlossen) 
funktioniert wie es sich gehört, ist nur wenig stationär genau.

So wollte ich mal meine Frage hier im Formum teilen, nachdem ich im 
offiziellen MatLab-Forum 
(https://de.mathworks.com/matlabcentral/answers/359731-setting-the-right-control-parameter-for-an-all-digital-pll) 
noch auf keien Hilfe gestoßen bin.

Das angehängte param.m Skript berechnet und initialisiert die Parameter, 
auch die für die Filterkoeffizienten und öffnet das Modell.

Habe ich eventuell einen Fehler in der Berechnung, sodass meine 
berechneten Koeffizienten für dene PI-Regler schwachsinnig sind?


Bis dahin und einen guten Start ins Wochenende.

von Stephan K. (Firma: FAU Erlangen) (sofa1780)


Lesenswert?

Okay, also nachdem ich nun einmal die Filter miteinander verglichen habe 
scheint es wohl wie so oft an der diskretisierung der Koeffizienten zu 
liegen.

Kennt jemand sich mit dem fixed point tool in Matlab, im Speziellen dem 
vom Filter designer aus??

von T.U.Darmstadt (Gast)


Lesenswert?

Ja, bedingt. Was wäre denn die Frage?

Hast Du Dein Matlabmodell am Laufen?

Wir bauen das in Simulink bitgenua nach und prüfen dann Quer, also die 
Differenz zwischen Real und Int-Rechnung. Gfs kannst du den Filter auch 
genau dahingehend isoliert simulieren.

Kann auch noch sein, dass dann das eine oder andere Delay nicht passt.

von Stephan K. (Firma: FAU Erlangen) (sofa1780)


Lesenswert?

Naja, ich habe die Matlab Filter-design-toolbox verwendet und in dieser 
kann man den Filter gleich diskretisieren. Da wird einem das Verhalten 
des diskreten Filters ja schon im Vergleich zum idealen Filter 
dargestellt. Wenn ich nun den diskretisierten Filter im modell 
vergleiche verhält dieser sich so garnicht merh gleich.

von T.U.Darmstadt (Gast)


Lesenswert?

Dann sollten es aber keine Rundungen sein, oder aber die schematisierte 
Darstellung ist nicht gleich. Hast du den Filter mal durchgefahren? Es 
müsste sich eigentlich zeigen, ob da was ist.

von Stephan K. (Firma: FAU Erlangen) (sofa1780)


Lesenswert?

Gute Idee!

Wollte ich grade machen, hab mir zuvor jedoch mal den Filter aus 
Basisblöcken erstellen lassen um die internen Signale verfolgen zu 
können.. es hat sich raus gestellt, dass Filterinternen Wortlängen für 
die einzelnen Zustände zu klein für den darstellbaren Wertebereich 
waren.

Angepasst... und er arbeitet. :)

Nun funktioniert meine ADPLL leider immer noch nicht, arbeite mich 
jedoch weiter in die Literatur ein. Kann ja kein Hexenwerk sein, nen 
geeignetes Schleifenfilter für den Phasen Frequenz Detektor zu 
berechnen..^^

Verstehe wohl nicht, wieso das nicht nach Anleitung funktioniert.. hatte 
alles so umgesetzt wie zuvor recherchiert und gelesen.

Danke für das Feedback Thomas! ;)

: Bearbeitet durch User
von Pandur S. (jetztnicht)


Lesenswert?

Du musst die Parameter eh zur Laufzeit aendern koennen ...

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.