The Daredevil Camera - seeing the world in sound - Page 1
Forum section: electronics / projects

author: Artlav
author_rank: Frequent Contributor
timestamp: June 29, 2016, 10:14:44 pm
content: Once upon a time a heard about a lens that could focus sound.Ever since then i wanted to have an ability to see sound.Imagine using such lenses to focus sound onto a plane of microphones.Just like light in a camera.One microphone is one pixel.A decade and several concepts later, i finally made one (albeit with FFT instead of lenses).http://www.ribbonfarm.com/2016/06/29/the-daredevil-camera/"Show off your project" part aside, can anyone think of a practical application for a something like that?Many people tell me to do a Kickstarter for it, but i just can't imagine any sort of a product out of it.I'll probably just release in as an open-source project, once all the bugs are ironed out.Any ideas on how to improve on this are also welcome.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 29, 2016, 11:15:29 pm
content: Someone was talking about precisely this as an potentially interesting FPGA application recently on embedded.fm , I think it was episode 155 :http://embedded.fm/episodes/155Not sure about useful applications, but I'm sure people would find it interesting, especially with a realtime display.If you've already got it to the point of working, I'd say it would be worth costing up production of a batch of maybe 100 and trying it on kickstarter.Submit it to hackaday - I bet there will be some interest

author: rs20
author_rank: Super Contributor
timestamp: June 29, 2016, 11:20:02 pm
content: So, this is Passive SONAR? Phased array?Also, did you consider having the microphone arranged not in a rectangular grid? I have considered doing something similar in the past, and I concluded that a high frequency at an angle sufficient to induce a 360 degree phase shift on adjacent microphones will induce 720, 1440 etc on other microphones -- thus appearing to be dead ahead. I always imagined that I'd place my microphones pseudo-randomly, even if it slightly increased the complexity of analysis.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 29, 2016, 11:26:10 pm
content: How about putting a directional ultrasonic transmitter in the middle and looking at the reflections?Or an array of emitters.As regards possible improvement, one thought is depending on the pitch, it may be cheaper to do the mic arrays as strips, to improve PCB panel utilisation, and maybe make it more modular for experimenting with different array sizes.For location of a single source, I wonder if a cross array may be effective as a lower cost option.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 29, 2016, 11:45:34 pm
content: Another reason for kickstarting a batch of boards is that before sending them out you could do some experiments with a really large array!As regards getting data out quickly to a PC - usb3 is probably the answer - FTDI do a USB3 interface chip.Alternatively Gbit ethernet - quite commonly used for industrial vision cameras

author: Artlav
author_rank: Frequent Contributor
timestamp: June 29, 2016, 11:52:05 pm
content: Quote from: mikeselectricstuff on June 29, 2016, 11:15:29 pmNot exactly - right now it stores on a bunch of microsd cards, which makes this barely practical.I'll need to make a real-time display board first.BTW, do you have any advice on how can you get 16 of 4 Mbit/s data streams into a PC?I left a 3-pin header on the cell for that purpose.Quote from: mikeselectricstuff on June 29, 2016, 11:15:29 pmShould i personally?These projects tend to find their own way to such places.I.e. there is a thread on Hacker News -https://news.ycombinator.com/item?id=12004866Quote from: rs20 on June 29, 2016, 11:20:02 pmNot exactly, but i guess it's similar to some extent.It's not optimized for locating sound sources.Quote from: rs20 on June 29, 2016, 11:20:02 pmNot sure how that would help - you'd still get the same aliasing issues, only with a more complex processing pipeline.Quote from: mikeselectricstuff on June 29, 2016, 11:26:10 pmYeah, i was thinking about using a white noise "flashlight" to illuminate the scene, but it would need some work before the result is intelligible - i.e. a regular camera at the middle of the array synced a-la the visual camera in the FLIR thermal cameras.Quote from: mikeselectricstuff on June 29, 2016, 11:26:10 pmWhat do you mean by strips?8x1?Back when i did the math, the cheapest option was the 8x8, since it would take the least amount of parts at most utilization.Quote from: mikeselectricstuff on June 29, 2016, 11:26:10 pmPerhaps, but i'm after images.To see the world in sound, not to locate a gunshot in a city.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 30, 2016, 12:18:13 am
content: Quote from: Artlav on June 29, 2016, 11:52:05 pmMake it drive the cheap Chinese RGB LED panels designed for video walls - insanely cheap and available in a variety of shapes & sizes with a fairly standard interface.And/or an LCD. Or VGA out.QuoteUSB3 - look at the FTDI FT60x devices. Or raw packets on Gige - The Chinese video wall controllers for the LED tiles use gigabit Ethernet for links - I think they use an off-the-shelf GigE controller to send raw ethernet packets.QuoteYes but a little push wouldn't hurtQuoteDepends on the spacing as to how worthwhile it is.For example if the array is 20mm pitch, then you could make, say, 10mm wide PCBs and get twice as many on the panel, saving bare PCB and assembly costs. The strips can probably also be two layer.As probably only the FPGA needs 4 layer, this could be a major cost saving, especially for larger spacingsIf you can figure out an interconnect/mounting scheme that doesn't cost more than the cost saving then it may be worth a serious look.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 30, 2016, 12:34:22 am
content: One tip with the SD cards - you may find that if you pre-erase every sector with FFs first before starting a recording, you may get more consistent write performance, as one reason for lumpy throughput is erase delays.

