An oscilloscope display is shown, showing two plots. A blue plot is shown at one level, and over multiple exposures at different places, it jumps to a higher level. Another yellow trace is shown which, at some point after the blue trace has jumped to a higher level, also jumps cleanly to a higher level. The yellow line is labeled "CFD output," while the blue line is labeled "leading edge discriminator."

A Constant-Fraction Discriminator For Sub-Nanosecond Timing

Detecting a signal pulse is usually basic electronics, but you start to find more complications when you need to time the signal’s arrival in the picoseconds domain. These include the time-walk effect: if your circuit compares the input with a set threshold, a stronger signal will cross the threshold faster than a weaker signal arriving at the same time, so stronger signals seem to arrive faster. A constant-fraction discriminator solves this by triggering at a constant fraction of the signal pulse, and [Michael Wiebusch] recently presented a hacker-friendly implementation of the design (open-access paper).

A constant-fraction discriminator splits the input signal into two components, inverts one component and attenuates it, and delays the other component by a predetermined amount. The sum of these components always crosses zero at a fixed fraction of the original pulse. Instead of checking for a voltage threshold, the processing circuitry detects this zero-crossing. Unfortunately, these circuits tend to require very fast (read “expensive”) operational amplifiers.

This is where [Michael]’s design shines: it uses only a few cheap integrated circuits and transistors, some resistors and capacitors, a length of coaxial line as a delay, and absolutely no op-amps. This circuit has remarkable precision, with a timing standard deviation of 60 picoseconds. The only downside is that the circuit has to be designed to work with a particular signal pulse length, but the basic design should be widely adaptable for different pulses.

[Michael] designed this circuit for a gamma-ray spectrometer, of which we’ve seen a few examples before. In a spectrometer, the discriminator would process signals from photomultiplier tubes or scintillators, such as we’ve covered before.

An Effects Pedal For Keyboards (and Mice)

Effects pedals for musical instruments like electric guitars can really expand a musician’s range with the instrument. Adding things like distortion, echo, and reverb at the push of a button can really transform the sound of a guitar and add depth to a performance. But [Guy] wondered why these effects should be limited to analog signals such as those from musical instruments, and set about to apply a number of effects to the use of computer keyboards and mice with this HID effects pedal.

The mouse is perhaps the closer of the two to an analog device, so the translations from the effects pedal are somewhat intuitive. Reverb causes movements in the mouse to take a little bit of extra time before coming to a stop, which gives it the effect of “coasting”. Distortion can add randomness to the overall mouse movements, but it can also be turned down and even reversed, acting instead as a noise filter and smoothing out mouse movements. There’s also a looper, which can replay mouse movements indefinitely and a crossover, which allows the mouse to act as a keyboard.

For the keyboard, included effects are a tremolo, which modulates between upper- and lower-case at certain intervals; echo, which repeats keypresses; and a pitch-shift which outputs a “higher” character in the alphabet above whichever one has been pressed. Like the mouse, there’s also a crossover mode which allows the keyboard to be used as a mouse.

The device looks and feels like an effects pedal for a guitar would, with a RP2040 inside to intercept HID information, do the signal processing, and then output the result to the computer. And, while [Guy] admits this was a fun project with not many practical uses, there are a couple handy ones including potentially the distortion effect to smooth out mouse inputs for those with neuromuscular disorders or the mouse looper to act as a mouse jiggler for those with micromanaging employers. It’s also reprogrammable, and as we’ve seen since time immemorial having a programmable foot keyboard can be extremely handy for certain workflows.

Continue reading “An Effects Pedal For Keyboards (and Mice)”

A Quick Look At The Hilbert Transform

While the Fourier transform gets all the attention, there are other transforms that engineers and mathematicians use to transform signals from one form to another. Sometimes you use a transform to make a signal more amenable to analysis. Other times, you do it because you want to manipulate it, and the transform is easier to change than the original signal. [Electroagenda] explains the Hilbert transform, which is often used to generate single-sideband signals.

The math behind the transformation is pretty hairy. However, if you understand the Fourier transformer, you can multiply the Fourier transform by -i sgn(ω), but that isn’t really going to help you much in a practical sense. If you don’t want to bog down in the math, skip immediately to section two of the post. That’s where it focuses more on the practical effect of the transform. You can think of the transform as a function that produces a 90 degree phase shift with a constant gain. For negative frequencies, the rotation is 90 degrees and for positive frequencies, the shift is negative.

Continue reading “A Quick Look At The Hilbert Transform”

Mapping of the displacement of a tympanum of the lesser wax moth (Achroia grisella). (Credit: Andrew Reid)

3D Printing Bio-Inspired Microphone Designs Based On Moth Ears

If many millions of years of evolution is good for anything, it is to develop microscopic structures that perform astounding tasks, such as the marvelous biology of insects. One of these structures are the ears of the lesser wax moth (Achroia grisella), whose mating behavior involves ultrasonic mating calls. These can attract the bats which hunt them, leading to these moths having evolved directional hearing that can pinpoint not only a potential mate, but also bat calling sound.

