Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
strokeanalysis:stroke_analysis [2013/02/03 19:50] devastrokeanalysis:stroke_analysis [2013/02/21 12:35] (current) deva
Line 10: Line 10:
 The experiment was performed on an Axis Longboard pedal only, but should for good measure be performed on other types of pedals too sometime in the future... The experiment was performed on an Axis Longboard pedal only, but should for good measure be performed on other types of pedals too sometime in the future...
  
-A movie was recorded with 200fps and the 10-20 frames containing each of the two stroke types were subtracted. A couple of examples can be seen here (click to enlarge):\\+A movie was recorded with 220fps and the 10-20 frames containing each of the two stroke types were subtracted. A couple of examples can be seen here (click to enlarge):\\
 {{:strokeanalysis:s00.png?160|}} {{:strokeanalysis:s00.png?160|}}
 {{:strokeanalysis:s05.png?160|}} {{:strokeanalysis:s05.png?160|}}
Line 19: Line 19:
 ====Meaurements==== ====Meaurements====
 ===Single stroke=== ===Single stroke===
 +^ Position ^ Vector     ^ Length (px) ^ Angle (dgr) ^ Angle diff (dgr) ^ Angle speed (dgr/s) ^
 +| 0 | (-255,391) | 466.80 | 0.00  | 0.00 | 0.00 |
 +| 1 | (-247,394) | 465.02 | 1.03  | 1.03 | 226.07 |
 +| 2 | (-235,405) | 468.24 | 2.99  | 1.96 | 431.07 |
 +| 3 | (-210,420) | 469.57 | 6.55  | 3.56 | 783.04 |
 +| 4 | (-176,440) | 473.89 | 11.31  | 4.76 | 1048.00 |
 +| 5 | (-134,458) | 477.20 | 16.80  | 5.49 | 1208.50 |
 +| 6 | (-74,480) | 485.67 | 24.35  | 7.54 | 1659.71 |
 +| 7 | (-6,491) | 491.04 | 32.41  | 8.06 | 1774.08 |
 +| 8 | (73,493) | 498.38 | 41.53  | 9.12 | 2007.03 |
 +| 9 | (146,480) | 501.71 | 50.03  | 8.50 | 1868.96 |
 +| 10 | (232,451) | 507.17 | 60.33  | 10.30 | 2266.84 |
 +| 11 | (240,446) | 506.47 | 61.40  | 1.06 | 233.99 |
 +| 12 | (229,452) | 506.70 | 59.98  | -1.42 | -311.73 |
 +A plot of the angle velocities reveal a rather 'jaggy' picture:\\
 +{{:strokeanalysis:single-graph.png?nolink|}}
 +
 +===Stroke sequence===
 ^ Position ^ Vector     ^ Length (px) ^ Angle (dgr) ^ Angle diff (dgr) ^ Angle speed (dgr/s) ^ ^ Position ^ Vector     ^ Length (px) ^ Angle (dgr) ^ Angle diff (dgr) ^ Angle speed (dgr/s) ^
 | 0        | (-255,391) | 466.80 | 0.000000  | 0.000000   | 0.000000    | | 0        | (-255,391) | 466.80 | 0.000000  | 0.000000   | 0.000000    |
Line 33: Line 51:
 | 11       | ( 240,446) | 506.47 | 61.396774 | 1.063580   | 212.715922  | | 11       | ( 240,446) | 506.47 | 61.396774 | 1.063580   | 212.715922  |
 | 12       | ( 229,452) | 506.70 | 59.979810 | -1.416964  | -283.392753 |  | 12       | ( 229,452) | 506.70 | 59.979810 | -1.416964  | -283.392753 | 
- 
-A plot of the angle velocities reveal a rather 'jaggy' picture:\\ 
-{{:strokeanalysis:single-graph.png?nolink|}} 
- 
-===Stroke sequence=== 
-^ Position ^ Vector     ^ Length (px) ^ Angle (dgr) ^ Angle diff (dgr) ^ Angle speed (dgr/s) ^ 
-| 0        | (-381,215) | 437.48 | 0.000000  | 0.000000   | 0.000000    | 
-| 1        | (-370,236) | 438.86 | 3.095041  | 3.095041   | 619.008128  | 
-| 2        | (-356,267) | 445.00 | 7.433667  | 4.338626   | 867.725183  | 
-| 3        | (-331,304) | 449.42 | 13.129037 | 5.695370   | 1139.074084 | 
-| 4        | (-298,346) | 456.64 | 19.826380 | 6.697343   | 1339.468612 | 
-| 5        | (-255,389) | 465.13 | 27.317846 | 7.491466   | 1498.293157 | 
-| 6        | (-203,425) | 470.99 | 35.032433 | 7.714587   | 1542.917345 | 
-| 7        | (-144,458) | 480.10 | 43.110075 | 8.077642   | 1615.528448 | 
-| 8        | ( -78,483) | 489.26 | 51.390233 | 8.280159   | 1656.031738 | 
-| 9        | ( -14,494) | 494.20 | 58.940436 | 7.550203   | 1510.040583 | 
-| 10       | (  54,496) | 498.93 | 66.777144 | 7.836708   | 1567.341558 | 
-| 11       | ( 110,492) | 504.15 | 73.166538 | 6.389394   | 1277.878850 | 
-| 12       | ( 162,483) | 509.44 | 79.105414 | 5.938875   | 1187.775047 | 
-| 13       | ( 198,468) | 508.16 | 83.495869 | 4.390456   | 878.091137  | 
-| 14       | ( 216,464) | 511.81 | 85.526559 | 2.030689   | 406.137879  | 
-| 15       | ( 210,467) | 512.04 | 84.776208 | -0.750351  | -150.070120 | 
 The graph of these angle velocities show a picture rather more 'smooth' than the one rendered from the single stroke:\\ The graph of these angle velocities show a picture rather more 'smooth' than the one rendered from the single stroke:\\
 {{:strokeanalysis:sequence-graph.png?nolink|}} {{:strokeanalysis:sequence-graph.png?nolink|}}