author: NiHaoMike
author_rank: Super Contributor
timestamp: June 30, 2016, 12:52:49 am
content: I remember reading in a science book that a balloon or beach ball filled with CO2 can be used as a lens for sound waves.

author: tombi
author_rank: Regular Contributor
timestamp: June 30, 2016, 05:47:25 am
content: In terms of applications -Could you overlay the image onto a light image? Like a thermal camera does.Then (assuming the resolution is high enough) you could use it to pinpoint the source of noise. For example you could find a noisy bearing or fan belt on a motor. Or could you visualize the sound reflections in a room when setting up speakers. How about locating a buzzing component on a SMPS PCB. What about locating and measuring the major sources of noise from a computer (i.e. which fan is making the noise).Tom

author: ivaylo
author_rank: Frequent Contributor
timestamp: June 30, 2016, 06:43:20 am
content: There is this -http://smins.co.kr/html/en/product/product_0201.html(discussed here before). If you manage to cut the price in say three, I say go kickstarter...

author: mtdoc
author_rank: Super Contributor
timestamp: June 30, 2016, 07:44:32 am
content: Really interesting project.I wonder if deaf people would find it useful?

author: bookaboo
author_rank: Frequent Contributor
timestamp: June 30, 2016, 08:44:10 am
content: Neat project I've seen some people use commercial ultrasonic listeners (or at least some sort of sonic pickup) for air leak detection in pneumatics and vibration analysis. Maybe there's some niche industrial application in there.Failing that would make an interesting interactive exhibition if pointed at an array of instruments.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 30, 2016, 08:45:49 am
content: Regarding the data rate to the host, to what extent could this be reduced by doing at least some initial process in the FPGA ?Presumably depends on the size of FPGA fitted. I'm not familiar with the Altera range but it would be good to have the option to fit different size devices.I think it's probably still worthwhile to have a means to get high bandwidth data so you can experiment with algorithms to later bake into the FPGA, e.g. for a standalone display.Something that may be worth exploring if you want to look at making these - Altera seem to be trying to get on The Maker bandwagon (they were at Maker Faire SF), so there might be some scope to get a good deal on the FPGAs if you can get in touch with the right people there. It's a good example of something that pretty much has to be done on an FPGA, so could be a good showcase product, and would also be a good exhibition demo piece.Another thought - is there an existing reasonable-cost Altera devboard with USB3 and enough IO that you could just do a microphone array board to plug into it?

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 30, 2016, 08:46:51 am
content: Quote from: bookaboo on June 30, 2016, 08:44:10 amImagine a big mic array in front of an orchestra, doing realtime visualisations projected on a huge screen....

author: Brutte
author_rank: Frequent Contributor
timestamp: June 30, 2016, 09:42:18 am
content: That is an interesting project.QuoteMake it modular. I'd use an USB Hi-Speed bridge.Either use a brain-dead FT232H ($3 a pop) or a custom uC (STM32F20x + ULPI or similar). The throughput is around 40MB/s (~320Mb/s).Then you can buy a PCIe USB 2.0 host card (usually 4 hosts/card), I think a motherboard with 4 slots is not particularly uncommon. So that gear would allow pulling in 640MB/s