What’s most astounding about this is that these moths that only live about a week as an adult can perform auditory feats that we generally require an entire microphone array for, along with a lot of audio processing. The key that enables these moths to perform these feats lies in their eardrum, or tympanum. Rather than the taut, flat surface as with mammals, these feature intricate 3D structures along with pores that seem to perform much of the directional processing, and this is what researchers have been trying to replicate for a while, including a team of researchers at the University of Strathclyde.

To create these artificial tympanums, the researchers used a flexible hydrogel, with a piezoelectric material that converts the acoustic energy into electric signals, connected to electrical traces. The 3D features are printed on this, mixed with methanol that forms droplets inside the curing resin, before being expelled and leaving the desired pores. One limitation is that currently used printers have a limited resolution of about 200 micrometers, which doesn’t cover the full features of the insect’s tympanum.

Assuming this can be made to work, it could be used for everything from cochlear implants to anywhere else that has a great deal of audio processing that needs downsizing.

(Heading image: Mapping of the displacement of a tympanum of the lesser wax moth (Achroia grisella). (Credit: Andrew Reid) )

The Fastest Fourier Transform In The West

An interesting aspect of time-varying waveforms is that by using a trick called a Fourier Transform (FT), they can be represented as the sum of their underlying frequencies. This mathematical insight is extremely helpful when processing signals digitally, and allows a simpler way to implement frequency-dependent filtration in a digital system. [klafyvel] needed this capability for a project, so started researching the best method that would fit into an Arduino Uno. In an effort to understand exactly what was going on they have significantly improved on the code size, execution time and accuracy of the previous crown-wearer.

A complete real-time Fourier Transform is a resource-heavy operation that needs more than an Arduino Uno can offer, so faster approximations have been developed over the years that exchange absolute precision for speed and size. These are known as Fast Fourier Transforms (FFTs). [klafyvel] set upon diving deep into the mathematics involved, as well as some low-level programming techniques to figure out if the trade-offs offered in the existing solutions had been optimized. The results are impressive.

Fastest FFT code benchmarking results in ms
Benchmarking results showing speed of implementation versus the competition (ApproxFFT)

Not content with producing one new award-winning algorithm, what is documented on the blog is a masterclass in really understanding a problem and there are no less than four algorithms to choose from depending on how you rank the importance of execution speed, accuracy, code size or array size.

Along the way, we are treated to some great diversions into how to approximate floats by their exponents (French text), how to control, program and gather data from an Arduino using Julia, how to massively improve the speed of the code by using trigonometric identities and how to deal with overflows when the variables get too large. There is a lot to digest in here, but the explanations are very clear and peppered with code snippets to make it easier and if you have the time to read through, you’re sure to learn a lot!  The code is on GitHub here.

If you’re interested in FFTs, we’ve seen them before around these parts. Fill your boots with this link of tagged projects.

ADSL Router As Effects Pedal

Moore’s law might not be as immutable as we once though thought it was, as chip makers struggle to fit more and more transistors on a given area of silicon. But over the past few decades it’s been surprisingly consistent, with a lot of knock-on effects. As computers get faster, everything else related to them gets faster as well, and the junk drawer tends to fill quickly with various computer peripherals and parts that might be working fine, but just can’t keep up the pace. [Bonsembiante] had an old ADSL router that was well obsolete as a result of these changing times, but instead of tossing it, he turned it into a guitar effects pedal.

The principle behind this build is that the router is essentially a Linux machine, complete with ALSA support. Of course this means flashing a custom firmware which is not the most straightforward task, but once the sound support was added to the device, it was able to interface with a USB sound card. An additional C++ program was created which handles the actual audio received from the guitar and sound card. For this demo, [Bonsembiante] programmed a ring buffer and feeds it back into the output to achieve an echo effect, but presumably any effect or a number of effects could be programmed.

For anyone looking for the source code for the signal processing that the router is now performing, it is listed on a separate GitHub page. If you don’t have this specific model of router laying around in your parts bin, though, there are much more readily-available Linux machines that can get this job done instead.

Continue reading “ADSL Router As Effects Pedal”

Teleconferencing Like It’s 1988: Connecting Vintage Hardware To Zoom

Hang up your car phone and toss that fax machine in the garbage. Even back in the late 80s it was possible to do away with these primitive technologies in favor of video conferencing, even though this technology didn’t catch on en masse until recently. In fact, Mitsubishi released a piece of video conferencing equipment called the VisiTel that can be put to use today, provided you can do a bit of work to get it to play along nicely with modern technology.

[Alex] was lucky enough to have one of these on hand, as soon as it was powered up he was able to get to work deciphering the messaging protocol of the device. To do this he showed the camera certain pictures with known properties and measured the output waveforms coming from the device, which were AM modulated over an RJ9 connection which he had changed to a 3.5 mm headphone jack.

It communicates in a series of pictures instead of sending an actual video signal, so [Alex] had a lot of work to do to properly encode and decode the stream. He goes into incredible detail on his project page about this process and is worth a read for anyone interested in signal processing. Ultimately, [Alex] was able to patch this classic piece of technology into a Zoom call and the picture quality is excellent when viewed through the lens of $399 80s technology.

We have been seeing a lot of other hacks around video conferencing in the past six months as well, such as physical mute buttons and a mirror that improves eye contact through the webcam.