# Viotar/Model

(Difference between revisions)
 Revision as of 17:10, 3 January 2011 (view source)S071253 (Talk | contribs) (→Friction curve model)← Older edit Revision as of 18:05, 3 January 2011 (view source)S071253 (Talk | contribs) (→Model)Newer edit → Line 91: Line 91: In the simple friction curve model, like it is presented in figure 3, it is assumed that the friction force only depends on the relative force between the string and the bow. However, experiments have proved that the true situation is not quite as simple as that. The dotted line in figure 4 shows the relation between string velocity and friction coefficient as described by the model above. The continuous line shows the real situation, which has been measured experimentally. From this figure it can be concluded that the classical approach is quite unprecise. In the simple friction curve model, like it is presented in figure 3, it is assumed that the friction force only depends on the relative force between the string and the bow. However, experiments have proved that the true situation is not quite as simple as that. The dotted line in figure 4 shows the relation between string velocity and friction coefficient as described by the model above. The continuous line shows the real situation, which has been measured experimentally. From this figure it can be concluded that the classical approach is quite unprecise. - ====Verklaringen voor fouten in het frictiemodel==== + ====Explanations for errors in the friction model==== One of the reasons for this, is that the temperature of the interaction area is of very high importance. This is because of the melting temperature of the rosin. When the relative speed is low, the contact area cools down due to conductance in the string and bow. This causes the friction coefficient to increase. When more 'slip' behaviour occurs, this causes the temperature to raise and therefor the friction coefficient tot decrease rapidly. One of the reasons for this, is that the temperature of the interaction area is of very high importance. This is because of the melting temperature of the rosin. When the relative speed is low, the contact area cools down due to conductance in the string and bow. This causes the friction coefficient to increase. When more 'slip' behaviour occurs, this causes the temperature to raise and therefor the friction coefficient tot decrease rapidly. Line 99: Line 99: However, experiments proved that the simple representation of the friction curve model is precise enough to simulate what the influence of changing the bowing speed and force is, on the occurence of a Helmholtz vibration. For our computer model we will use the friction curve, like it is presented in figure 3 which will satisfy. However, experiments proved that the simple representation of the friction curve model is precise enough to simulate what the influence of changing the bowing speed and force is, on the occurence of a Helmholtz vibration. For our computer model we will use the friction curve, like it is presented in figure 3 which will satisfy. - ===Computermodel=== + ===Computer model=== - ====Variabelen==== + ====Variabels==== + There are 3 variables that can be set in this model. These are the bowing speed vb, bowing force fb and a factor that indicates the distance between the bow and the bridge and the bow, in relation to the length of the string (β). - Er zijn 3 waarden in te stellen in het model. Dit zijn de snelheid van de boog (vb), de druk die met de boog op de snaar uitgeoefend wordt (Fb) en als laatste een factor die de afstand tussen de boog en de kam ten opzichte van de lengte van de snaar aangeeft (beta). + ====Working of the program==== - ====Werking van het programma==== + [[File:Gauss.PNG|frame| Border|right| Figure 6: Symmetric Gauss curve]] - [[File:Gauss.PNG|frame| Border|right| Figuur 6: De symmetrische Gauss-kromme.]] + In the computer program, the simulation is devided into n intervals of size dt. The program runs through a loop for every time step dt. Using the known values (from earlier time steps)for position of the string, velocity of the string and applied force on the bow, new values for these quantities are calculated. Important is that the speed at which an applied force moves through the string, is known. With this structure it is always possible to calculate the new values on time i, using the values from the past. To illustrate the working of the program, one loop will be run through in the following part. - In het programma wordt het simulatiegebied opgedeeld in n intervallen, met een grootte dt. Het programma doorloopt voor elke tijdstap dt een loop waarin met behulp van bekende waarden voor de positie, kracht en snelheid uit het verleden de nieuwe waarden voor deze grootheden bepaald kunnen worden. Van belang hierbij is dat de snelheid waarmee een op de snaar uitgeoefende kracht zich door de snaar beweegt bekend is. Zo kan er op tijdstip i altijd terug gekeken worden in de geschiedenis welke krachten uit het verleden op tijdstip i teruggekaatst zijn en dus weer van invloed zijn op de beweging van het gesimuleerde punt. Om de exacte werking van het model te illustreren, zal hieronder de loop van één tijdstap doorlopen worden. Het model zelf is ook bijgevoegd. (Let op! Het model is nog niet werkend of voorzien van commentaar). + The string will be evaluated at position x on time i. Vibrations caused at position x, will move along the string to the ends, where the vibrations are reflected to position x. On time i, the time is calculated at which the vibrations that arrive on time i where caused on position x. So, this is a moment in the past. Beacause the travelling time of the waves is usually not a multiple of dt, the real time should most of the time be interpolated between two values. Beacuse of the fact that vibrations that are nearly at position x are also important for the movement of position x, also these vibrations are taken into account. Using a symmetric Gauss curve (figure 6), the influence of these vibrations is calculated and added to the vibration that has exactly returned on time i. All these vibrations together are forces that influence the vibration (velocity) of position x. Using the friction curve model, this resulting force can be converted to a new string velocity. This gives the string velocity vi on time i. - De snaar wordt bekeken op positie x op tijdstip i. Trillingen die op positie x veroorzaakt worden, gaan via de snaar naar de uiteinden van de snaar, van waar ze teruggekaatst worden naar positie x. Op tijdstip i wordt eerst uitgerekend op welk tijdstip de trillingen die op dat moment terugkomen op positie x uitgezonden werden. Dit is dus een tijdstip in het verleden. Aangezien de snelheid waarmee de golf zich voortplant geen meervoud is van dt, zal er meestal geïnterpoleerd moeten worden tussen twee tijdstippen. Omdat trillingen die nog niet helemaal teruggekeerd zijn, of juist alweer voorbij positie x zijn ook invloed hebben op de beweging op positie x, wordt er ook rekening gehouden met deze trillingen. Met behulp van een symmetrische Gauss-kromme (zie figuur 6) wordt de invloed van deze trillingen uitgerekend en opgeteld bij de trilling die precies op tijdstip i is teruggekeerd. Al deze trillingen zijn in feite krachten die van invloed zijn op de snaarsnelheid v op tijdstip i. Met behulp van het frictiemodel kunnen de resulterende kracht omgezet worden in een nieuwe snaarsnelheid. Dit is dus de snaarsnelheid vi op tijdstip i. + + When this loop is run through for all time steps, there is a vector v which contains the string velocity for every time i. The position of point x can easily be calculated using this vector by integrating over the time steps dt. + When the complete vibration of the string is known (postion as a function of time), a powerspectrum can be made using fourier transformation. This gives the amplitude ratios in the frequency domain. - Als deze loop voor alle tijdstappen doorlopen is, is er dus een vector v gemaakt met daarin voor elke tijdstap i de bijbehorende snelheid vi. Uit deze snelheidsvector kan eenvoudig de positievector u bepaald worden door middel van integratie over alle tijdstappen dt. + ====Problems==== + The biggest problem so far, is that the frequency of the vibration seems to be depending on the bowing speed and force. In reality this is not the case, and is the frequency only depending on the length and the width of the string. Varying the bowing speed and force, only changes the amplitude and therefor the loudness of the vibration in reality. + This problem is most probably caused by another problem, being the stiffness of the string. This stiffness plays an important role in the vibration of the string as it adds another force to force equation. - Als de complete trilling van de snaar bekend is (positie als functie van de tijd), kan door een fouriertransformatie toe te passen een powerspectrum gemaakt worden waarin de amplitude verhoudingen te zien zijn in het frequentiedomein. + ===Analysis with het model=== - ====Problemen==== + With the right model a Helmholtz vibration can be generated. This vibration can be analysed afterwards using matlab. The model itself recognises if the generated vibration is a Helmholtz vibration or a noisy type of vibration. We took a Helmholtz vibration, which looks like the left figure below, and made an m-file that generates a fourier transformation of that vibration. The powerspectrum that was generated is shown in the right figure below. These type of figures will be very important later on as we will see in the chapter 'Software Design (Quantifying the signal we want to see)'. - Het grootste probleem tot nu toe is dat de frequentie van de snaartrilling steeds afhankelijk blijkt te zijn van de strijksnelheid en –druk. In de werkelijkheid is dit niet het geval en wordt de frequentie slechts beïnvloed door de lengte van de snaar. Met het variëren van de strijksnelheid en –druk wordt in werkelijkheid alleen de amplitude en dus de luidheid van de trilling beïnvloed. + [[File:HEL.PNG|frame|border|left|Figure 7: Helmholtz vibration and it's powerspectrum]] - Dit probleem wordt waarschijnlijk veroorzaakt door een ander probleem. Namelijk het modelleren van de snaarstijfheid, dus welke kracht de snaarstijfheid genereert als functie van de tijd. Hiervoor moet nog een oplossing gevonden worden. + - + - ===Analyses met het model=== + - + - Met behulp van het werkende model kan een Helmholtz trilling gegenereerd worden. Deze trilling kan daarna geanalyseerd worden met behulp van matlab. Het model herkent een trilling en kan deze klassificeren in een aantal groepen. Uit alle gemodeleerde trillingen is een zuivere Helmholttrilling gepakt, deze ziet er uit als in de linker plot hier onder. Daarna is er een m-file gemaakt die een Fourier transformatie uitvoerd op deze trilling en een frequentiedomein plot. Dit frequentiedomein is weergegeven in de rechter plot hieronder. + - [[File:HEL.PNG|frame|border|left|Figuur X: Helmholtztrilling met bijbehorend frequentiespectrum.]] +

# Model

William Schattevoet
David Duwaer
Eric Backx
Arjan de Visser

# Overview:

In order to predict the behavior of the Viotar, when it’s made, and to predict the outcome of experiments a model has been made of the motion of the string. With this model it will also be possible to make a controller for the Viotar. With this controller, we want the Viotar to be able to gain a Helmholtz motion within one vibration. The model will be made in Matlab and the theory behind this model will be listed below.

## Model

In order to predict the results of experiments for validation and to make the designing of the controller more easy, a model of the vibration of a bowed string will be made. This model is made in matlab and will be discussed in the following chapter.

### Friction curve model

#### Simple approximation

In simple models of the interaction between bow and string, it is asumed that the friction force between both only depends on the relative speed of the string in relation to the bow. The relation between the relative speed and friction force has an exponential shape in these models. This can also be seen in figure 3. In this figure v is the speed of the string, where vb is the bowing speed. The friction force on the interaction area of the bow and the string, can be calculated using:

f = μ(vvb)fb

Where µ is the friction coefficient and fb is the applied force on the bow.

Figure 3: a) The relation between the relative speed of the string (regarding to the speed of the bow) and the friction force b) Release velocity vr and capture velocity vc

