• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


Tiny Tone
#81
Ich kopier das immer komplett wie es ist in die IDE, und mache mit "Maus + Alt" hinter das letzte Zeichen jeder Zahl ein Komma. Manchmal, bei unterschiedlich langen Zahlen, muss man mit der Version aber einige Zeichen per Hand nacharbeiten...da hab ich auch noch keine schöne Lösung ohne Script gefunden.

(Edit: Vielleicht kann man auch in die nächste Tabellenspalte ein Komma einfügen und mitsamt den Zahlen rauskopieren. Dann weiß ich aber nicht was deine IDE aus dem Tab macht, das dabei zwischen Zahl und Komma steht...dürfte eigentlich nichts schaden?)
 
Reply
#82
mm, die IDE ist arduino 1.8.8 Tongue

btw excel Grundkurs: wie erzeugt man so ne Tabelle? also Formel für ein Feld eingeben - ist klar. wenn ich aber, wie hier, in 200 Felder eine Formel setzen will, die sich mit dem Index ändert...wie geht das dann ?
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#83
Die Formel ein Feld nutzen lassen, z.B. =2*E4
Dann das Feld mit der fertigen Formel anklicken, rechts unten gibt's dann einen kleinen schwarzen Block.
Den nehmen (der Mauszeiger wird zu einem Kreuz)und nach unten ziehen. Dann wird die nächste Formel automatisch zu =2*E5, die nächste =2*E6, usw... Wenn du das verhindern willst, weil z.B. alle Formeln mit einer Konstante arbeiten sollen, machst du E$4 draus.
Das "ziehen" funktioniert auch mit Zahlenfolgen, Datum, usw...für Zahlenfolgen gibst du in der erste Feld der Reihe 1 ein, in das zweite 2, markierst beide Felder und ziehst wieder den schwarzen Punkt nach unten. Das geht auch mit irgendwelchen anderen Folgen, aufsteigend, absteigend, wiederholend, usw.
 
Reply
#84
(17.02.2019, 07:04 PM)alfsch schrieb: noch ne dumme Frage: wie kopiere ich jetzt, zb die Spalte 7msb , in einem brauchbaren Format raus? ...oder eben von Hand Kommas setzen..?

Kannst Du nicht nen CSV export machen und dann den Feld-Trenner frei wählen?
...mit der Lizenz zum Löten!
 
Reply
#85
...habs schon eingetippt. mit 250 x " ctrl V" --- fast meditative Tätigkeit Confused 

+ du hattest richtig vermutet: die PWM hat dominant K2 , muss wohl "phase correct" sein.

mit der 7bit PWM sagt Klirr-Messeisen : 0,6% . (Tabelle von Tobi )
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#86
Hm, wenn ich (bzw. Calc) mich nicht verrechnet hab, hat die Tabelle selbst 2.7% Klirr, durch die 14Bit-Quantisierung.
Klingt das für euch realistisch oder liegt das völlig daneben...? Müsst doch eigentlich deutlich weniger sein...eher so 0.0x%?
 
Reply
#87
da muttu dick ver-kakt - calct haben. 0,6% gemessen, mit der 7bit msb Tabelle.
rein von der Quantisierung 1/127 sollte sich irgendwas bei -42dB, rund 0,5% ergeben. tuts ja auch. Tongue

14bit wären 1/16000 , also rund -84dB oder 0,005%
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#88
(18.02.2019, 09:36 PM)alfsch schrieb: 14bit wären 1/16000 , also rund -84dB oder 0,005%
Bei nur 256 Stützstellen? misstrau
...mit der Lizenz zum Löten!
 
Reply
#89
...will mich jetzt nicht darauf versteifen - aber afair ist das Ergebnis : DA-Wandler (Auflösung) + Rekonstruktionsfilter.
dh. ist das Filter "perfekt" , bleibt nur der Sinus ; mit der Präzision, die der Wandler eben kann.
real ist unser simples Filter natürlich nicht ideal, also wird der Klirr immer etwas grösser sein, je nach Filter bzw Frequenz.
andersherum gesehen: je mehr Stützstellen in einer Sinus-Welle sind, desto weniger aufwendig muss der Filter sein (er muss dann weniger "rekonstruieren") Wink ...
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#90
Na dann, aktives Filter mit Umschaltung der Zeitkonstanten.  Smile

Ich hab hier noch was schönes.

http://www.openmusiclabs.com/learning/di...index.html
https://www.edn.com/design/analog/432936...16-bit-DAC
 
Reply
#91
mit suuuuper-Filter, na klar doch. Big Grin

+
mein altes Problem: meine tollsten Erfindungen...hat meist jemand anders schon vor 10 Jahren gemacht... Rolleyes

