mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Digital Waveguide Oscillator - Octave?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Burkhard K. (buks)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde gerne den hier 
https://www.dsprelated.com/freebooks/pasp/Digital_Waveguide_Oscillator.html 
gefundenen Matlab Code mit Octave (4.21) ausführen - dazu fehlen mir 
allerdings die Funktionen:

 timeplot()
 oneplot()

Finde dazu aber auch keine Matlabreferenz. Weiss jemand mehr?

Autor: Tricksy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ersetze timeplot einfach durch plot und lasse oneplot einfach weg ;)

Autor: Burkhard K. (buks)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tricksy schrieb:
> Ersetze timeplot einfach durch plot und lasse oneplot einfach weg ;)

Das funzt, danke.

Was machen diese Funkionen, was Octave nicht kann? Finde ich im Netz 
eine Referenz dafür?

Autor: chris_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>The Digital Waveguide Oscillator
>In this section, adapted from [460], a digital sinusoidal oscillator derived from 
>digital waveguide theory is described which has good properties for VLSI 
>implementation. Its main features are no wavetable and a computational complexity 
of >only one multiply per sample when amplitude and frequency are constant.

Da muss ich doch gleich mal meinen Sinus in die Runde werfen. Unter 
bestimmten Umständen ist der Rechenaufwand dort noch kleiner:
Beitrag "Re: minimalistische Berechnung einer Sinusschwingung"

Autor: Markus W. (elektrowagi78) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Inwiefern ist das "Dein" Sinusgenerator? Die Vorgehensweise ist ja 
eigentlich hinlänglich bekannt (Rückkopplung). Die Frage bei all diesen 
Generatoren ist ja lediglich, wieviele und welche Parameter man offen 
lässt, statt sie - wie in den vereinfachten Versionen - festzulegen, um 
Berechnung zu sparen.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chris_ schrieb:
> Da muss ich doch gleich mal meinen Sinus in die Runde werfen. Unter
> bestimmten Umständen ist der Rechenaufwand dort noch kleiner:
> Beitrag "Re: minimalistische Berechnung einer Sinusschwingung"

Damit kann man aber nur Sinüsse erzeugen. Mit einer wave guide 
Architektur bekommt man einen kompletten filter angeliefert und kann in 
gewissem Rahmen das Frequenzprofil bestimmen. Siehe Karplus-Strong, auch 
wenn der inzwischen ausgedient hat, da nicht direkt zu tunen. Für eine 
variable Frequenzcharakteristik bräuchte es dann wieder mehrere solcher 
Oszillatoren und zwischengeschaltete Filter, was aufwändiger wäre, 
allerdings die Möglichkeit schafft, das Profil dynamisch zu gestalten.

Das sind eher komplementäre Verfahren.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wegen einer Nachfrage:

Ja, den Karplus-Strong kann man auch mit Bruchteilen der RAM-Länge 
tunen, wenn man samples interpoliert, das wirkt sich aber auch die Güte 
aus. Eine gute Interpolation ist bei sehr hohem Oberwellenanteil nicht 
möglich und führt generell zu einem entsprechenden Rechenaufwand - führt 
damit die Einfachheit des KS-Algos ad absurdum.

Wer damit probieren möchte, habe ich hier mal was aus der alten Kiste 
geholt:

Beitrag "Re: Tonerzeugung durch Rückkopplung mit 2. und 3. Oberwelle"

Autor: Dominique (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Burkhard K. schrieb:
> Was machen diese Funkionen, was Octave nicht kann? Finde ich im Netz
> eine Referenz dafür?

Ich kann mich entsinnen, es gab auf der Octave Seite irgendwo eine 
Referenzliste wo erklärt wurde, wie man das machen kann. Octave kann 
aber praktisch alles, was MATLAB kann.

Autor: Burkhard K. (buks)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dominique schrieb:
> es gab auf der Octave Seite irgendwo eine Referenzliste

Meinst Du 
http://wiki.octave.org/FAQ#Differences_between_Octave_and_Matlab ? Hilft 
in dem Fall nicht weiter, ein Mapping von Matlab- auf Octave Funkionen 
findet sich dort nicht (war auch nicht zu erwarten).

Dominique schrieb:
> Octave kann aber praktisch alles, was MATLAB kann.

Das mag zwar grundsätzlich zutreffen, hilft aber praktisch wenig weiter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.