There are several models for the friction coefficient µ. The hyperbolic model is described as follows:

$\mu = \mu_d + {{(\mu_s-\mu_d)v_0} \over {v_0 + v + v_b}}$

where:

vo = initial bowing speed

µd = dynamic friction coefficient

µs = static friction coefficient

(In most cases, the values µd = 0.3 and µs = 0.8 are used)

The exponential friction model is described as:

$\mu = 0.4e^{{v-v_b}\over{0.01}} + 0.45e^{{v-v_b}\over{0.1}} + 0.35$

Figure 4: The relation between the string speed v and the friction coefficient µ according to the model (dotted) and according to experiments(continuous)
Figure 5: Bowing of a string schematically. The dotted line in situation 2 indicates the real behaviour whereas the continuous line indicates the simplified situation where bowing without slip exists.

In figure 3, also the relation between applied force and caused velocity of the string is shown. This dynamical behaviour of the string is approximately linear, as experiments proved. The release velocity vr and capture velocity vc are shown in figure 3 b). The are the velocities at which the string respectively slips of the bow or sticks on it. This phenomenon can be explained as follows. When the velocity of the string increases, the string keeps slipping on the bow until the capture velocity is reached. At this velocity the string sticks on the bow and therefor has the same velocity. The string will remain sticking until the release velocity is reached. At that point, the string starts slipping over the bow. This means that the force equation has a different solution when the relative speed increases than it has when the relative speed decreases. This is due the fact that the friction coefficient for slipping differs from the friction coefficient for sticking.

