ARM project manager

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.
May 11, 2008
22,557
1,471
126
WG, just a suggestion:

Passive stereo-audio reception might work if you had a way to compare the original sound to an echo and recognise both.

Could you do a wave-mapping of each or would that take too long to compare?
Woulf it be better to transform it into a limited bandwidth frequency domain representation and then compare other noises to it to see what might match, but at a lower amplitude? Kind of like what we do with our minds when walking into a dark room. We hear our own footsteps, or other ambient noises and get a "feel" for the rooms dimensions.

We usually do not get the feel for the coffee table we bang our shins into, but still, you can usually tell the difference between a living room and a warehouse.....

well, i want to use sound recognition for determining the source in the future. But i do not know much about it. I myself have to look into it more then you i think. I do know, that when determining the position of a sound, that sound must have a certain minimal frequency. That is why humans have difficulties determining the location of a low frequency sound source.
For example with humans, the size of the skull, the distance between the ears, the shape of the ears all are important factors to be able to discriminate between phase variance in a sound of a certain minimum frequency that reaches both ears. I do noticed that animals that can move their ears independently from each other as for example cats can move their ears around, following their prey just by pointing their ears into the direction of the sound. I wondered what would happen if i would build an microphone
in an ear that i can rotate with a servo. It would produce a similar effect as a lesley speaker, a doppler effect. But with the rotating microphone you can track because of the doppler effect the sound source. At least , that is what i think. Another example is a bat. Some bat species use frequency sweeps to determine what kind of insect is flying in front of the particular bat.
The reflection is a combination of destructive and constructive interference of the frequency modulated sound. The bat knows from the resulting reflection what kind of shape the insect has, it what speed the insects wings move.

To be honest, i really only have clues at the moment. Maybe some of the matlab specialists can present you with a simplified but functional model.
 
May 11, 2008
22,557
1,471
126
WG, just a suggestion:

Passive stereo-audio reception might work if you had a way to compare the original sound to an echo and recognise both.

Could you do a wave-mapping of each or would that take too long to compare?
Woulf it be better to transform it into a limited bandwidth frequency domain representation and then compare other noises to it to see what might match, but at a lower amplitude? Kind of like what we do with our minds when walking into a dark room. We hear our own footsteps, or other ambient noises and get a "feel" for the rooms dimensions.

We usually do not get the feel for the coffee table we bang our shins into, but still, you can usually tell the difference between a living room and a warehouse.....

Did you get any further ?

I read my post back, and forgot the most important word : wavelength.

For example :
When the wavelength is too large, it will bend around an object that is smaller then the wavelength, if i am not mistaking.

It is the same cause why light can create a shadow.

That is what i meant with the size of the human skull. Bass sounds seems to come from any direction for most humans because of it's large wavelength. Thats why a subwoofer can work with a 5.1 setup. But afcourse , this is in an ideal room. As you yourself have already figured, the environment is as important as the sensor as is the source of the signal and the signal it self.
 
Last edited:
May 11, 2008
22,557
1,471
126
I am finally working on my bootloader again and the support from within the IDE.

Here are some preliminary pictures :

Advanced error window to explain in detail what is something wrong is wrong with the configuration settings.

And i am adding handy features for the bootloader.

new1.jpg


new2.jpg
 

Ninjahedge

Diamond Member
Mar 2, 2005
4,149
1
91
WG, I do not know if that is the case with longer wavelengths. The wave is actually a compression field, not a dimensional sine wave. I think some of the reasons that it is difficult to determine where it is coming from are things like resonant sound (lots of things start buzzing at that range) and possibly our own setup in our skulls and ears.

I think light exhibits the wave dimensionality perpendicular to axis of transmission (as shown by polarization and by inteference effects) but not sound....
 
May 11, 2008
22,557
1,471
126
WG, I do not know if that is the case with longer wavelengths. The wave is actually a compression field, not a dimensional sine wave. I think some of the reasons that it is difficult to determine where it is coming from are things like resonant sound (lots of things start buzzing at that range) and possibly our own setup in our skulls and ears.

I think light exhibits the wave dimensionality perpendicular to axis of transmission (as shown by polarization and by inteference effects) but not sound....

You are right, if i am correct sound is Longitudinal waves.
 