[Bild: fbf92d0305275c867cc994026927817b--comic-hilarious.jpg]
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#92
Zitat:This all sounds wonderful, and it mostly is, but an important thing to remember is that increasing bit depth does NOT change distortion or unwanted PWM frequency interference. It only reduces the effective noise floor.

So, if you are mostly interested in low frequencies (ones very far away from your PWM frequency), then increasing the bit depth in this manner is extremely useful, as the distortion components become lower the further away you get from the PWM frequency.

misstrau

http://www.openmusiclabs.com/learning/di...-analysis/
 
Reply
#93
sehr guter link das . Auch sehr lesenswert der drin enthaltene link auf http://www.openmusiclabs.com/learning/di...index.html
...mit der Lizenz zum Löten!
 
Reply
#94
Ja, danke dafür. Das mit der phasenkorrekten PWM war mir bisher auch noch nicht bewusst. Aber eigentlich logisch, durch die einseitige Fixierung der Pulse verziehts den Sinus ja auch...
 
Reply
#95
leider...kann der doofe tiny85 nur simple pwm auf dem schnellen timer Rolleyes
isch grüble noch...
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#96
(19.02.2019, 10:49 PM)alfsch schrieb: leider...kann der doofe tiny85 nur simple pwm auf dem schnellen timer Rolleyes
isch grüble noch...

ups, ich dachte das wäre Dir klar. Rolleyes

Das Problem ist, dass die Phasenverzerrungen mit der rel Frequenz (Fsignal/Fsample) zunehmen.
D.h. selbst wenn man die Berechnungen für eine korrigierte Tabelle hinbekäme -
bräuchte man für jede einzelne Signalfrequenz eine eigene, optimierte lookup-table.
D.h.mit dem schnellen PWM könnte man sinnvollerweise nur einen Festfrequenzgenerator mit minimierten Verzerrungen bauen - für viele lookup-tables ist gar nicht genug flash-Speicher vorhanden.
...mit der Lizenz zum Löten!
 
Reply
#97
Gilt das auch für Triangle?

Der wirklich schnellste Code für DDS den ich aufm Atmega kenne ist dieser:

http://codeandlife.com/2012/03/13/fast-d...-atmega88/

(Aber gemacht für R2R Ladder)

Der wirklich schnellste Code für DDS den ich aufm Atmega kenne ist dieser:

http://codeandlife.com/2012/03/13/fast-d...-atmega88/

(Aber gemacht für R2R Ladder)
 
Reply
#98
(19.02.2019, 11:39 PM)christianw. schrieb: Gilt das auch für Triangle?
Nö, der Sägezahn funktiert durch stumpfes Zählen und Überlauf.
Fürs triangle müßtest Du eine bedingte Richtungsumkehr einbauen. Das kostet code.

(19.02.2019, 11:39 PM)christianw. schrieb: Gilt das auch für Triangle?

Der wirklich schnellste Code für DDS den ich aufm Atmega kenne ist dieser:

http://codeandlife.com/2012/03/13/fast-d...-atmega88/

(Aber gemacht für R2R Ladder)

Der wirklich schnellste Code für DDS den ich aufm Atmega kenne ist dieser:

http://codeandlife.com/2012/03/13/fast-d...-atmega88/

(Aber gemacht für R2R Ladder)
und dieser code läuft unsynchronisiert im Hauptprogramm. Synchrone Abarbeitung erfordert aber Abarbeitung im timer-irq.
...mit der Lizenz zum Löten!
 
Reply
#99
(19.02.2019, 11:36 PM)voltwide schrieb:
(19.02.2019, 10:49 PM)alfsch schrieb: leider...kann der doofe tiny85 nur simple pwm auf dem schnellen timer Rolleyes
isch grüble noch...

ups, ich dachte das wäre Dir klar. Rolleyes

na, altersbedingt...so viele controller, da vergisst man schon mal, welcher nu genau was kann Rolleyes 
irgendwie bin ich an die STM32 "gewöhnt" , timer up, down oder beides...dass primitiv-timer sowas nicht können, hatte ich nicht (mehr) aufm Schirm.

rein theorethisch betrachtet: optimal, auf dem primitiv-timer, könnte sein: 2 x 8bit PWM, auf 9bit berechnet, ein cmp bekommt das Rundungs-bit, aber die PWM des 2. komplementär, also zb "5" ergibt im 1. output 5x high am Anfang, im 2. output aber 5x high am Ende des Zyklus, beide einfach summiert; das sollte eine Kompensation der Phasenverschiebung ergeben und somit ein optimales Signal. right ?

+ auf diese schräge Idee kam noch niemand...hoffe ich mal. Smile
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
Äh, Moment ich hab das Mal was vorbereitet.. Big Grin


Wink
 
Reply