author: rs20
author_rank: Super Contributor
timestamp: June 30, 2016, 11:17:57 am
content: Quote from: Artlav on June 29, 2016, 11:52:05 pmDid a quick sim, here's the PSF for a dead-ahead source with a 16x16 grid:And here's the PSF with 256 randomly placed mics within the same square area:I don't think the aliasing issues are the same.EDIT: After all, if a 2x2 grid has aliasing issue, then adding further mics on the same pitch, they're not going to help! If 2 mics have a 360 degree phase difference, then adding a third on the same pitch gives you 720 degrees, not disambiguating the situation at all. The additional mics sharpen the image, but sharpen the aliased images as well. Randomly placed extra mics sharpen the image, but also kill the aliases (albeit at the cost of a higher "noise floor", although with 256 mics that's very low in any case). I'm not necessarily adovcating random placement as the best approach, there's probably a more principled/structured approach that is better. But random appears to certainly be better than a regular grid.Regardless, I think you should continue with the grid approach for now since you already have it built, and I'm very excited to see the results!EDIT: Fixed broken image link.

author: ruffy91
author_rank: Regular Contributor
timestamp: June 30, 2016, 11:44:48 am
content: Aliasing is only a issue if the signal is purely periodic and harmonic.As soon as it is non-harmonic or non-periodic (noise for example) you won't have aliasing.So distributing the array random would allow to see more kinds of sound sources.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 30, 2016, 12:50:39 pm
content: Some application ideas :bat/bird/animal watching - imagine a view of some trees, where every bird sound marks the position of the bird, or zooms in on it.Insect seek & destroy - guide a laser to zap mosquitoes etc.Diagnosing mechanical/vibration issues (as shown in earlier link to commercial unit)Tracking popele on stage etc. using ultrasonic beacon - might have some advantages over IRTracking ball path e.g. tennis, using wind noise from ball going through air

author: andreymath
author_rank: Newbie
timestamp: June 30, 2016, 02:59:32 pm
content: Dear Artlav,here is a practical usage of your invention:track of the direction of the sound source.It can potentially become a sound radar :-) :-) :-)It will require some scientific/empirical research of the measurements......Good luck,

author: LaserSteve
author_rank: Super Contributor
timestamp: June 30, 2016, 03:08:33 pm
content: Oh, I hate to set you off onto this quest, but to make that an effective imager, you need two things to make your life easier. A precise means to move it along the Z axis, perhaps up to two meters or more, and a local "coherent" reference sound. Zone plates and Gas Balls also come to mind, but more as test sources rather then as lenses.Virtual TDOA by scanning the data off SD cards needs too much processing power. Adding the local coherent reference, allows the microphone diaphragm to become a mixer and phase detector.I used to work for a company that had world records in directivity and intensity of sound. That lasted a year.. I had started on a similar scanner, but done with far less elements. You really only need a sparse array if you have some control over what your imaging.When I worked for the company that did CT imaging, I had to learn that for certain modalities of imaging, it was best to realize that each image involved exactly the same series of software processing steps, and rather then use a general purpose computer, small arrays of FPGAs were used.In the past just boards full of TTL were used, mimicking certain processor instructions on a parallel, repetitive, basis. On a modern CT machine, 6 Gigabytes per second of data were coming off the sensor down four fibers in parallel, no single processor made could handle that pipe. FYI, the A/D converters for all 512 by 64 sensors were all current to frequency converters, which is the easy way to break the A to D barrier without buying massive arrays of flash AD converters. Its very easy to measure period over six orders of magnitude using an inverse counting scheme with some interpolation...I might upload something tomorrow, if I can find the book in the piling system. Your on to something very useful, and you don't know it yet. I cant find a good copy of Winston E. Kock's images on line, but I have a feeling you'll improve upon them. Dr. Kock's method used photo film as an integrator and storage medium. He imaged both near field sound and microwaves using a swinging arm, a neon lamp, and a detector. It looks like garbage until you add a local phase reference. These days that reference could be a noise sequence as well, but um, getting busted for ITAR scares me some times.Steve

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 30, 2016, 03:32:05 pm
content: Here's another application - monitor the audience at quiet concerts and point a STFU gobo-light at the inconsiderate gits who insist on talking through the music.

