Hi All,
I’m working on a (about to be open source) project right now involving a teensy 3.6 as lock-in amplifier:
https://en.wikipedia.org/wiki/Lock-in_amplifier
At the moment I’ve got it working quite nicely with the Teensy 3.6 and audio shield, and I can see the detected response as a complex number (i.e. I can see the amplitude of the detected signal, and the phase showing any delay of the system under test). The amount of maths involved is fairly trivial, and the Teensy is spending most of its time doing nothing.
Oh, as a side note, the teensy audio web tool & libraries are awesome, and it’s made most of my development work extremely easy! Thank you to Paul and all the developers!
Anyway, my next step is to expand the system to have as many input channels as I can (8 would be good, but 16 or 32 would be awesome).
I see that I can use two audio shields on a Teensy, to get four input channels at full sample rate.
I also see that I can do without the audio shield and just use the ADCs directly. However it seems that the teensy ADC only supports two channels at the same time? (In the forums there’s some comments saying the AudioInputAnalog object needs an internal ADC to itself, of which there’s only two in hardware. However there’s some other comments I saw saying the ADC code was changing or had changed? So I’m not sure if that’s still a limitation?)
In my system I am dealing with audio stuff, but only signals around 1,000Hz range, so if I have to sample at a much smaller rate than the audio shield currently gives me, I expect I won’t be affected much.
So, to get lots of extra channels, my options seem to be:
1) Use multiple Teensys, each with two audio shields, to get four channels per teensy. This will definitely work, but cost me a lot more than I was hoping.
2) Use one Teensy, use hardware ADC for each signal, and multiple AudioInputAnalog objects & the audio library to process data. I suspect this won’t work because of AudioInputAnalog breaking somehow when more than two are used? But I’d love to be wrong about this.
3) Use one Teensy, use hardware ADC for each signal, skip the audio library and re-write all my signal processing. Pretty sure this will work, but is a lot of extra effort, and I do love the ease of the audio libraries.
Are there any other options I’ve missed, or is there a better way to approach this?
Cheers,
Gavin
I’m working on a (about to be open source) project right now involving a teensy 3.6 as lock-in amplifier:
https://en.wikipedia.org/wiki/Lock-in_amplifier
At the moment I’ve got it working quite nicely with the Teensy 3.6 and audio shield, and I can see the detected response as a complex number (i.e. I can see the amplitude of the detected signal, and the phase showing any delay of the system under test). The amount of maths involved is fairly trivial, and the Teensy is spending most of its time doing nothing.
Oh, as a side note, the teensy audio web tool & libraries are awesome, and it’s made most of my development work extremely easy! Thank you to Paul and all the developers!
Anyway, my next step is to expand the system to have as many input channels as I can (8 would be good, but 16 or 32 would be awesome).
I see that I can use two audio shields on a Teensy, to get four input channels at full sample rate.
I also see that I can do without the audio shield and just use the ADCs directly. However it seems that the teensy ADC only supports two channels at the same time? (In the forums there’s some comments saying the AudioInputAnalog object needs an internal ADC to itself, of which there’s only two in hardware. However there’s some other comments I saw saying the ADC code was changing or had changed? So I’m not sure if that’s still a limitation?)
In my system I am dealing with audio stuff, but only signals around 1,000Hz range, so if I have to sample at a much smaller rate than the audio shield currently gives me, I expect I won’t be affected much.
So, to get lots of extra channels, my options seem to be:
1) Use multiple Teensys, each with two audio shields, to get four channels per teensy. This will definitely work, but cost me a lot more than I was hoping.
2) Use one Teensy, use hardware ADC for each signal, and multiple AudioInputAnalog objects & the audio library to process data. I suspect this won’t work because of AudioInputAnalog breaking somehow when more than two are used? But I’d love to be wrong about this.
3) Use one Teensy, use hardware ADC for each signal, skip the audio library and re-write all my signal processing. Pretty sure this will work, but is a lot of extra effort, and I do love the ease of the audio libraries.
Are there any other options I’ve missed, or is there a better way to approach this?
Cheers,
Gavin