ADAU1701
Production
The ADAU1701 is a complete single-chip audio system with a 28-/56-bit audio DSP, ADCs, DACs, and microcontroller-like control interfaces. Signal processing...
Datasheet
ADAU1701 on Analog.com
Hello,
I am seeking assistance on how to split an audio signal into its upper and lower half-waves using logic blocks in Sigma Studio. I need to send each half-wave to a different output. Could you provide the steps required to achieve this within Sigma Studio? Additionally, I would like to know if it's possible to test this setup in the software itself without having any hardware present, as I am new to this and currently do not have any hardware available. Any guidance would be greatly appreciated.
Thank you in advance.
Hello Damnati,
Actually, you do not need to use the logic block although you could. We have a clipper block that will do this quite efficiently for you.
Here is where you find it:
Here is a program I put together in like three minutes that does this. I based it on my basic starter project.
Here is the output captured on a scope.
with the SigmaDSP you pretty much have to have the hardware. The program runs on the DSP not in SigmaStudio. SigmaStudio only allows you to create the program then control it once it is loaded into the DSP.
I just started a YouTube channel and there are some playlists setup for learning about programming these parts. This is the fastest way to come up to speed and have some fun along the way!
(4) How to SigmaDSP and SigmaStudio - YouTube
Here is the project file I just wrote.
ADAU1452 Positive and Negative waveform splitter.dspproj
Dave T
How precise is it? Is there crossover distortion if I put them back together? It needs to be perfect. Can you explain how the clipper works and whether it takes into account the bit that indicates whether the signal is positive or negative? I want a half-wave rectifier that cuts perfectly through the zero point. It's not possible in analog, but perhaps in the digital domain, because everything is quantized.
Thanks for your answer so far it helped alot !
I will check out your YouTube and will give you a like and sub!
Dio
Hello Dio,
A big part of my job here on the forum supporting customers is to teach how to use the tools. This took me literally one minute to use SigmaStudio to have the DSP test and answer your questions.
the clipper simply looks at the level of the sample and it limits the output to what I set it to. In both cases I set the limit to 0. If the sample on the positive side is greater than zero then the output will be zero. On the negative side if the sample is more negative than zero then the output will be zero. Therefore zero is included on both of them. This will prevent crossover distortion from happening.
To prove this I took the split signals and added them back together.
Then I took the oscillator that is the source, inverted it and added it back to the summed split signals. This will output a difference if any sample is different. Remember that this calculation happens every sample period. Then I amplified the difference signal by 42dB which is the max I could gain it up with only one volume control. I could cascade more volume controls but I figure 42dB will make any difference visible on a scope output.
Then I put in a switch so I can switch the output between the split signals and the sum in one channel and the amplified difference in the other.
This is an example of what I talked about in one of my videos about using SigmaStudio for troubleshooting. It is such a powerful tool!
Here is a screenshot of the program:
Here is a screenshot of the output on a scope:
The small hash you see on the blue trace is simply noise from the scope probe, ground noise, power supplies etc. when I mute the outputs in the SigmaStudio project there is no change so this noise is from the evaluation board and/or the scope probe and not the audio output of the DSP. Note, this is another reason I put in mutes right at the outputs. One reason is simple for channel identification but another is for things like this. To verify the signals.
So you see the results.
The combined waveform looks fine and the difference from the original unsplit signal is certainly what I would call zero difference.
I could go further and setup a test to see if any sample is not equal to zero and then put that into a counter to count how many samples are not zero but that would take me about 20-30 min to do so I am being lazy and using a scope and lots of gain.
Here is the modified project if you want to experiment with it further.
2844.ADAU1452 Positive and Negative waveform splitter.dspproj
Dave T
Man, you are the most competent Guy on the internet I met so far. Thanks a lot.
Is there a way we can get in touch and talk about some deeper details of my project.
I also looking for a way to analyse the output of an amp with a DSP make some fft and feed the noise back into the amp to cancel it out. And also make some auto EQ and latency/phase alignment stuff.
Do you like to support me ?