Showing posts with label modelling a whale call with matlab. Show all posts
Showing posts with label modelling a whale call with matlab. Show all posts

Tuesday, August 27, 2013

Modeling a Whale Call with Matlab

I did my computer probation in a company called FIGES last year. In one of these days, my job was modeling a whale call of a blue whale. To do this firstly I did a long research, because I have needed
some equations to represent whale call.

According to my research:

Befitting the largest mammal on earth, the call of an adult blue whale is loud and low The
sound carries farther than any other animal sound, and can be detected over a thousand miles
away. The call has a distinct pattern. An a “trill” usually precedes a series of B “moans.”
There is little variation in the call among individual whales.

The B call is simpler and easier to analyze. It consists of a fundamental frequency around 16-
17 hertz and a series of harmonics(multiples) of the fundamental frequency. The amplitude of
the call is modulated to produce a loud moan followed by weaker moan.

• The envelope of the signal is treated as a decaying sine wave of the form A0*e^(-
Bt)*sin(2*pi*fm*t) where the amplitude A0 the decay rate B, and the modulating
frequency fm are all adjustable parameters.

• The signal itself is treated as a sum of harmonics sin(2*pi*n*f0*t) for n=0,1,2,3, ... .
The harmonics are assumed to be present for the entire duration of the call, even
though the higher harmonics appear and disappear in the middle of the call. (Simply
chopping off the higher harmonics introduces unwanted frequencies.)

• Because blue whale calls are so low, they are barely audible to humans. The time scale
in the data being modeled is compressed by a factor of 10 to raise the pitch and make
it more clearly audible. The model works with the same “x10” audible frequencies.

Using these informations I wrote the script in the following:

The Blue Whale B call model is shown in following figure. If you also wanna hear the voice, write down the codes into a matlab mfile and run it..

Read More