At first let's see some formulaes of differential operators in vector algebra:

(gradient) gives us the direction of fastest increase of function**grad**(divergence) is a thread of vector from very little area relative to it's space (for example, a thread of vector of velocity of liquid has very simple meaning)**div**(rotor) is a circulation of vector on a very small contour relative to it's square**rot**

*div(f***A**) = f*div(**A**) +**A***grad(f)*rot(f***A**) = f*rot(**A**) - [grad(f),**A**]*div([***A**,**B**]) =**B***rot(**A**) -**A***rot(**B**)*rot(grad(f)) = 0**div(rot(***A**)) = 0*grad(a*b) = a*grad(b) + b*grad(a)*

The most important equation is Laplas equation (or Puasson equation as more generalised type of equations). Laplas and Puasson equations is equations for such fields:

- field of electric potential
- field of temperature
- field of pressure
- field of "velocity potential" in hydrodynamics
- and many others, where
*div(grad(f))=g(x,y,z)*

Puasson equation is:

D'Alamber equation is:

When the field is approximated by the matrix (for example, A_{ij}), Laplas or Puasson equations takes such form:

*(A _{ij} - A_{ij-1}) + (A_{ij} - A_{ij+1}) + (A_{ij} - A_{i-1j}) + (A_{ij} - A_{i+1j}) = C_{ij}*

where

The matrix will match better and better to the equation on each next step.

D' Alamber equation is an equation for running waves and is very similar to Laplas equation, and you can solve it both in complex Minkouski space and by approximating continual space by discrete dynamic elements, moving according to Newton's laws.

Here is a sample Delphi project, solving Laplas equation Laplas.pas and sample Pascal program emulating waves on liquid surface Waves.pas.

We can simply generalise all methods of matrix algebra onto functions.

So scalar multiplication of functions is:

"Multiplication of vector by matrix":

Basis function is ortogonal if

As you see now, Fourier analysis is only translating function as "vector" to another basis.
Now Fourier method is almost evident:

You can check whether the "basis function" * f(w,t) = e ^{iwt}* is ortogonal.

Random oscillations which can be obtained from Random function in Delphi
is so-called "white noise" with proportionally distributed spectrum.
The most common models for random oscillations with non-proportional spectrum is
Lorens model, which reflects the behaviour of heated liquid in circle tube with
counting of gravitational field. It is given by such a system of differential equations:

I used parameters *a=10 b=30 c=2.667*.
One more way to model random oscillation is modelling radiowave generator with non-linear element such as
"tonnel diode" and others.
It is given by such a system of equations (here Van-der-Pohl model for generator is accepted):

where *f(x)* is a dependence between voltage and current in the diode.

This dependance must have such a "pit" to produce random oscillations.

Here is the sample code emulating random oscillations according to Lorenz model Random.pas

Fourier analysis is performed by such a translation (see p. 2).
To do this on the computer, here is a formulae:

It can be used, for example, to compress sound files.

Here is the sample code performing Fourier analysis Fourier.pas

A simple sound processing program was written to demonstrate all it. It's a demo program, so you are able to work only with mono ".wav" files, and you should not also use big characters in Formulae Generator and small characters in Rhythm Composer. Such functions is available in Formulae Generator (Generator 1 on the toolbar):

- sin(t),cos(t) - harmonic functions
- rcn(t) - rectangular wave with period of 1
- ran(t) - triangular wave with period of 1
- sqr(t) - square root (if t<0,sqr(t)=0)
- rand(x) - random with level x
- amp(t) - amplitude at time t
- exp(t), ln(t) - logarithmic and exponential functions

Here is the sample Delphi project on sound processing Sound.zip

Сайт создан в системе uCoz