Rechteck mit DPW-Algorithmus

OP #2538637
Lesenswert?
• ▲
▼
Hallo Leute,

ich habe das Problem das ich bei der folgend geschilderten Methode einen 
Rechteck zu erzeugen versuche, dieser aber alles andere als eine 
Aliasingreduzierte Pulswelle ist.

Wie nach DPW wird erstens der Modulo-Counter qudriert und der alte Wert 
vom neuen abgezogen. Danach wird durch "c" verstärkt (c=fs/(4f)).
Ich erzeuge halt zwei Sägezähne unterschiedlicher Phasenlage und diese 
beiden Sägezähne hören sich einzeln sehr sauber an .Auf dem Oszie sehen 
die auch super aus halt bandlimitid.

Wenn ich nun aber den einen Sägezahn vom anderen abziehe (laut 
DPW-Algorithmus), dann kommt da zwar ein Rechteck heraus welcher aber 
sehr unsauber klingt. Samplingfrequenz beträgt 62,25 kHz und der 
erzeugte Rechteck soll eine Frequenz von 0 bis 2500 Hz haben 
(einstellbar).

Im Anhang habe ich mal die Assemblerroutine im ASM30-Format für DSPIC's.

Wer kann mir da einen Ratschlag geben was ich da Falsch mache?

Vielen Dank schon mal im Voraus...
Angehängte Dateien:
OP #2540255
Lesenswert?
• ▲
▼
Servus,

ja das kann schon sein, aber jetzt stelle Dir mal die Sägezähne unsigned
vor ,dann kommt da ein Rechteck raus. Der Dac in dem DSPIC ist auf 
signed konfiguriert und ein unsigned in Signed wird in einer extra 
Routine gemacht kurz bevor die Samples and den DAC übergeben werden.

Danke für deine Hilfe
Gast #2542550
Lesenswert?
• ▲
▼
Sind die beiden Sägezähne exakt 180° auseinander? Der eine muss ja nach 
unten gehen, während der andere rauf geht (bei 'signed' würden sie sich 
im Nullpunkt treffen). Dann hättest Du ein Rechteck mit 50% Pulsweite. 
Ist dem so, oder hast Du eher eine Pulswelle?
Gast #2542562
Lesenswert?
• ▲
▼
Ach sorry, 50% war glaub ich Käse. Sollte die Differenz nicht pi/2 oder 
so sein? Verschieb mal den invertierten in der Phase, addiere beide und 
schau Dir den Plot an. Wenn beide bandlimitiert sind, muss die Addition 
das auch sein.
Wenn Du aber eher einen Nadelimpuls hast, und die Sägezähne waren nicht 
wirklich bandlimitiert, wird das mit abnehmender Pulsweite 
offensichtlicher.
OP #2542726
Lesenswert?
• ▲
▼
Mensch Sascha,

danke erstmal für deine Teilnahme und Hilfe, aber ich habe den Fehler
gefunden. und Zwar die Sägezähne müssen beide positiv sein aber 
phasenverschoben. Mein Fehler war die letztendliche Verstärkung des 
Signales. Das Ding war einfach übersteuert (c=fs/(4f)).
Das scheint so nicht zu stimmen oder mein Prog ist fehlerhaft.


Jungens danke noch mal

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.