May 11, 2008
22,557
1,471
126
No matter of transversal waves or longitudinal waves, on my way to work i was thinking :

I envisioned it like this, there are a few constants and variables.

The size of the skull. The distance between the ears is a constant.
This can be used as a filter.

For example in an ideal room with no other sounds, a sinus wave of 1kHz is produced from a source 2 meters away from the left ear. The signal will enter the left ear first and the right ear afterwards. This time difference is no different then a phase difference between to signals. This time difference can be measured. Now we know where the sound comes from. We can also use the doppler effect for this, but that is for later optimalization.

In reality, there are more signals, reflections etcetera.
What we can do is use indeed use fourier analysis to lock onto a single sine wave of for example 1kHz. Now i mentioned the distance between the ears earlier. This distance can be used as a filter (meaning a deadband time delay)to ignoring everything of that same 1kHz sine wave within that time

Suppose the ears are 20 cm apart. Then the time that a 1khz signal can travel 20cm through the air is the time you do not have to look for that 1 khz signal at the right ear. Because there is no way that same signal could have entered your right ear already. This is your first filter. If you do this in parallel, you will find something interesting because it does not stop there. The advanced stuff will come when you start to track phase differences between a moving sound source by using the Doppler effect. An decreasing wavelength(higher frequency) is a signal source moving towards you, a increasing wavelength(lower frequency ) is a signal source moving away from you. The trick is to to do these features in parallel. Because you need to calculate and produce results faster then the time differences you want to measure.

I hope this will give you some idea...
Now i need breakfast.

^_^.
 
May 11, 2008
22,557
1,471
126
Well Ninjahedge, i am curious, did you get any further ?

I remembered something and tried to look it up, but i did not fully succeed to my satisfaction. I mentioned fourier analysis in my other posts. I may be wrong, but i think the cochlea of the inner ear functions as a mechanical version of a fourier transformation. Each section of the cochlea is more tuned for a certain frequency. At least that is what i think when i look at the shape of the cochlea.
The inside of the cochlea is packed with nerve cells with hairs that bend when the fluid in the inner ear moves around. I am not sure, but i vaguely remember something about standing waves and this causes specific hair nerve cells to respond to specific frequencies. Perhaps some one else who has more ready available knowledge fill me in or correct me when needed.
 

Ninjahedge

Diamond Member
Mar 2, 2005
4,149
1
91
Those guys? I think that is ear hair that vibrates at certain frequencies. When you hit the higher ones, the shorter hairs quiver and you get that set of nerves buzzing....

Also, sound does not bend like light does, it acts more like a blast wave, mushing the air in front of it. So if you are standing around the corner from a source, you can still hear it, but it may sound slightly different (definitely less clear).

This may be due to the visco-elastic nature of air... It may behave differently at different frequencies allowing some to pass around corners easier than others.....


I have not been actively looking, but I will let you know if I hear anything (no pun intended!).

GL!
 
May 11, 2008
22,557
1,471
126
Well, you are right to a certain degree. But what i mentioned does work. For example the Doppler effect with the siren of the passing ambulance can be clearly detected. And Dolphins, Whales, Orcas and bats can testify. The 3 first examples move around in water but bats do not. :)

To give you some idea, atoms create spherical wave oscillations. But put a few of the spherical wave generators (the atoms) after each other and you get what is known as plane waves in the same direction as the atoms are lined up. These plane waves seem (at least for the understanding of the subject) to behave similar as compression fronts and stretching fronts in air.
At least, these plane waves explain the double slit experiments nicely. That is why waves produce a dotted pattern. (This is about electromagnetic radiation.)

But to return to the subject of sound waves. The wavelength of sound waves is so large that these sound waves bend easily around an object. But the whole idea is that this bending still causes a delay. A phase difference. A time difference. And one more trivial piece of information. It is mentioned that in the past when Albert Einstein heard the Doppler effect on a passing train he instantly realized that this also could happen to light waves, although i do not know if this is true. ^_^

I hope i provided some idea.

I am not in the habit of bragging, and i will not start now.
But here is something about photons and light waves.
It's old and maybe not entirely up to date but nevertheless interesting and fun to watch.

http://video.google.com/videoplay?d...5jt-Qbm4tmCDw&q=electromagnetic+waves&view=2#

