01.02.2014 Aufrufe

Physical Model of a Banjo in FPGA Design - Systmuwi.de

Physical Model of a Banjo in FPGA Design - Systmuwi.de

Physical Model of a Banjo in FPGA Design - Systmuwi.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Banjo</strong> <strong>Physical</strong> <strong>Mo<strong>de</strong>l</strong> im <strong>FPGA</strong> <strong>Design</strong><br />

<strong>FPGA</strong>-<strong>Banjo</strong><br />

Florian Pfeifle<br />

Musikwissenschaftliches Institut<br />

Universität Hamburg<br />

7. November 2008 / Symposium <strong>de</strong>r Systematischen Musikwissenschaft<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick<br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Überblick<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

<strong>Physical</strong> <strong>Mo<strong>de</strong>l</strong>l<strong>in</strong>g für Musik<strong>in</strong>strumente<br />

Musik<strong>in</strong>strumente wirklichkeitsnah mo<strong>de</strong>llieren.<br />

Hohe Genauigkeit.<br />

Am besten <strong>in</strong> Echtzeit.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Arten <strong>de</strong>r <strong>Mo<strong>de</strong>l</strong>lierung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Metho<strong>de</strong>n<br />

Rand Element Metho<strong>de</strong>n<br />

F<strong>in</strong>ite Elemente<br />

F<strong>in</strong>ite Differenzen<br />

Für Wellen- bzw. Schw<strong>in</strong>gungsgleichungen<br />

hyperbolische partielle DGL’s.<br />

Bei Musik<strong>in</strong>strumenten meistens Randwert-Aufgaben.<br />

Metho<strong>de</strong> <strong>de</strong>r Wahl<br />

F<strong>in</strong>ite Differenzen<br />

Geschw<strong>in</strong>digkeit, Stabilität<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Arten <strong>de</strong>r <strong>Mo<strong>de</strong>l</strong>lierung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Metho<strong>de</strong>n<br />

Rand Element Metho<strong>de</strong>n<br />

F<strong>in</strong>ite Elemente<br />

F<strong>in</strong>ite Differenzen<br />

Für Wellen- bzw. Schw<strong>in</strong>gungsgleichungen<br />

hyperbolische partielle DGL’s.<br />

Bei Musik<strong>in</strong>strumenten meistens Randwert-Aufgaben.<br />

Metho<strong>de</strong> <strong>de</strong>r Wahl<br />

F<strong>in</strong>ite Differenzen<br />

Geschw<strong>in</strong>digkeit, Stabilität<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Arten <strong>de</strong>r <strong>Mo<strong>de</strong>l</strong>lierung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Metho<strong>de</strong>n<br />

Rand Element Metho<strong>de</strong>n<br />

F<strong>in</strong>ite Elemente<br />

F<strong>in</strong>ite Differenzen<br />

Für Wellen- bzw. Schw<strong>in</strong>gungsgleichungen<br />

hyperbolische partielle DGL’s.<br />

Bei Musik<strong>in</strong>strumenten meistens Randwert-Aufgaben.<br />

Metho<strong>de</strong> <strong>de</strong>r Wahl<br />

F<strong>in</strong>ite Differenzen<br />

Geschw<strong>in</strong>digkeit, Stabilität<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Arten <strong>de</strong>r <strong>Mo<strong>de</strong>l</strong>lierung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Metho<strong>de</strong>n<br />

Rand Element Metho<strong>de</strong>n<br />

F<strong>in</strong>ite Elemente<br />

F<strong>in</strong>ite Differenzen<br />

Für Wellen- bzw. Schw<strong>in</strong>gungsgleichungen<br />

hyperbolische partielle DGL’s.<br />

Bei Musik<strong>in</strong>strumenten meistens Randwert-Aufgaben.<br />

Metho<strong>de</strong> <strong>de</strong>r Wahl<br />

F<strong>in</strong>ite Differenzen<br />

Geschw<strong>in</strong>digkeit, Stabilität<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Arten <strong>de</strong>r <strong>Mo<strong>de</strong>l</strong>lierung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Metho<strong>de</strong>n<br />

Rand Element Metho<strong>de</strong>n<br />

F<strong>in</strong>ite Elemente<br />

F<strong>in</strong>ite Differenzen<br />

Für Wellen- bzw. Schw<strong>in</strong>gungsgleichungen<br />

