I'm cc'ing back to the help list to keep a record of my mistakes...

I don't know what the Moteworks app does with displayed data.
I would expect that the messages it receives contain the raw ADC
values, so you should be able to access them directly.

Without looking at all the code involved this is speculation:
Most likely the re-Mote program is sampling its inputs using
a Timer.fired() trigger. The TimerM module is limited to
somewhere between 1-3 (binary: 1024 instead of 1000) milli-sec
per fire minimum. Therefore doing high speed sampling for audio
or other data is limited. There are other timing mechanisms in
TOS and the ADC itself can free-run at the rates you show, but
then what do you do with the data? Mica2's can send something
like 500 bytes per sec, and micaz's maybe 5000...as long as
there is only one re-Mote in the system...

Someone asks how to do audio about every 6 months on this list,
but I've never seen anyone post a working program after I have
repeatedly tried to help them -- that must say something about
the quality of my help, eh? But you can try searching the list
for audio, microphone, and such like to see where we have been.

MS

Omar Bouzid wrote:
> Hi Michael,
> 
> It is mentioned in the MoteWork manual that sensor data converted to
> engineering units. Regarding to the ADC counts, how can I get the raw
> data which represents my signals?
> 
> I am also thinking that increasing the sampling rate will improve the
> quality of acquiring the signals, so I am now trying to implement a code
> that reads only the microphone input rather than the whole other inputs
> which might on the one hand, help to reduce the time needs for getting
> the microphone input, and on the other, give me the ability to test the
> effect of sampling rate on my acoustic signals which will be done in
> the next stage.
> 
> Regarding to the sampling rate, I am a little bit confused because:
> According to the information that I got from the Crossbow group, though
> that the microphone responds to 4.2 kHz generated by the buzzer and that
> the fastest sampling rate is probably in the order of 5 kHz. However, it
> is also mentioned in  the ADCControl.nc code that the sampling rate can
> take different values as illustrated below: /** * Sets the sampling rate
> of the ADC. * These are the lower three bits in the ADCSR register of
> the * microprocessor. * * The <code>rate</code> parameter may use the
> following macros or * its own value from the description below. * <p> *
> <pre> *  TOS_ADCSample3750ns = 0 *  TOS_ADCSample7500ns = 1 *
> TOS_ADCSample15us =   2 *  TOS_ADCSample30us =   3 *  TOS_ADCSample60us
> =   4 *  TOS_ADCSample120us =  5 *  TOS_ADCSample240us =  6 *
> TOS_ADCSample480us =  7 * </pre> * * @param rate 2^rate is the prescaler
> factor to the ADC. * The rate of the ADC is the crystal frequency times
> the prescaler, * or XTAL * 2^rate = 32kHz * 2^rate. * * @return SUCCESS
> if successful */ command result_t setSamplingRate(uint8_t rate);
> 
> Does this mean that the used microprocessor is able to achieve these
> levels of sampling rates, so using a self implemented circuit composed
> from a high microphone response and the prototype area such as MTS101CA
> and MDA100 might help to increase the sampling rate?.
> 
> I would be grateful if we could share ideas and information.
> 
> Cheers, OMB
> 
> 
>> -----Original Message----- From: Michael Schippling
>> [mailto:[email protected]] Sent: 13 August 2009 18:17 To: Omar Bouzid 
>> Cc: '[email protected]' Subject: Re: [Tinyos-help]
>> Units conversion of acoustic data
>> 
>> I'm not sure what you mean by "engineering units", but if you have
>> "ADC counts" they are the raw data from the converter. These are
>> exactly equivalent to voltage, since that is what is being converted:
>> 
>> volts = count/MAX * Vref
>> 
>> Where: volts is the signal voltage; count is the "ADC counts" result
>> you have; MAX is the ADC maximum range (10 bits == 1024 for the
>> atmega); Vref is the ADC reference voltage (nominally 3.3v for most)
>> 
>> For acoustic data, from a microphone, what you are getting is the
>> instantaneous signal voltage when the sample is made. This will vary
>> over the entire range of the ADC since you are sampling a fast
>> changing AC signal, usually at a very slow rate.
>> 
>> MS
>> 
>> 
>> Omar Bouzid wrote:
>>> Hi All,
>>> 
>>> By looking to the displayed data in MoteView most of them are
>> displayed
>>> in engineering units which are unlikely to give any sense, in 
>>> particularly the acoustic data that are captured by mts310's
>> microphone.
>>> Thus, I would like to know if someone have any experience to convert
>>>  them to voltage units.
>>> 
>>> Cheers, OMB
>>> 
>>> 
>>> _______________________________________________ Tinyos-help mailing
>> list
>>> [email protected] 
>>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-
>>> 
>> help
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to