Line 60: Line 56:
 ====Evaluation===== ====Evaluation=====
 ===Samplerate=== ===Samplerate===
-The maximum angle velocity was found in the single stroke and was 2061 degrees per second.+The maximum angle velocity was found in the single stroke and was 2266.84 degrees per second.
 That the maximum angle velocity should be found in the stroke type is not surprising since a single stroke is the result of the hardest foot impact on the pedal.\\ That the maximum angle velocity should be found in the stroke type is not surprising since a single stroke is the result of the hardest foot impact on the pedal.\\
  
 If we assume the target latency to be at most 1ms and we assume that the software is responding in the area of microseconds and therefore negligible we can estimate the target ADC sampling resolution.\\ If we assume the target latency to be at most 1ms and we assume that the software is responding in the area of microseconds and therefore negligible we can estimate the target ADC sampling resolution.\\
-Lets start by pointing out that since the video framerate was 200fps each frame represent a state in 5ms intervals; ie. we are looking for something around at least 5 times more accurate.\\+Lets start by pointing out that since the video framerate was 220fps each frame represent a state in 4.55ms intervals; ie. we are looking for something around at least 5 times more accurate.\\
  
-The single stroke took 11 frames in total which is 55ms and during this time the mallet moved 61.4 degrees, resulting in a minimum resolution of 1.12 samplings per millisecond.+The single stroke took 11 frames in total which is 50ms and during this time the mallet moved 61.4 degrees, resulting in a minimum resolution of 1.23 samplings per millisecond.
  
-However, if we look at the diff in the last two velocities before the impact it was 10.3 degrees in 5ms it is evident that the minimum resolution should be higher, namely 2.06 samplings per millisecond.+However, if we look at the diff in the last two velocities before the impact it was 10.3 degrees in 4.55ms it is evident that the minimum resolution should be higher, namely 2.26 samplings per millisecond.
  
-Ergo: **A sampling of 2kHz should be sufficient.**+Ergo: **A sampling of approximately 2kHz should be sufficient.**
  
-//However// ... the result of this mechanism is the playing of a sample at probably 44.1kHz or 48kHz and in order to avoid phasing problems when mixing with the analogue drumsound it should be considered to make the ADC samplerate 44.1kHz or 48kHz as well.+//However// ... the result of this mechanism is the playing of a sample at probably 44.1kHz or 48kHz and in order to avoid phasing problems when mixing with the analogue drum sound it should be considered to make the ADC samplerate 44.1kHz or 48kHz as well.
  
 ===Bit precision=== ===Bit precision===
-When considering bit precision it is the lowest angle velocity upon impact that ar ethe worst case scenario. +When considering bit precision it is the lowest angle velocity upon impact that are the worst case scenario. 
-If we therefore look at the stroke sequence we can observe a 2.03 degrees between the last two frames, giving 0.406 degrees in the last millisecond. +If we therefore look at the stroke sequence we can observe a 2.03 degrees between the last two frames, giving 0.446 degrees in the last millisecond. 
-If we divide the entire 84 degree interval into 0.406 degree segments the result is a minimum of 207 steps.+If we divide the entire 84 degree interval into 0.446 degree segments the result is a minimum of 188 steps.
  
 Ergo: **A bit precision of 8 should be sufficient.** Ergo: **A bit precision of 8 should be sufficient.**
Line 89: Line 85:
 If say the drummer hits twice as hard (double the angle velocity) and cannot accept latency at more than 0.5ms the calculations from above will be:\\ If say the drummer hits twice as hard (double the angle velocity) and cannot accept latency at more than 0.5ms the calculations from above will be:\\
  
-Samplerate: 2.06 * 2 degrees in 5ms = **8kHz sampling** (but still it should be considered to use 44.1kHz or 48kHz to avoid phasing problems)\\+Samplerate: 2 * 2.03 degrees in 4.55ms = **8kHz sampling** (but still it should be considered to use 44.1kHz or 48kHz to avoid phasing problems)\\
  
 A very slow stroke is the worst case scenario when considering the bit precision since we need more steps in the final steps of the swing. A very slow stroke is the worst case scenario when considering the bit precision since we need more steps in the final steps of the swing.
 If say the angle velocity is half of the measured one and the drummer is sensitive to latencies above 0.5ms the number of needed steps will go up by factor of 4: If say the angle velocity is half of the measured one and the drummer is sensitive to latencies above 0.5ms the number of needed steps will go up by factor of 4:
  
-Bit precision: 207 * 4 steps = **10 bit precision** + headroom.\\+Bit precision: 188 * 4 steps = **10 bit precision** + headroom.\\
strokeanalysis/stroke_analysis.1359917421.txt.gz · Last modified: by deva
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0