hyperbolische partielle DGL’s.<br />

Bei Musik<strong>in</strong>strumenten meistens Randwert-Aufgaben.<br />

Metho<strong>de</strong> <strong>de</strong>r Wahl<br />

F<strong>in</strong>ite Differenzen<br />

Geschw<strong>in</strong>digkeit, Stabilität<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Arten <strong>de</strong>r <strong>Mo<strong>de</strong>l</strong>lierung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Metho<strong>de</strong>n<br />

Rand Element Metho<strong>de</strong>n<br />

F<strong>in</strong>ite Elemente<br />

F<strong>in</strong>ite Differenzen<br />

Für Wellen- bzw. Schw<strong>in</strong>gungsgleichungen<br />

hyperbolische partielle DGL’s.<br />

Bei Musik<strong>in</strong>strumenten meistens Randwert-Aufgaben.<br />

Metho<strong>de</strong> <strong>de</strong>r Wahl<br />

F<strong>in</strong>ite Differenzen<br />

Geschw<strong>in</strong>digkeit, Stabilität<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Überblick<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


F<strong>in</strong>ite Differenzen<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

Ablauf <strong>de</strong>s Algorithmus<br />

Lösung am Beispiel <strong>de</strong>r e<strong>in</strong>dimensionalen<br />

Wellengleichung(Saite).<br />

δ 2 y<br />

δt 2<br />

δ 2 y<br />

δt 2<br />

= c 2 · δ2 y<br />

δx 2<br />

= a<br />

Explizite Lösung mit f<strong>in</strong>iten Differenzen.<br />

a = c 2 · sk−1−2·s k +s k+1<br />

dx 2<br />

v = ∫ adt<br />

s = ∫ vdt<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

F<strong>in</strong>ite Differenzen (Algorithmus)<br />

Saite wird <strong>in</strong> n Punkte diskretisiert.<br />

Randwerte und Startwerte müssen gegeben se<strong>in</strong>.<br />

Für je<strong>de</strong>n Punkt wird <strong>de</strong>r Wert zu je<strong>de</strong>m Zeitpunkt<br />

berechnet.<br />

Nächster Wert hängt nur vom vorherigen Wert ab.<br />

=⇒ Rekursiver expliziter Algorithmus.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Überblick<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Umsetzung<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Implementierung <strong>in</strong><br />

MATLAB<br />

C++<br />

Beispiele<br />

Saite<br />

Membran<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Umsetzung<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Implementierung <strong>in</strong><br />

MATLAB<br />

C++<br />

Beispiele<br />

Saite<br />

Membran<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Umsetzung<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Implementierung <strong>in</strong><br />

MATLAB<br />

C++<br />

Beispiele<br />

Saite<br />

Membran<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Weitere Beispiele<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran Steg <strong>in</strong>nen<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Weitere Beispiele<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran Steg <strong>in</strong>nen<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Weitere Beispiele<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran Steg <strong>in</strong>nen<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Weitere Beispiele<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran Steg <strong>in</strong>nen<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Weitere Beispiele<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran Steg <strong>in</strong>nen<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Weitere Beispiele<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran Steg <strong>in</strong>nen<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Weitere Beispiele<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran<br />

Saite und Membran Steg <strong>in</strong>nen<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Überblick<br />

Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Implementierung<br />

Probleme<br />

Rechenzeitfaktor T r = Rechendauer<br />

Samplelaenge ≥ 30<br />

Umfangreiche Rechnungen nicht <strong>in</strong> Echtzeit<br />

Lösung..???<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Überblick<br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

VHDL/<strong>FPGA</strong> Überblick<br />

Very Highspeed Integrated Circuit Hardware Description<br />

Language<br />

Field Programmable Gate Array<br />

Entwicklungsumgebung ISE<br />

Simulations-S<strong>of</strong>tware <strong>Mo<strong>de</strong>l</strong>Sim<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

VHDL<br />

Hardware-Beschreibungs-Sprache<br />

Hochsprachen Konstrukte<br />

Komponenten (vergleichbar mit Java Klassen)<br />

Funktionen (ähnlich wie C)<br />

Sequentielle Anweisungen (for, if, while Schleifen)<br />

· · ·<br />

Unterschied → Nebenläufigkeit<br />

Anweisungen wer<strong>de</strong>n gleichzeitig verarbeitet.<br />

→Parallelität<br />