#### Friction model vs. Experiment

In the simple friction curve model, like it is presented in figure 3, it is assumed that the friction force only depends on the relative force between the string and the bow. However, experiments have proved that the true situation is not quite as simple as that. The dotted line in figure 4 shows the relation between string velocity and friction coefficient as described by the model above. The continuous line shows the real situation, which has been measured experimentally. From this figure it can be concluded that the classical approach is quite unprecise.

#### Explanations for errors in the friction model

One of the reasons for this, is that the temperature of the interaction area is of very high importance. This is because of the melting temperature of the rosin. When the relative speed is low, the contact area cools down due to conductance in the string and bow. This causes the friction coefficient to increase. When more 'slip' behaviour occurs, this causes the temperature to raise and therefor the friction coefficient tot decrease rapidly.

Another phenomenon that turns out to have a lot of influence, is the so called hair-compliance. This error is occured by the fact that the bow doesn't have one single contact point with the string (like assumed in the simple model), but in fact has a whole contact area. The difference is that for the first case it is possible to have absolutely no slip while the string follows the bow, while in the second case slip is always present. This difference is also shown in figure 5. In this figure, situation 1 indicates the initial string and bow. One time step later (situation 2) the bow has moved upwards with velocity vb and the string has sticked on the bow. Now, the dashed line represents the real situation, like it would be in realtity, where the continuous line indicates what shape the string should have as no slip had occured. It should be clear that this 'no slip situation' would never occur in reality and therefor bowing without any slip is impossible.

