|
Úvod >
Hobby projekty a výskum >
Matematické modelovanie struny - model 1
Matematické modelovanie struny - model 1(Mathematical Modelling of String - Model 1)© Ing. Radovan Konečný - radkon, 2008
Pri vymýšľaní algoritmov pre výpočet zvuku sláčikového zboru metódou amplitúdových a frekvenčných modulácií ma napadla myšlienka naprogramovať model struny založený skôr na základných fyzikálnych princípoch správania sa struny.
Teoretický úvod
Ako som spomenul na začiatku, princíp modelovania vychádza zo základných fyzikálnych princípov.
Tento model však nenapodobňuje správanie sa struny ako pružného natiahnutého telesa zloženého z množstva „kúskov“ struny, ale skôr napodobňuje výsledné správanie struny - stojaté vlny na strune spôsobené jej rozkmitaním.
Kmitajúca struna vytvára celý rad znejúcich harmonických zložiek a pre každú harmonickú zložky som vytvoril samostatný model kmitajúceho hmotného telesa, ktorý je „naladený“ na požadovanú frekvenciu (1-násobok, 2-násobok, ... až N-násobok základnej frekvencie).
f = - k . x
kde f je sila pôsobiaca na teleso, k je konštanta pružiny reprezentujúca jej tuhosť a x je výchylka telesa z jeho rovnovážnej polohy.
Tento vzťah určuje, že čím viac vychýlime teleso z jeho rovnovážnej polohy, tým väčšia sila pružiny pôsobí, aby sa teleso vrátilo do svojej rovnovážnej polohy.
a = f / m
kde a je zrýchlenie telesa a m je hmotnosť telesa (hmotnosť pružiny neuvažujeme).
Takýto algoritmus spôsobí pri vychýlení telesa z rovnovážnej polohy jeho rozkmitanie a netlmené kmitanie. Reálne teleso by však bolo brzdené (napr. vzduchom), preto zavedieme do výpočtu tlmenie:
Hodnota konštanty tlmenie je blízka 1 (nesmie byť však > 1).
Ešte si možno všimnúť, že v takejto forme algoritmu by sa dal výpočet ešte zjednodušiť a to vynechaním násobenia konštantou nehmotnost, pretože veľkosť sily f je určená konštantou tuhost a dve násobenia sú zbytočné a zvyšujú nároky na čas výpočtu:
Ako vidno z uvedeného kúsku programu, výpočet je až prekvapivo jednoduchý a ide vlastne o extrémne jednoduchý (a rýchly) algoritmus tlmeného (alebo aj netlmeného) oscilátora.
Pre DSP (digital signal processor) by to bolo hračkou.
Praktické výsledkyPo zrealizovaní N virtuálnych kmitavých telies sa ich pokojová poloha narúša aplikovaním veľmi krátkeho impulzu rýchlosti, čím sa teleso uvedie do pohybu. Ide o napodobnenie udretia kladivka do struny: - udieranie kladivkom do virtuálnej struny
V uvedenej ukážke je energia daná z kladivka do kmitavého telesa rovnaká pre všetky telesá - pre všetky harmonické zložky.
Časové priebehy veličín jedného kmitajúceho telesa tesne po údere kladivkom:
Mojim cieľom však bolo vytvoriť zvuk znejúci po dobu pôsobenia nejakého trvalého podnetu. Ako zdroj takéhoto podnetu som skúsil dať náhodný signál (biely šum) v domnienke, že to bude priblížením sa k pôsobeniu sláčika na strunu (akoby som v každom okamihu pôsobil na strunu náhodnou silou v náhodnom smere). Výsledkom je celkom zaujímavý zvuk - síce nie veľmi podobný husliam, ale jeho charakter ma milo prekvapil: - virtuálna struna A4 pod pôsobením náhodného podnetu - virtuálna struna A6 pod pôsobením náhodného podnetu
Vo zvukovej ukážke je počuť správanie sa virtuálnej struny aj po skončení pôsobenia podnetu.
- virtuálna struna pod pôsobením náhodného podnetu pri rovnakom tlmení Takýto prípad však nezodpovedá skutočným vlastnostiam struny. Avšak, vyššie harmonické sa rozoznejú lepšie a zvuk nie je toľko „šumový“. Pokusný program v jazyku Java je možné stiahnuť » tu « (spôsob ovládania je popísaný v priloženom súbore).Ďalšou otázkou bolo určenie frekvenčného spektra takto vyrobeného zvuku. Tu sa opäť dá experimentovať: - spektrum 1 - zahraný akord 5 strún so spektrom podobným spektru pílovitého zvuku - spektrum 2 - ten istý akord so spektrom oktáv a pár kvint - spektrum napríklad organu Zvuk je síce zaujímavý, ale treba nájsť lepší spôsob rozoznenia struny, aby zvuk nebol toľko zašumený. Pri ťahaní sláčika po vibrujúcej strune táto struna kmitá aj v smere k/od sláčika a sláčik je v kontakte so strunou prevažne vtedy, keď smer pohybu sláčika a struny je rovnaký. |
|||||||||||
Copyright © 2009-2025 Ing. Radovan Konečný - radkon. All rights reserved. |