Für sequentielle, abhängige Prozesse:<br />

FSM(Zustandsautomat).<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

VHDL<br />

Hardware-Beschreibungs-Sprache<br />

Hochsprachen Konstrukte<br />

Komponenten (vergleichbar mit Java Klassen)<br />

Funktionen (ähnlich wie C)<br />

Sequentielle Anweisungen (for, if, while Schleifen)<br />

· · ·<br />

Unterschied → Nebenläufigkeit<br />

Anweisungen wer<strong>de</strong>n gleichzeitig verarbeitet.<br />

→Parallelität<br />

Für sequentielle, abhängige Prozesse:<br />

FSM(Zustandsautomat).<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

VHDL<br />

Hardware-Beschreibungs-Sprache<br />

Hochsprachen Konstrukte<br />

Komponenten (vergleichbar mit Java Klassen)<br />

Funktionen (ähnlich wie C)<br />

Sequentielle Anweisungen (for, if, while Schleifen)<br />

· · ·<br />

Unterschied → Nebenläufigkeit<br />

Anweisungen wer<strong>de</strong>n gleichzeitig verarbeitet.<br />

→Parallelität<br />

Für sequentielle, abhängige Prozesse:<br />

FSM(Zustandsautomat).<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>FPGA</strong> Übersicht<br />

Virtex <strong>FPGA</strong> Board<br />

VirtexV2-Pro<br />

30000 frei programmierbare Logik Gatter<br />

Clockfrequenz 100MHz<br />

Audio Wandler Onboard<br />

Über USB vom Computer programmierbar.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>FPGA</strong>-Board<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Überblick<br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Schw<strong>in</strong>gen<strong>de</strong>r Massepunkt<br />

F<strong>in</strong>ite Differenzen <strong>in</strong> VHDL umgesetzt.<br />

Anb<strong>in</strong>dung <strong>de</strong>s AC97 Audio Co<strong>de</strong>c.<br />

Test mit unterschiedlichen Parametern.<br />

Ergebnis → S<strong>in</strong>us mit unterschiedlichen Frequenzen.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Schw<strong>in</strong>gen<strong>de</strong>r Massepunkt<br />

F<strong>in</strong>ite Differenzen <strong>in</strong> VHDL umgesetzt.<br />

Anb<strong>in</strong>dung <strong>de</strong>s AC97 Audio Co<strong>de</strong>c.<br />

Test mit unterschiedlichen Parametern.<br />

Ergebnis → S<strong>in</strong>us mit unterschiedlichen Frequenzen.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Überblick<br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

Verb<strong>in</strong>dung mehrerer „Massepunkte“.<br />

Dadurch Lösung für 2D o<strong>de</strong>r 3D möglich.<br />

⇒Saite und Membran<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Beispiel e<strong>in</strong>er Saite(Ausschnitt)<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Überblick<br />

1 Fragestellung<br />

<strong>Mo<strong>de</strong>l</strong>lierung von Musik<strong>in</strong>strumenten<br />

Metho<strong>de</strong><br />

2 Umsetzung<br />

Implementierung<br />

Probleme<br />

3 Implementierung <strong>in</strong> VHDL<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l<br />

<strong>Mo<strong>de</strong>l</strong>l e<strong>in</strong>es <strong>Banjo</strong>s <strong>in</strong> VHDL.<br />

Vere<strong>in</strong>facht → nur Membran und Saite.<br />

Auf Geschw<strong>in</strong>digkeit optimiert.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

VHDL-<strong>Mo<strong>de</strong>l</strong>l Struktur<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l<br />

<strong>Design</strong> ermöglicht die Berechnung von 50 „Massepunkten“<br />

pro Takt!<br />

Daraus folgt<br />

Taktrate<br />

Samplefrquenz · Massepunkte<br />

Rechenschritte =<br />

Max. Anzahl an „Massepunkten“ pro Takt<br />

⇒ 100MHz<br />

48kHz · 50<br />

10 ∼ = 10400 Massepunkte pro Takt<br />

⇒ T R < 0.15<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l<br />

<strong>Design</strong> ermöglicht die Berechnung von 50 „Massepunkten“<br />

pro Takt!<br />

Daraus folgt<br />

Taktrate<br />

Samplefrquenz · Massepunkte<br />

Rechenschritte =<br />

Max. Anzahl an „Massepunkten“ pro Takt<br />