author: mark03
author_rank: Frequent Contributor
timestamp: June 30, 2016, 03:43:57 pm
content: Great project. Now you are starting to get an idea of the complexities faced in 3D ultrasound imaging... just imagine a 64x64 (or larger) array, with each channel sampled at tens of MHz!This is a perfectly ordinary sampling problem, only in three dimensions (x, y, and time) instead of one. As in textbook 1-D sampling it's the highest frequency that matters. The highest spatial frequency is 1/lambda (reciprocal of wavelength), attained when the source is 90 degrees off to the side. A uniform grid with pitch < lambda/2 = c/(2*f), where c is the speed of sound in air and f is the highest  frequency component, will allow a perfect reconstruction of the continuous wavefield on the aperture (thank you Nyquist).If the grid spacing does not meet this constraint, there will be aliases at certain angles, which are called "grating lobes". If the individual microphones have some directivity of their own, this can be a fair trade-off, because the grating lobes can be partially suppressed by the inherent fall-off in microphone response, while allowing a larger aperture for the same number of microphones. Larger aperture == better resolution. Resolution in the far field should be on the order of lambda/D radians where D is the aperture size.Random placement can be advantageous when the aperture is subsampled and you have undesirable grating lobes. It will act to spread out the grating-lobe energy across the image, instead of being concentrated in the aliases. Data processing is a lot less elegant and fun, though... no more FFTs for example. I would recommend against it.BTW if you want to save on the # of microphones you can theoretically get away with just one and reconstruct using synthetic-aperture techniques. This is normally done in a pulse-echo system where you send out a signal, listen to the reflection, move, then repeat. Of course it assumes the target is not moving/changing over the course of the experiment, and accurate knowledge of the tx/rx unit's path. In grad school I wanted to try this rolling an equipment cart along the sidewalk in front of a tall building, setting off a firecracker every ~ 10 cm

author: m98
author_rank: Frequent Contributor
timestamp: June 30, 2016, 06:00:35 pm
content: Uhm, probably I got something completely wrong, but why couldn't you do the same thing with a binaural microphone and some "magic mathematics stuff" to exactly resolve the sound sources based on phase shift, amplitude and blauerts frequency bands?

author: LaserSteve
author_rank: Super Contributor
timestamp: June 30, 2016, 07:51:28 pm
content: I found some of Dr. Kock's work on line. Keep in mind this man worked on Microscopy, Beamforming, Sonar, Radar, Microwaves, Loudspeaker Drivers, Crossover Networks, and Early Music Synthesizers, as well as other things. He spent quite a bit of time at Bell Labs, as well. That man designed electronic keyboards in 1936!http://blog.modernmechanix.com/mags/PopularScience/9-1950/sound.jpghttp://www.spirit-science.fr/doc_musique/FormesIMAG/07Kock.pnghttps://www.google.com/search?q=koch+acoustic+lens&biw=1440&bih=752&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjqiI3pxNDNAhUIQSYKHeYlBqs4ChD8BQgHKAI#tbm=isch&q=winston+koch+acoustic+lensHis publications, patents, and work with Dr. Harvey are amazing.Off Topic:http://120years.net/category/name/winston-e-kock/Steve

author: Brutte
author_rank: Frequent Contributor
timestamp: June 30, 2016, 07:58:53 pm
content: Quote from: mikeselectricstuff on June 30, 2016, 03:32:05 pmI'd wire the eChairs(TM) into 2D rows and columns. The sound monitor would just govern row and column multiplexer

author: Someone
author_rank: Super Contributor
timestamp: June 30, 2016, 09:30:30 pm
content: Quote from: rs20 on June 30, 2016, 11:17:57 amHello, would you share your simulation sources? It would be interesting to see the maths and how they compare to say a dct approach.

