Last fall, I ran across the Kickstarter for the Teensy 3.5 and 3.6. The designer, Paul Stoffregen, bills his Teensies as “powerful microcontrollers for making awesome DIY electronic projects.” The Teensy 3.5 uses a 120 MHz ARM Cortext M-4 processor with a floating-point unit. The Teensy 3.6 has a 180 MHz processor. And, they are Arduino compatible.
“Hmmmm,” I thought to myself, “I bet these processors could do some digital signal processing.” I got really interested when I read about the Teensy Audio Library, which is a toolkit of dozens of audio processing components.
So, I joined the Kickstarter, and in due course a Teensy 3.5 arrived in my mailbox. Of course, I haven’t yet done anything with it.
Well, yesterday, my friend, Quentin, KD8IPF, sent me an e-mail posted to the 817ND mailing list. It was posted by Gareth, GI1MIC, and includes a couple of links to an open-source project that uses an earlier version of the Teensy to implement an audio DSP add-in for the FT-817. The links include:
- Code and instructions
- A video showing the Teensy DSP in action
Gareth notes, “The project is easily modified to run on other rigs or could be fitted inside an amplified speaker.” The latter is what I had in mind.
On the code and instructions page, Gareth links to a tool called TFilter. The web page describes this tool as “a web application that generates linear phase, optimal, equal ripple finite impulse response digital filters. It uses a pure javascript implementation of the Parks–McClellan filter design algorithm.” This tool generates the coefficients used by the Teensy program.
I haven’t really looked at the code yet, but Gareth’s program will switch between a CW filter, a SSB filter, and a third type that I couldn’t make out from the video. In Gareth’s application, the Teensy is embedded into the FT-817, and somehow he is able to use one of the radio’s controls to switch between the different filter types.
Another thing about Gareth’s project is that it uses a Teensy 3.2. The Teensy 3.2 uses a 72 MHz ARM processor, and apparently, that’s quite enough power for audio DSP. The Teensy 3.6 costs $30, while the Teensy 3.2 costs only $20.
I always thought that I’d build mine into a speaker. Not only that, I would like to have a PC application, somewhat like TFilter, that would allow a user to build his own filter on the fly. The program would have to calculate the coefficients on the fly and then download them to the filter.
Ed B. says
Dan,
Have you seen this one? Give it a look over…
http://www.sotabeams.co.uk/variable-bandwidth-filter-modules-ssb-cw/
Dan KB6NU says
Yes, I have seen that. Two things:
Gethin Evans says
I think the video says ‘morse’ then ‘ssb’ then ‘passthrough’. Very cool.
Dan KB6NU says
Ahhhh. That makes sense.
Pete Juliano says
Hi Dan,
Have been working on an 40 Meter SDR SSB Transceiver using the Teensy 3.5 and Codec Board. This is not my design nor my software; but is based on the work of Charlie ZL2CTM. On November 22nd, I made my first contact with the rig. I have a blog and you can see the rig and a couple of you tube videos so you can listen to how well it does. The blog is http://n6qw.blogspot.com
Dan KB6NU says
Thanks for the link, Pete! It looks like an interesting project.
russ ward w4ni says
u do not need such a fast arduino for dsp – the older uno works well – using here
arduino assembler code for either lp or bandpass at audio but am more interested
in using fir type 3 for hilbert transform to use as 90 degree phase use in single-signal receiver – am also using octave to derive the dsp coefficients – cann send u some code if u think helpful –