However, experiments proved that the simple representation of the friction curve model is precise enough to simulate what the influence of changing the bowing speed and force is, on the occurence of a Helmholtz vibration. For our computer model we will use the friction curve, like it is presented in figure 3 which will satisfy.

### Computer model

#### Variabels

There are 3 variables that can be set in this model. These are the bowing speed vb, bowing force fb and a factor that indicates the distance between the bow and the bridge and the bow, in relation to the length of the string (β).

#### Working of the program

Figure 6: Symmetric Gauss curve

In the computer program, the simulation is devided into n intervals of size dt. The program runs through a loop for every time step dt. Using the known values (from earlier time steps)for position of the string, velocity of the string and applied force on the bow, new values for these quantities are calculated. Important is that the speed at which an applied force moves through the string, is known. With this structure it is always possible to calculate the new values on time i, using the values from the past. To illustrate the working of the program, one loop will be run through in the following part.

The string will be evaluated at position x on time i. Vibrations caused at position x, will move along the string to the ends, where the vibrations are reflected to position x. On time i, the time is calculated at which the vibrations that arrive on time i where caused on position x. So, this is a moment in the past. Beacause the travelling time of the waves is usually not a multiple of dt, the real time should most of the time be interpolated between two values. Beacuse of the fact that vibrations that are nearly at position x are also important for the movement of position x, also these vibrations are taken into account. Using a symmetric Gauss curve (figure 6), the influence of these vibrations is calculated and added to the vibration that has exactly returned on time i. All these vibrations together are forces that influence the vibration (velocity) of position x. Using the friction curve model, this resulting force can be converted to a new string velocity. This gives the string velocity vi on time i.

When this loop is run through for all time steps, there is a vector v which contains the string velocity for every time i. The position of point x can easily be calculated using this vector by integrating over the time steps dt. When the complete vibration of the string is known (postion as a function of time), a powerspectrum can be made using fourier transformation. This gives the amplitude ratios in the frequency domain.

#### Problems

The biggest problem so far, is that the frequency of the vibration seems to be depending on the bowing speed and force. In reality this is not the case, and is the frequency only depending on the length and the width of the string. Varying the bowing speed and force, only changes the amplitude and therefor the loudness of the vibration in reality. This problem is most probably caused by another problem, being the stiffness of the string. This stiffness plays an important role in the vibration of the string as it adds another force to force equation.

### Analysis with het model

With the right model a Helmholtz vibration can be generated. This vibration can be analysed afterwards using matlab. The model itself recognises if the generated vibration is a Helmholtz vibration or a noisy type of vibration. We took a Helmholtz vibration, which looks like the left figure below, and made an m-file that generates a fourier transformation of that vibration. The powerspectrum that was generated is shown in the right figure below. These type of figures will be very important later on as we will see in the chapter 'Software Design (Quantifying the signal we want to see)'.

Figure 7: Helmholtz vibration and it's powerspectrum

### Region of Helmholtz motion in parameter space

The model has been run for a 20x20 grid of bowing speeds and bow forces. This has yielded the plot of Figure 1.

Figure 1: Model-generated plot. Where there’s blue, there’s no Helmholtz motion. The other colors indicate note flattening effect. The darker red, the bigger the flattening.

It’s interesting that there are exceptions to the main trend in the figure, that is, the “holes” in the Helmholtz region and the occurrences of Helmholtz outside the main region. This is strange because in a mathematical model, unlike in “reality”, there’s no noise or chaos. Probably, the reason why the results may be unpredictable is that these are not steady-state results, so there may still be startup phenomena. A way we may solve it in the future is to use “perfect transients”, in which Helmholtz motion is obtained within one period by following a certain acceleration path for the bow speed. Restrain should also be kept regarding the accuracy of the algorithm that “recognizes” if there is a Helmholtz vibration or not.

Despite the inaccuracies, there is already valuable info in this plot. It becomes very clear “where” in the parameter space you want to be, as the lower part of the Helmholtz region has the smallest note flattening. When modulating the note intensity, the ideal path that should be taken would be somewhat like the green line drawn in Figure 2.

Figure 2: The green path indicates the ideal modulation path.