Using stopwatch with feedback loop to create periodic test signal

Discussion created by BrettG on Sep 26, 2013

I was given the task today of using SigmaStudio to generate a very specific multichannel test signal that would loop endlessly. I was able to implement the signal generator by manually creating a sine tone lookup table and a stopwatch, along with some logic and delays. This project might be helpful to other users, so I am posting it here, along with screenshots of the results.


The signal is generated by the ADAU1442 and is sent out to a class D amplifier for testing.


The goal was to generate exactly 8 cycles of a 1 kHz test tone on 4 channels, in succession, and then to repeat the process endlessly. At a 48 kHz sample rate, 1 cycle of 1 kHz takes 48 samples, so 8 cycles takes 384 samples. With 4 channels, that brings the overall length of the multichannel test signal to 1536 samples.


In my approach, I generate one copy of the signal and then send it through a delay tree to generate the 3 delayed copies.


The stopwatch resets itself every 1536 samples, allowing the signal to repeat ad infinitum.


ScreenHunter_62 Sep. 26 11.50.jpg


Here is the resulting output:

ScreenHunter_62 Sep. 26 12.00.jpg