Typical spectrometers use prisms or diffraction gratings to spread light over a viewing window or digital sensor as a function of frequency. While both prisms and gratings work very well, there are a couple of downsides to each. Diffraction gratings produce good results for a wide range of wavelengths, but a very small diffraction grating is needed to get high-resolution data. Smaller gratings let much less light through, which limits the size of the grating. Prisms have their own set of issues, such as a limited wavelength range. To get around these issues, [iliasam] built a Fourier transform spectrometer (translated), which operates on the principle of interference to capture high-resolution spectral data.
[iliasam]’s design is built with an assortment of parts including a camera lens, several mirrors, a micrometer, laser diode, and a bunch of mechanical odds and ends. The core of the design is a Michelson interferometer which splits and recombines the beam, forming an interference pattern. One mirror of the interferometer is movable, while the other is fixed. [iliasam]’s design uses a reference laser and photodiode as a baseline for his measurement, which also allows him to measure the position of the moving mirror. He has a second photodiode which measures the interference pattern of the actual sample that’s being tested.
Despite its name, the Fourier transform spectrometer doesn’t directly put out a FFT. Instead, the signal from both the reference and measurement photodiodes is passed into the sound card of a computer. [iliasam] wrote some software that processes the sampled data and, after quite a bit of math, spits out the spectrum. The software isn’t as simple as you might think – it has to measure the reference signal and calculate the velocity of the mirror’s oscillations, count the number of oscillations, frequency-correct the signal, and much more. After doing all this, his software calculates an interferogram, performs an inverse Fourier transform, and the spectrum is finally revealed. Check out [iliasam]’s writeup for all the theory and details behind his design.
If you’re into mechanical devices or Fourier series (or both!), you’ve got some serious YouTubing to do.
[The Engineer Guy] has posted up a series of four videos (Introduction, Synthesis, Analysis, and Operation) that demonstrate the operation and theory behind a 100-year-old machine that does Fourier analysis and synthesis with gears, cams, rocker-arms, and springs.
In Synthesis, [The Engineer Guy] explains how the machine creates an arbitrary waveform from its twenty Fourier components. In retrospect, if you’re up on your Fourier synthesis, it’s pretty obvious. Gears turn at precise ratios to each other to create the relative frequencies, and circles turning trace out sine or cosine waves easily enough. But the mechanical spring-weighted summation mechanism blew our mind, and watching the machine do its thing is mesmerizing.
In Analysis everything runs in reverse. [The Engineer Guy] sets some sample points — a square wave — into the machine and it spits out the Fourier coefficients. If you don’t have a good intuitive feel for the duality implied by Fourier analysis and synthesis, go through the video from 1:50 to 2:20 again. For good measure, [The Engineer Guy] then puts the resulting coefficient estimates back into the machine, and you get to watch a bunch of gears and springs churn out a pretty good square wave. Truly amazing.
The fact that the machine was designed by [Albert Michelson], of Michelson-Morley experiment fame, adds some star power. [The Engineer Guy] is selling a book documenting the machine, and his video about the book is probably worth your time as well. And if you still haven’t gotten enough sine-wavey goodness, watch the bonus track where he runs the machine in slow-mo: pure mechano-mathematical hotness!
Continue reading “Harmonic Analyzer Mechanical Fourier Computer”
The Raspberry Pi has been around for two years now, and still there’s little the hardware hacker can actually do with the integrated GPU. That just changed, as the Raspberry Pi foundation just announced a library for Fourier transforms using the GPU.
For those of you who haven’t yet taken your DSP course, fourier transforms take a function (or audio signal, radio signal, or what have you) and output the fundamental frequency. It’s damn useful for everything from software defined radios to guitar pedals, and the new GPU_FFT library is about ten times faster at this task than the Raspi’s CPU.
You can get a copy of the GPU_FFT library by running rpi-update on your pi. If you happen to build anything interesting – something with a software defined radio or even a guitar pedal – you’re more than welcome to send it in to the Hackaday tips line. We’d love to see what you’re up to.
Here’s a really quick video which takes a different approach to understanding the Fourier Series than we’re used to. If you’re a regular reader we’re sure you’ve heard of the Fourier Series (often discussed as FFT or Fast Fourier Transform), but there’s a good chance you know little about it. The series allows you to break down complex signals (think audio waves) into combinations of simple sine or cosine equations which can be handled by a microcontroller.
We’ve had that base level of understanding for a long time. But when you start to dig deeper we find that it becomes a math exercise that isn’t all that intuitive. The video clip embedded after the break changes that. It starts off by showing a rotating vector. Mapping the tip of that vector horizontally will draw the waveform. The Fourier Series is then leveraged, adding spinning vectors for the harmonics to the tip of the last vector. The result of summing these harmonics produces the sine-based square wave approximation seen above.
That’s a mouthful, and we’re sure you’ll agree that the video demo is much easier to understand. But the three minute clip just scratches the surface. If you’re determined to master the Fourier Series give this mammoth Stanford lecture series on the topic a try.
Continue reading “Retrotechtacular: The Fourier Series”
If you’ve ever wanted to make your own VU meter but were scared off by the signal process you need to study this tutorial.
Hackaday Alum [Phil Burgess] developed the device using an RGB LED matrix, microphone, and an Arduino. You’ll notice that is doesn’t include an MSGEQ7 chip which we see in most of these types of projects. We have seen a few that use the Fast Fourier Transform to map the audio signal on the display as this one does. But [Phil’s] choice of an assembly language Library for ATmega chips makes this really simple to roll into your own projects.
The one drawback to the hardware choices made here is that there are only eight bits of vertical resolution. It takes a little creative interpretation to make this look good, but the use of color mixing really makes a difference. See for yourself in the demo after the break.
Continue reading “Color LED matrix VU meter shows how to use FFT with Arduino”
While [Vinod] says he’s not an expert in this sort of thing, we really like his audio spectrum analyzer build from a simple microcontroller and LCD display.
It is a well-studied fact that every audio waveform – a recording of your voice, for instance – is just the sum of many, many sine waves. These sine waves can be plucked out using Fourier analysis, using a Discrete Fourier transform. This is the principle that spectrum analyzers operate under; [Vinod] wrote a bit of code using DFT to take apart audio captured from a microphone and output their frequency on an LCD display.
To output the spectrum on his LCD, [Vinod] stacked horizontal bars up into 8 custom characters in his display. Like [Vinod]’s previous audio on an ATMega32 experiment, an LM324 amplifier is connected to the ATMega through an analog pin. [Vinod] has a very clever build on his hands with his spectrum analyzer, and a great answer to the perennial ‘how do I build a guitar tuner’ questions we’re constantly asked.
After the break, you can see [Vinod]’s spectrum analyzer in action. Be forewarned; you may want to turn down the volume.
Continue reading “Making an audio spectrum analyzer with a microcontroller”