stefanodi, just to make it visible for those without your hardware, I built an AM generator only and used a Queue to output the final waveform to the Serial Plotter. As it sits, it runs 50% modulation. Oh, and I also...
I'm sorry, I added the carrier onto the 15 kHz and not the modulating voltage. Correcting that:#include <Audio.h>
AudioSynthWaveformDc dc1; //xy=80,871
AudioInputI2S i2s2; ...
Hi Stefanodi - What you have produces double sideband suppressed carrier. You need to add in a constant carrier level, like 1.0. This is like vout = *sin2*pi*15000*t wher m(t) is the modulating waveform that you have...
That noise sounds like mostly Gaussian-like noise. For this, spectral filtering reduces the noise power in proportion to the bandwidth. I suggest FIR filtering as ringing is greater for IIR (biquad) filtering. These...
The Teensy Audio library has sine wave generators and multipliers, the combination of which does AM. This is in 16-bit integer. See the Teensy Audio Design Tool.
Alternatively, this can be done in floating point...
Another new class, AudioSpectralDenoise_F32 has been added to the Floating Point Audio Library. Thanks to Graham Whaley for creating this class from the work of Frank, DD4WH, and others. This is a noise reduction...
I fixed the f32/F32 confusion and it compiles, so the library is good. When I tried to use input_spdif3 it compiled but I got a link error when it tried to tie the sample rate to AudioStream instead of AudioStream_F32....
Be aware that there is a problem with the f32 vs F32 designator on spdif files. I will get this fixed, but one may need a new pull from GitHub to get clean compile.
Also, I am adding the new files to the F32 Design...
I'm learning all about "automagically"!!!
After trying 16-bit stuff with no issues, I went to the SGTL5000 driver in the Teensy Audio Library and changed the I2S control to
write(CHIP_I2S_CTRL, 0x0010); //...
#Dragon that looks like a major contribution. We need to get this into the floating point F32 Teensy library.
It looks like there are really two areas. First is handling 24 or 23 bit I2S words on input and output. ...