author: rs20
author_rank: Super Contributor
timestamp: June 30, 2016, 10:31:39 pm
content: Quote from: Someone on June 30, 2016, 09:30:30 pmUnfortunately this code is a MATLAB(/GNU Octave) special; dense and fun to write but not exactly the epitome of readability. Here it is, with no guarantee of intelligibility.Code:% 256 microphone positions, arranged in 16x16 (expressed as complex% numbers).array = kron(1:16, ones(16,1)) + 1i * kron((1:16)', ones(1,16)) - (8.5+8.5i);array = array(:);% OR, 256 microphones in random places within the same square area.%array = (15 * rand(256, 1) + 15i * rand(256,1)) - (7.5 + 7.5i);% X & Y coordinates spread over 640x480 image.x = kron(-319.5:320,ones(480,1));y = kron((-239.5:240)',ones(1,640));% This variable will accumulate the amplitude and phase of the waves to% each microphone, for every pixel and frequency in the image (3 slightly% different frequencies are tracked, to give colour to the image).s = zeros(480, 640, 3);% For each microphone in the array,for pos = array'% Measure the distance from the microphone to each pixel.distance = real(conj(pos) * (x + 1i * y));% Convert the distance into a phase (in radians? :P) for three% different fixed frequencies.phase = cat(3, 0.1 * distance, 0.105 * distance, 0.11 * distance);% Convert the phase to a phasor, and accumulate in s.s = s + exp(1i * phase);end% Display amplitude at each pixel, with sRGB gamma compensation (2.2).imshow((abs(s) / 242).^2.2)

author: rs20
author_rank: Super Contributor
timestamp: June 30, 2016, 11:02:15 pm
content: Regarding interface, I have a crazy but fun (to me) thought. I'm thinking that if you have a 44.1kHz sampling rate, and you divide the world in 1/60 second chunks, then in every chunk you have 44.1k / 60 = 735 samples, and 256 channels. This means your datacouldbe presented to the computer as a webcam providing 735x256 "pixel" "images" at 60 "f"ps. Obviously you wouldn't want JPEG compression on those "images", nor would this get around the need for USB3. However, if you can find a USB3 webcam interface chip, then you're golden, and writing your analysis code as a GPU shader than takes the "webcam video" as an input becomes very interesting.

author: barry14
author_rank: Regular Contributor
timestamp: June 30, 2016, 11:14:38 pm
content: Before you go too far, you might want to research the following areas: underwater acoustic imaging and side-scan sonar. Techniques to obtain high resolution images of underwater objects (including shipwrecks, cables and mines) using sound have been in existence for many years. They may provide you some insight for your project.

author: bitwelder
author_rank: Super Contributor
timestamp: July 01, 2016, 05:03:03 am
content: Quote from: mikeselectricstuff on June 30, 2016, 03:32:05 pmI'd like to see it at public libraries too (where it can double as 'art project')

author: Artlav
author_rank: Frequent Contributor
timestamp: July 02, 2016, 12:01:43 pm
content: Quote from: mikeselectricstuff on June 30, 2016, 12:18:13 amHuh, haven't thought about these.Thanks!Quote from: mikeselectricstuff on June 30, 2016, 12:18:13 amPerhaps, but in the end it made it there on it's own.For some reason it feel bad to advertise or push my projects.Quote from: mikeselectricstuff on June 30, 2016, 12:34:22 amI tried that, doesn't do anything.Quote from: tombi on June 30, 2016, 05:47:25 amYep, that's a part of the plan.It should even be better than thermal cameras, since i can stick the visible camera into the perfect center of the array.Quote from: mtdoc on June 30, 2016, 07:44:32 amI don't see what for, honestly.Quote from: mikeselectricstuff on June 30, 2016, 08:45:49 amMost of the FFT stuff, but that does not reduce the amount of data, just makes it easier for the PC to do the rest.Forming the final image is a bit too complex for FPGA, and everything below that uses the same amount of data.Quote from: rs20 on June 30, 2016, 11:17:57 amLooks about right.I haven't considered a random grid approach, the aliasing is merely disregarded by limiting the FOV of the camera.In practice, it does not seem to be a problem.Quote from: mikeselectricstuff on June 30, 2016, 03:32:05 pmIsn't that the same as the mosquito tracking, only with a weaker laser?Quote from: m98 on June 30, 2016, 06:00:35 pmAFAIK, there is a difference between "resolve" and "image".I'm not aware of any means to make an image with a higher resolution than the number of sensor positions.Quote from: rs20 on June 30, 2016, 11:02:15 pmI'm sampling at 48KHz, in chunks of 128, 30 times a second.This thing does not record sound as we know it, only as much as it needs to do the math.Quote from: barry14 on June 30, 2016, 11:14:38 pmPerhaps, but the sonar is somewhat of a different beast than this.

author: Artlav
author_rank: Frequent Contributor
timestamp: July 02, 2016, 12:05:11 pm
content: Oh, and if anyone is interested, here is the sample of the raw data for the last 16x16 video of the article:http://orbides.org/etc/snd_16x16_raw.tar.gz(4 Mb)One file per cell, 16bit signed samples.Stored row by row, 128 slices (at 48KHz) per frame (at 10 FPS).Samples can overflow only once per sample step.I'm hardly a signal processing expert, of if any of the gurus can get a better image than what i got, it should be interesting.

author: VK5RC
author_rank: Unknown
timestamp: July 02, 2016, 12:44:39 pm
content: If i recall correctly this issue was discussed briefly on one of the later AmpHour podcasts, the one with the CEO of Digilent, he gave this as an example of where parallel processing is vital as in a FPGA.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 02, 2016, 01:09:34 pm
content: QuoteA smaller version might be useful as a virtual phased array to automatically identify and focus on one speaker in a noisy environment

author: electr_peter
author_rank: Unknown
timestamp: July 02, 2016, 05:19:24 pm
content: Have a look at these videoshttps://www.youtube.com/user/sminstruments/videosTThera are some examples of real video and sound direction merging.

author: coppice
author_rank: Super Contributor
timestamp: July 03, 2016, 04:37:30 am
content: Quote from: mikeselectricstuff on July 02, 2016, 01:09:34 pmUsing microphone arrays to pick out speakers at a conference has been the subject of considerable research. You can identify a speaker and accentuate their voice against the background without too much trouble. However, obtaining clean audio from an identified speaker is tough, and I haven't seen a really successful example.

author: coppice
author_rank: Super Contributor
timestamp: July 03, 2016, 04:39:52 am
content: Its very cool to see how a device like this has become practical as a personal project. The last time I worked in sonar, in the 80s, devices like this occupied a substantial team for a considerable period. Of course, they cost a fortune, too.

author: radar_macgyver
author_rank: Frequent Contributor
timestamp: July 03, 2016, 06:12:55 pm
content: Cool project!You might consider doing averaging in the FPGA (average together a number of FFTs) prior to sending to the host. If the number of averages can be controlled, you have the option of reducing the data rate to make it easier to work with. If what you're looking for is visualization, then you don't need a super high update rate anyway.You could also consider doing an FFT in the audio sample domain (if I read your posts correctly, you are currently doing the FFTs only in the spatial X/Y domains). This lets you perform filtering (bandpass) in the FPGA and select just voice, or some other frequency band of interest. Do three different audio bands, then the spatial FFTs on each band. Drive the output to R, G and B (or better yet, H,S,V) to get a better visual effect. FPGA hardware can be time-multiplexed to handle the computations.The idea of doing speaker identification, etc is interesting, but you'll end up having to fight reflections and sidelobe pickup. The former can only be solved with an anechoic chamber. The latter may be attacked with better beamforming techniques than a plain 2D FFT. Capon beamforming is a technique often used in phased array radar. You can also apply a 2D window function prior to doing the beamforming FFT, this reduces sidelobes but at the cost of resolution.

author: Artlav
author_rank: Frequent Contributor
timestamp: July 06, 2016, 11:08:04 am
content: Quote from: mikeselectricstuff on July 02, 2016, 01:09:34 pmYou don't have to be deaf for that to be really useful.Hm, you probably must not be deaf at all to use it, unless there is a way to transform sound into something a deaf person can recognize.I've read that the early voice coders were used to allow deaf people to talk over the phone essentially by printing out sound spectrum with some hints added.Anyway, that's a completely different project.Quote from: VK5RC on July 02, 2016, 12:44:39 pmIndeed.I mentioned it in the article as well.Quote from: coppice on July 03, 2016, 04:39:52 amTechnology marches on.For example, a quadrocopter was invented back in the late 20s. What made them impractical back then was the lack of a way to keep it stable.Then, in early 2000s, chip-sized rotation sensors appeared, and all over the world enthusiasts started to put quadrotors together - all other parts were already available for decades.Just a "what if" at the right time, while looking at the right part on the online catalog, and a drone is born.Quote from: radar_macgyver on July 03, 2016, 06:12:55 pmI don't see how averaging can help reduce the data rate - it would still send the same amount of data, just take longer to produce it.Quote from: radar_macgyver on July 03, 2016, 06:12:55 pm30 frames per second, or it's no fun.Quote from: radar_macgyver on July 03, 2016, 06:12:55 pmI'm doing that already.Without it, the spatial FFT won't work at all.The colors in the videos correspond to the frequencies of the sound being seen.