DSP-vraag

Moderators: jkien, Xilvo

Berichten: 6

Re: DSP-vraag

Professor Puntje schreef: zo 21 jul 2019, 22:10 In mijn Pure Data schakeling bestond de input uit een pakketje ruis waar verder niet zo heel veel over te zeggen valt behalve dan dat dit er voor zorgde dat de schakeling met zekere beginwaarden gevuld werd. Daarna spelen die adder en s[n] geen enkele rol meer. Hoe die beginwaarden in de schakeling terechtkomen is ook niet zo interessant, dat maakt voor de output daarna niets meer uit. Daarom zie ik ook niet in waarom ik iets in de schakeling van dit topic zou moeten opnemen dat voor het beschouwde tijdvak niet ter zake doet.
Daarmee samenhangend:
Professor Puntje schreef: ma 22 jul 2019, 00:31 Normaal gesproken wordt om het zaakje op te starten kort iets als ruis of een harmonischen-rijke trilling aangeboden. Direct daarna zal dan een gedempte trilling optreden met slechts een kleine offset. Maar om die offset is het niet te doen, en die is eigenlijk enkel maar hinderlijk. Het gaat om de wijze waarop het outputsignaal na het aanbrengen van de beginwaarden uit trilt. Dat geeft de simulatie een typisch snaargeluid.
Wat jij graag wilt, terecht, is het geluid van de meest pure snaarpluk horen, ongehinderd door de toevalligheid van jouw random init vector die een random spectrum heeft.

Daarom was mijn vraag al eerder (PB) dan ook: waarom ben je uitgegaan van ruis, een random vector, in plaats van een basisvector (bijv., voor N = 5, 1 0 0 0 0 ) ? Immers de oplossingsruimte van deze differentievergelijking is de set van lineaire combinaties van de basisvectoren. En die vormen de meest pure excitatie. Immers het spectrum daarvan is constant.

Terug naar mijn vorige post, de overdrachtsfunctie H is het quotient van Output- en Input-spectrum:

H = U/S

ofwel

U = H . S.

Hierin is U is het resulterende Karplus-Outputspectrum, S is het initiële Inputspectrum.
Dat was bij jou random, maar bij een basisvector is S constant, gelijk aan 1 en produceert Karplus dus

U = H . 1
U = H

Ziedaar je zuivere Karplus-spectrum, onaangedaan door een of ander random-spectrum!

Dit illustreert zowel het belang van het gebruik van de basisvector als ook het nut van de beschrijving van het Karplussysteem in termen van input en outputsignalen: u[n] = s[n] + 0,5*(u[n-4] + u[n-5]), met s[n] gedefinieerd voor 0 ≤n ≤ N-1.

Gebruikersavatar
Berichten: 7.463

Re: DSP-vraag

Ik ben uitgegaan van ruis als "aanslag van de snaar" omdat Karplus en Strong dat in hun artikel uit 1983 ook deden. Het was mij in eerste instantie te doen om hun experiment nog eens te herhalen, ongeveer zoals beginnende elektronica hobbyisten (in elk geval vroeger) een kristalontvangertje bouwden om te ervaren hoe een (primitieve) radio werkt.

De reden dat ik tot nog toe geen gebruik heb gemaakt van de standaard methoden van DSP (zoals de overdrachtsfunctie) is nogal banaal, namelijk dat ik die theorie nog aan het bestuderen ben. Dus alles op zijn tijd.

Verder is het mij uit de diverse tekeningetjes duidelijk geworden dat die 1/2 in de formule voor de grondfrequentie in elk geval als eerste benadering héél aannemelijk is. Als gezegd beheers ik de standaardmethoden van DSP nog niet, dus kan ik de volledige juistheid van die 1/2 helaas langs die weg nog niet inzien. Misschien vind ik nog wel een ander bewijs, en anders zal ik voor het bewijs van de juistheid van die 1/2 gewoon nog even moeten wachten tot ik wel voldoende van DSP af weet.

Gebruikersavatar
Berichten: 7.463

Re: DSP-vraag

Wellicht kan de formule f = fs/(N + 1/2) zonder de methoden van DSP ook met behulp van volledige inductie bewezen worden. Bijvoorbeeld door eerst te bewijzen dat die formule voor het eenvoudige geval van een KS-schakeling met een delay-lijn van slechts twee elementen (N=2) opgaat, en daarna te bewijzen dat die formule ook voor alle N+1 moet gelden indien zij voor N (met N > 1) opgaat.

Berichten: 6

Re: DSP-vraag

Professor Puntje schreef: ma 22 jul 2019, 09:18 Ik ben uitgegaan van ruis als "aanslag van de snaar" omdat Karplus en Strong dat in hun artikel uit 1983 ook deden.
Dat is ook het meest gebruikelijk. (Witte) ruis heeft een constante spectrale dichtheid, dus hoe groter de waarde van N, de filterorde, des te beter die constante wordt benaderd, en dus ook hoe meer het ruisspectrum lijkt op dat van een puls. Juist die "ongeveer"-gelijkenis is muzikaal interessant: elke toon zal een klein beetje anders klinken. Groot voordeel van exciteren met ruis is het veel grotere volume.

Hier een voorbeeld van een étude van Chopin gespeeld met ruis-Karplustonen, gemaakt met WaveWizard's Extended Karplus algo, (menu Generatoren → Feedback Generator), dat binnen de Karplus-lus ook een All Pass filter heeft om tonen echt zuiver te maken, (dat filter kun je ook buiten werking stellen). Het algo voorziet ook in een 4-delige volume-contourgenerator die je al tegenkwam op klassieke synthesizers in de jaren 70, met Attack, Decay, Sustain en Release regeling.

https://muziekexact.nl/WaveWizard 2019 03 28.exe
https://muziekexact.nl/H7_Chopin_Etude_ ... cimbel.mp3
https://muziekexact.nl/NLT_Module_Sound_Design.pdf

Dit is een opdracht in het laatste hoofdstuk van de gecertificeerde nlt-module Sound Design, die inmiddels (sinds 2010) door zo'n 2000 leerlingen vwo 5/6 is doorgewerkt.
nlt is een nieuw eindexamenvak op vwo en havo in de profielen Natuur en Techniek en Natuur en Gezondheid.
Gecertificeerd wil zeggen, dat de tekst is gecontroleerd op wetenschappelijke correctheid (in dit geval TU Eindhoven, Robotica signaalverwerking) en diverse didactische testen en toetsen, o.a. van het Cito, met goed gevolg heeft doorstaan.

Reageer