EDIT:
Almost forgot, a good song.

http://www.youtube.com/watch?v=Hvfqrf9nZC0
 
Last edited:
May 11, 2008
22,557
1,471
126
Yahoo.

I have almost finished my draft version of the bootloader protocol i have developed by taking my best idea's with the best idea's of other people while taking into account the small size of memory and size of flash page sizes:

I am going to put a complete pdf with description soon at the W-ARM sourceforge site. After that i will be implementing this into the bootloader and the program. As all software and documents available will be afcourse free of use or as a design startpoint for everybody to use in their own implementations.

4 bytes-4bytes-2bytes-2bytes-2bytes-maximum 256 bytes.
CMD---- REPLY-CRC----SIZE---NR-----MESSAGE


This is the spec :

V1.0 Specifications :

Packet based system.
Each packet has a maximum size of 256 bytes + 14 bytes = 270 bytes.

Command : 4 bytes.
Reply : 4 bytes.

Minimum message size : 0 bytes.
Maximum message size : 256 bytes.
Maximum amount of packets that can be transferred : 65536.

Maximum addressable range :
256 bytes x 65536 = 16MB or 16777216 bytes.
Crc 8 bit (or 16 bit CRC, i am still thinking about it) on a 256 + 14 bytes = 270 bytes maximum size packet.

Error detection methods :
# echo of transmitted command.
# 8 bit (or 16bit)crc.
# size check.
# packet number.

It is packet based expecting a reply but it can also be configured to do ballistic transfers without immediate reply where bandwidth and time-slots are not guaranteed such as gprs connections.
 
May 11, 2008
22,557
1,471
126
I have almost finished my spec and accompanying pdf file for the bootloader i am making.

This is the final spec :

V1.0 Specifications :

1 byte-1byte-2bytes-2bytes-2bytes-minimum0 bytes, maximum 256 bytes.
CMD-- REPLY-CRC----SIZE---NR-----MESSAGE

Packet based system.
Each packet has a maximum size of 256 bytes + 8 bytes = 264 bytes.

Command : 1 byte.
Reply : 1 byte.

Minimum message size : 0 bytes.
Maximum message size : 256 bytes.
The size is the amount of bytes in the message and is not zero index based.

Maximum amount of packets that can be transferred : 65536.
Packet numbering is zero index based.

Maximum addressable range :
256 bytes x 65536 = 16MB or 16777216 bytes.
Crc 16 bit on a 256 + 8 bytes = 264 bytes maximum size packet.

Error detection methods :
# echo of transmitted command. (In normal mode only.)
# 16 bit crc based on CRC-16. X^16+X^15+X^2+1.
# size comparison check.
# packet number comparison. (In normal mode only.)

I will update this post when i have added the pdf. (I need to make one more flow chart).

Then i can quickly write the code and add to the W-ARM ide. Later on in time(may be a few weeks) i will post a new update with code and a working programming option and bootloader example code.

After that i can finally play with all my electronic toys and connect it all together. Fun times are coming.
 
Last edited:
May 11, 2008
22,557
1,471
126
New pictures of still ongoing improvements.

warm1.png


warm2.png


warm3.png


warm4.png


I did not post the new version yet on sourceforge. I am still making some changes. I really want the bootloader written by myself to be fully functional and optimized first. Even if it initially only will work with com ports or USB com ports. An USB version is in the list of desires and on the todo schedule. When i post the new version on source forge including a long list of new options and bug fixes i will post here a confirmation.
 
Last edited:
May 11, 2008
22,557
1,471
126
Because i have not had much time anymore, the w-arm project has come to halt for some time now but i hope to revive the project soon again.

I even have been able to make a schematic and pcb of a simple controller pcb that can fit on a breadboard prototyping bord or on a prototyping pcb or on a designed pcb with headers. I hope to have my own pcb soon.
If anyone interested sees an error in the design, please let me know.
Here is a pdf with schematic and pcb layout.
The pcb is a dual layer with a large ground plane.

http://dl.dropbox.com/u/45177488/w-arm/sam7s_10072012a.pdf

http://dl.dropbox.com/u/45177488/w-arm/sam7s_pcb_10072012_a.pdf

If it works and you are interested, feel free to make one of your own. It is open source. :)
 
Last edited: