ΣSigmaStudio Ask AI Русский Log in

Hard clipper bug, or am I losing it?

SigmaDSP & SigmaStudio jimwoodElectrojim Sep 18, 2018 00:00 7 replies Original on forum ↗
Subscribe
jimwoodElectrojim Question
Sep 18, 2018 00:00

I'm using the Hard Clip function under Nonlinear Processors in the ADAU1701 platform, and think there's something amiss. If I pull-down a single clipper package, all is well. I can set it to + and - values and, sure enough, any waveform going through it is squashed to those assigned limits. However, do a 'grow algorithm' for the other stereo channel, and all hell breaks loose. Not only does the new (right) channel exhibit gross performance problems, but the original (left) one gets messed-up too. The positive clipping level appears to be zero volts regardless of what the number on the module is set to. Of course pulling-in a second clipper is no big deal; everything works fine. But the schematic could look cleaner with just a single block.

Audio Signal Processors

SigmaDSP Audio Processors

adau1701

KJBob Reply
Sep 19, 2018 00:00

Hi Jim,

Well you haven't lost it -- the clipper failed exactly as you described in SigmaStudio 3.17. But it works fine in SigmaStudio 4.1, as shown below:

So it appears to be a bug which the hard-working SigmaStudio programmers swatted somewhere in between these versions. Sigma 100 (AD1940, ADAU1701) code dates back to the Late Cretaceous, so we tend to assume it's quite static -- but every once in a while, something like this shakes the bedrock just a bit.

Best regards,

Bob

Clip_4-1_sch.png
Clip_4-1_sch.png
jimwoodElectrojim Reply
Sep 19, 2018 00:00

Great! All I need do is update my version of SigmaStudio. Hmmm. Not that easy. When I try to load my project into 4.1, I get this:

I'll have to look into this. Reopened 3.14 and it still works.

pastedimage1537401152487v1.png
pastedimage1537401152487v1.png
KJBob Reply
Sep 19, 2018 00:00

Jim,

(that's Dinotopian footprint for, GASP!). I hate when this happens, especially since the way I fix it is to re-create the entire project in the new version. Unless a guru at ADI has a fix, of course...

GASP.jpg
GASP.jpg
jimwoodElectrojim Reply
Sep 20, 2018 00:00

Uh oh. Well, I sure hope someone comes up with a fix. Between the several of us at work, we have at least a dozen .dspproj files for current production. Re-creating those would be a royal nightmare. Although they've been reduced to code, we always go back to a chassis that's been hotrodded to run from SigmaStudio to nurse-in mods and changes. I'll be sure to hold onto the old version, but please, someone make this right.

DaveThib Reply
Sep 20, 2018 00:00

Hello Jim,

You should be able to open old files in the new revision of SigmaStudio. Going the other way is more difficult since it depends on the devices used and the cells used.

I am sending you an email so you can send over your project. I would like to try to open it on my system here.

Thanks!

Dave T

DaveThib Reply
Sep 20, 2018 00:00

Hello Bob and Jim,

Yes, I had run across this bug and reported it and it was fixed. I too have the same reaction and questions as to why old code that was not touched no longer works! I think it was that they changed some of the structure of the program and missed updating this code. But, it should be working fine on Rev 4.1

Dave T

jimwoodElectrojim Reply
Sep 24, 2018 00:00

Well, guys, I found the problem. What I did was to load a very early version of the circuit I'd been working on, and it compiled and ran just fine under SigmaStudio 4.1. So I experimented with later versions until I came across one that would NOT run. It gave me the same error messages I noted above. Then I began pulling out parts. I narrowed it down to a 2-channel, first-order high-pass filter.

SigmaStudio 4.1 does not like that filter! I even replaced the one I'd picked under SigmaStudio 3.14 with one from the 4.1 menu tree. No problem when hooking it up, but as soon as I changed the function of the filter from the default low-pass characteristic to high-pass, I got error messages on the screen immediately... and of course it would not compile and run.

But not to worry, I simply took a General Second Order filter from the tree, selected a first-order function from the list of options for its use, and made it a high-pass. Works like a champ!

So maybe no one ever tried the first-order high-pass from the menu tree; something strange going on there that needs to be fixed.

pastedimage1537829466385v1.jpeg
pastedimage1537829466385v1.jpeg
pastedimage1537829984828v2.png
pastedimage1537829984828v2.png
pastedimage1537830347370v3.png
pastedimage1537830347370v3.png