Resonance transform for sound analysis
Reply #3 – 2005-08-12 16:15:07
The author is a high-school student, who's figured out "real" (as opposed to "complex") FFT on his own before. This too might be something that's been found before. I'm not familiar with the material, so my terms might be a bit off the mark. Because I don't understand what the author means, the sentences might not make sense. I'll start from 3.1. 3.1 Frequency Analysis Method of Ear Sound passes through various parts of the ear before reaching variously-sized hairs in the cochlea. Each hair cell has its resonant frequency and vibrates when exposed to sound. At the end of the hair cell there is a device into which calcium ions flow, depending on the amplitude of the cell's vibration, and through this mechanism the strength of the vibration according to frequency can be sensed. 3.2 Resonance Transform As the ear senses frequencies through resonating hair cells, this method can be mimiced by simulating the resonations. When an external force F(t) applies to an object, its "decay vibration" can be shown as the differential equation below. Here, m is the mass, gamma the decay constant, k the elasticity constant, and function x is (INSERT SOMETHING ABOUT TIME HERE) m * x''(t) + gamma * x'(t) + k * x(t) = F(t) (1) Let Xm,gamma,k(t) be the formula above as solved by t through function x, and the amplitude function Am,gamma,k(t) is as follows. Am,gamma,k(t) = sqrt( (Xm,gamma,k(t))^2 + (m/k) * (X'm,gamma,k(t))^2 ) (2) The equation above is the vibration function of an object vibrating through external force, and is the formula for resonance transforms. What's needed further is to find values of m, gamma, and k that are appropriate for the object's resonant frequency and decay rate. In equation (1), when external force F(t) is 0 for all t, x(t) = A0 * e^(-gamma*t/2m) * cos(sqrt(k/m - (gamma/2m)^2) * t + phi) (3) When analysing various frequencies of sound spontaneously, it is better for the decay formula according to t, e^(-gamma*t/2m), to be constant regardless of the vibration rate f. This is when you ignore the vibration rate, and if you want to adjust the decay rate to be proportionate with the vibration rate, you can make (-gamma/2m) proportionate with f. If e^(-gamma*t/2m) is fixed, gamma will be proportionate with m, and f=sqrt(k/m - (gamma/2m)^2)/(2*pi). Using the vibration rate f and a, the time-frequency trade-off element, to make equations of m and gamma, m = k/(4*pi^2*f^2) + (log(1-a))^2) (4) gamma = -2m*log(1-a) (5) When the above equations are maintained, k does not influence the vibration movement's shape, but the vibration amplitude is inversely proportional to k at all intervals. Hence k can be fixed to an arbitrary value. 3.3 Discrete Resonance Transform Resonance transform of discrete signals ... at non-continous points the acceleration rate v will change due to external signals ... and the region where the signal is constant between the non-continous points can be analysed as developments of equation (3) of section 3.2. However, sound is normally sampled at a frequency of 44100Hz, so the development of equation (3) can be approximated to a high degree of accuracy through the use of resonant filters, at a low cost.[1] The following is pseudo-code, and S is the external signal.function RTN(Sn) x<-0 v<-0 temp<-0 for i = 0 to N − 1 do Fi (Si − temp) * SamplesPerSecond temp = Si v<-v + Fi/m v<-v − (kx/m)/SamplesPerSecond v<-v * e^((−ir/2m)/SamplesPerSecond) x<-x + (v/SamplesPerSecond) Ai<-sqrt(x^2 + (m/k) * v^2) end for Figure 1 is the result of analysing the first 6 seconds of Beethoven's Für Elise, and the "decay rate of amplitude" per second is 1-10^(-14). 4 Remarks Resonance transforms offer a very precise resolution in frequency analysis of data which has a time axis. Further research of hair cells is neccesary for finding precise values or m, gamma, and k which match our ears, and for finding the reverse resonance transform and fast resonance transform algorithms. References [1] Robin Green: Faster Math Functions, http://www.research.scea.com/gdc2003/fast-...unctions_p2.pdf