Enki  1.9
Public Member Functions | Protected Attributes | List of all members
Enki::Microphone Class Reference

A generic sound sensor/microphone. More...

#include <Microphone.h>

Inheritance diagram for Enki::Microphone:
Enki::LocalInteraction

Public Member Functions

 Microphone (Robot *owner, Vector micRelPos, double range, MicrophoneResponseModel micModel, unsigned channels)
 Constructor e.g. More...
 
 ~Microphone (void)
 Destructor.
 
void init ()
 Reset distance values, called every w->step()
 
virtual void objectStep (double dt, PhysicalObject *po, World *w)
 Check for local interactions with other physical objects.
 
void resetSound (void)
 Reset sound buffer to 0 after one time-step in experiment.
 
double * getAcquiredSound (void)
 Return frequencies of input sound.
 
void getMaxChannel (double *intensity, int *channel)
 Find frequency with maximum intensity.
 
Vector getMicAbsPos ()
 Get absolute position of microphone.
 
- Public Member Functions inherited from Enki::LocalInteraction
 LocalInteraction ()
 Constructor.
 
 LocalInteraction (double range, Robot *owner)
 Constructor.
 
virtual ~LocalInteraction ()
 Destructor.
 
virtual void init (double dt, World *w)
 Init at each step.
 
virtual void objectStep (double dt, World *w, PhysicalObject *po)
 Interact with object. More...
 
virtual void wallsStep (double dt, World *w)
 Interact with walls. More...
 
virtual void finalize (double dt, World *w)
 Finalize at each step.
 
double getRange () const
 Return the range of the interaction.
 

Protected Attributes

PhysicalObjectowner
 Robot/object with the microphone.
 
Vector micAbsPos
 Absolute position in the world, updated on init()
 
Vector micRelPos
 Relative position of mic on object.
 
MicrophoneResponseModel micModel
 Microphone frequency response model.
 
double range
 Actual detection range.
 
unsigned noOfChannels
 No of frequency channels distinguished in input.
 
double * acquiredSound
 microphone input signal (array of size noOfChannels)
 
- Protected Attributes inherited from Enki::LocalInteraction
double r
 Radius of the local interaction.
 
Robotowner
 The physical object that owns the interaction.
 

Detailed Description

A generic sound sensor/microphone.

Constructor & Destructor Documentation

Enki::Microphone::Microphone ( Robot owner,
Vector  micRelPos,
double  range,
MicrophoneResponseModel  micModel,
unsigned  channels 
)

Constructor e.g.

: Microphone(this, Vector(0.5, 0.5), 5, micStepModel, 20); meaning: the mic is (0.5, 0.5) away from robot center, can hear sounds up to 5 units away, uses a step model to detect sounds and can distinguish 20 frequencies

References acquiredSound, Enki::PhysicalObject::angle, micAbsPos, micModel, micRelPos, noOfChannels, owner, Enki::PhysicalObject::pos, Enki::LocalInteraction::r, and range.


The documentation for this class was generated from the following files: