Oftentimes in computing, we start doing a thing, and we’re glad we’re doing it. But then we realise, it would be much nicer if we could do it much faster. [Ricardo de Azambuja] was in just such a situation when working with the Raspberry Pi Zero, and realised that there were some techniques that could drastically speed up Fast Fourier Transforms (FFT) on the platform. Thus, he got to work.
The trick is using the Raspberry Pi Zero’s GPU to handle the FFTs instead of the CPU itself. This netted Ricardo a 7x speed upgrade for 1-dimensional FFTs, and a 2x speed upgrade for 2-dimensional operations.
The idea was cribbed from work we featured many years ago, which provided a similar speed up to the very first Raspberry Pi. Given the Pi Zero uses the same SoC as the original Raspberry Pi but at a higher clock rate, this makes perfect sense. However, in this case, [Ricardo] implemented the code in Python instead of C as suits his use case.
[Ricardo] uses the code with his Maple Syrup Pi Camera project, which pairs a Coral USB machine learning accelerator with a Pi Zero and a camera to achieve tasks such as automatic licence plate recognition or facemask detection. Fun!
One of the hard things about electronics is that you can’t really see the working parts without some sort of tool. If you work on car engines, fashion swords, or sculpt clay, you can see with your unaided eye what’s going on. Electronic components are just abstract pieces and the real action requires a meter or oscilloscope to understand. Maybe that’s what [José] was thinking of when he built a-radio. This “humble experiment” pipes a scan from a software-defined radio into VR goggles, which can be as simple as a smartphone and some cardboard glasses.
The resulting image shows you what the radio spectrum looks like. Granted, so will a spectrum analyzer, but perhaps the immersion will provide a different kind of insight into radio frequency analysis.
Most people who deal with electronics have heard of the Fourier transform. That mathematical process makes it possible for computers to analyze sound, video, and it also offers critical math insights for tasks ranging from pattern matching to frequency synthesis. The Laplace transform is less familiar, even though it is a generalization of the Fourier transform. [Steve Bruntun] has a good explanation of the math behind the Laplace transform in a recent video that you can see below.
There are many applications for the Laplace transform, including transforming types of differential equations. This comes up often in electronics where you have time-varying components like inductors and capacitors. Instead of having to solve a differential equation, you can perform a Laplace, solve using common algebra, and then do a reverse transform to get the right answer. This is similar to how logarithms can take a harder problem — multiplication — and change it into a simpler addition problem, but on a much larger scale.
It always sounded a bit crunchy, but crunchy in a good way. SEGA’s 16-bit console, whether you call it the Genesis or Mega Drive, always had a unique sound thanks to it’s Yamaha YM2612 sound chip. The chip’s ability to reproduce shredding guitars and blasting bass drums was a joy to hear when placed in the hands of capable game developers. Games such as Toe Jam & Earl, Streets of Rage 2, and Sonic the Hedgehog 3 provided some of the most incredible game soundtracks of the ’90s; and while the retail shelf life of those games may have passed, their influence on sound design should not. One individual that is seeking to preserve that quintessential SEGA sound is [Artemio] whose MDFourier project seeks to capture it for future generations to hear.
MDFourier is a crowd sourced project. Users are asked to use two pieces of software to first generate common audio through a videogame console, and another to analyze the output as to form an audio signature of that machine. Of course SEGA were not always known for their stellar manufacturing record. Throughout the dozen or so board revisions of the Model 1 console there were factory bodge wires, there was also the Model 2 console, Model 3 console, Nomad handheld, Mega Jet, CDX/Multi-Mega, and Wondermega karaoke machine. Each new revision of machine created a slightly new soundscape, and no single piece of emulation software takes them all into account. [Artemio] wants to aggregate all of this data in order to improve SEGA Genesis/Mega Drive emulators, FPGA implementations, or whatever else the future may hold.
Fans of the suite of SEGA consoles, or even fans of great documentation, can take a look at some of initial results as well as the written procedure for contributing to the MDFourier project. For those seeking a more visual step-by-step approach there is this video from YouTube channel RetroRGB below: If you’d like that Sega sound for your MIDI instrument, take a look at this MIDI synth using a Genesis sound chip.
When it comes to wall-mounted ornamentation, get ready to throw out your throw-rugs and swap them for something that will pop so vividly, you’ll want to get your eyes checked. To get our eyes warmed up and popping, [James Best] has concocted a gargantuan 900-RGB-LED music visualizer to ensure that our bedrooms are bright and blinky on demand.
Like any other graduate from that small liberal-arts school in southern California, [James] started prototyping with some good old-fashioned blue tape. Once he had had his grid-spacing established, he set to work on 2-meter-by-0.5-meter wall mounted display from some plywood and lumber. Following some minor adhesive mishaps, James had his grid tacked down with Gaffers tape, and ready for visuals.
Under the hood, a Teensy is leveraging its DMA capabilities to conduct out a bitstream to 900 LEDs. By using the DMA feature and opting for a Teensy over the go-to Arduino, [James] is using the spare CPU cycles to cook out some Fourier-Transformed music samples and display their frequency content.
We’ve covered folks proving the concept of driving oodles of WS2812B LEDs over DMA; it’s great seeing these ideas mature into a fully-featured project that lands on the walll. For more on chatting with WS2812B LEDs over DMA, have a look back into our archive.
When it comes to mathematics, the average person can probably get through most of life well enough with just basic algebra. Some simple statistical concepts would be helpful, and a little calculus couldn’t hurt. But that leaves out a lot of interesting mathematical concepts that really do have applications in everyday life and are just plain fascinating in their own right.
Chief among these concepts is the Fourier transform, which is the key to understanding everything from how JPEGs work to how we can stream audio and video over the Internet. To help get your mind around the concept, [Jez Swanson] has this interactive Fourier transform visualizer that really drives home the important points. This is high-level stuff; it just covers the basic concepts of a Fourier transform, how they work, and what they’re good for in everyday life. There are no equations, just engaging animations that show how any function can be decomposed into a set of sine waves. One shows the approximation of a square wave with a slider to control to vary the number of component sine waves; a button lets you hear the resulting sound getting harsher as it approaches a true square wave. There’s also a great bit on epicycles and SVGs, and one of the best introductions to encoding images as JPEGs that we’ve seen. The best part: all the code behind the demos is available on GitHub.
One of the nice things about living in the Internet age is that creating amazing simulations and animations is relatively simple today. [SmarterEveryDay] recently did a video that shows this off, discussing a blog post (which was in Turkish) to show how sine waves can add together to create arbitrary waveforms. You can see the English video, below.
We’ve seen similar things before, but if you haven’t you can really see how a point on a moving circle describes a sine wave. Through adding those waves, anything can then be done.