⇒ 100MHz<br />

48kHz · 50<br />

10 ∼ = 10400 Massepunkte pro Takt<br />

⇒ T R < 0.15<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l<br />

<strong>Design</strong> ermöglicht die Berechnung von 50 „Massepunkten“<br />

pro Takt!<br />

Daraus folgt<br />

Taktrate<br />

Samplefrquenz · Massepunkte<br />

Rechenschritte =<br />

Max. Anzahl an „Massepunkten“ pro Takt<br />

⇒ 100MHz<br />

48kHz · 50<br />

10 ∼ = 10400 Massepunkte pro Takt<br />

⇒ T R < 0.15<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l<br />

<strong>Design</strong> ermöglicht die Berechnung von 50 „Massepunkten“<br />

pro Takt!<br />

Daraus folgt<br />

Taktrate<br />

Samplefrquenz · Massepunkte<br />

Rechenschritte =<br />

Max. Anzahl an „Massepunkten“ pro Takt<br />

⇒ 100MHz<br />

48kHz · 50<br />

10 ∼ = 10400 Massepunkte pro Takt<br />

⇒ T R < 0.15<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l<br />

<strong>Design</strong> ermöglicht die Berechnung von 50 „Massepunkten“<br />

pro Takt!<br />

Daraus folgt<br />

Taktrate<br />

Samplefrquenz · Massepunkte<br />

Rechenschritte =<br />

Max. Anzahl an „Massepunkten“ pro Takt<br />

⇒ 100MHz<br />

48kHz · 50<br />

10 ∼ = 10400 Massepunkte pro Takt<br />

⇒ T R < 0.15<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l<br />

<strong>Design</strong> ermöglicht die Berechnung von 50 „Massepunkten“<br />

pro Takt!<br />

Daraus folgt<br />

Taktrate<br />

Samplefrquenz · Massepunkte<br />

Rechenschritte =<br />

Max. Anzahl an „Massepunkten“ pro Takt<br />

⇒ 100MHz<br />

48kHz · 50<br />

10 ∼ = 10400 Massepunkte pro Takt<br />

⇒ T R < 0.15<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l<br />

5 Saiten á 100 Massepunkte.<br />

E<strong>in</strong>e Membran mit 30 · 30 = 900 Masssepunkten.<br />

1400 Massepunkte für e<strong>in</strong> komplexes <strong>Mo<strong>de</strong>l</strong>l.<br />

System ist Echtzeitfähig.<br />

Geometrie kann noch komplexer wer<strong>de</strong>n.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Überblick über VHDL/<strong>FPGA</strong><br />

Erstes <strong>Mo<strong>de</strong>l</strong>l <strong>in</strong> Hardware<br />

Vom schw<strong>in</strong>gen<strong>de</strong>n Massepunkt zur Saite<br />

<strong>Mo<strong>de</strong>l</strong>l Top Level<br />

<strong>Banjo</strong> <strong>Mo<strong>de</strong>l</strong>l für größere Geometrien<br />

Um größere Geometrie zu berechnen müssen Punkte<br />

h<strong>in</strong>tere<strong>in</strong>an<strong>de</strong>r gerechnet wer<strong>de</strong>n.<br />

Punkte wer<strong>de</strong>n zu Gruppen zusammengefasst.<br />

Berechnung von Ausschnitten <strong>de</strong>r Geometrie.<br />

Bsp: Wan<strong>de</strong>rn<strong>de</strong>s Array über e<strong>in</strong>e Membran.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>


Fragestellung<br />

Umsetzung<br />

Implementierung <strong>in</strong> VHDL<br />

Zusammenfassung<br />

Zusammenfassung<br />

Musik<strong>in</strong>strumente <strong>in</strong> Echtzeit mit <strong>Physical</strong> <strong>Mo<strong>de</strong>l</strong>l<strong>in</strong>g<br />

mo<strong>de</strong>llierbar.<br />

Wirklichkeitsnahes <strong>Mo<strong>de</strong>l</strong>l von e<strong>in</strong>em <strong>Banjo</strong> erstellt.<br />

Fragen..??<br />

Ausblick<br />

Anb<strong>in</strong>dung an e<strong>in</strong> Frontend.<br />

Unterschiedliche Geometrien implementieren.<br />

Florian Pfeifle<br />

<strong>FPGA</strong>-<strong>Banjo</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!