AudibleInstruments icon indicating copy to clipboard operation
AudibleInstruments copied to clipboard

Braids: output offset by 0.16V

Open phdsg opened this issue 7 years ago • 12 comments

while checking if my meter module works ok, i noticed a little odd thing in braids.

i added braids to a blank rack and switched to drum mode, plugged the output into the meter, saw the 0.16V. then i switched on and off all the modes in the menu (low cpu, drift, etc.). when i switched sign on and off, the 0.16V were gone. repeated a few times to be sure. see screenshot: braids_output_offset

description: left side: braids added to blank rack, switched to drum. right side: braids added to blank rack, switched to drum, sign switched on and off again.

phdsg avatar Nov 20 '17 10:11 phdsg

Same here, I was able to reproduce this issue (Rack v.0.5.0, Win7).

MarcBoule avatar Nov 27 '17 20:11 MarcBoule

Is the Braids DAC DC coupled? If not, I should be HP filtering the output. Need to look at the schematics.

AndrewBelt avatar Nov 27 '17 20:11 AndrewBelt

Looks like it isn't. The DAC8551's output goes to some op-amps, with a 10µF capacitor in series in between the op-amps, before going to the Out jack.

I'd be curious to know if the 0.16V bug is part of the real Braids HW, and the SW version is simply replacating this (in this case it was ported beautifully!), or if it's a bug in the SW version. If it's a bug in the SW, fixing it might save some cycles by avoiding the filter?

MarcBoule avatar Nov 27 '17 20:11 MarcBoule

Sorry, not sure my 2nd paragraph makes any sense :-) if the output is AC coupled, then the 0.16V bug can't be there in the real physical module...

MarcBoule avatar Nov 27 '17 20:11 MarcBoule

When looking through the code in Braids.cpp, I noticed that in the constructor, the settings.signature variable is not initialised to the same value it takes after the SIGN option is toggled on and then back off again. Toggling the SIGN option twice leaves settings.signature equal to 0, however, its init value is 255 at line 95 in the code. When changing line 95 to

settings.signature = 0;

The 0.16V problem being reported seems to be absent. Can someone confirm this?

MarcBoule avatar Nov 30 '17 02:11 MarcBoule

Changed in 3139b6b because that initial value was incorrect. But this doesn't fix the DC offset of PLUK for example.

AndrewBelt avatar Nov 30 '17 03:11 AndrewBelt

seems fixed as andrew said: pluk is still weird. never the same offset and only happens when pluk is triggered from the program change. first trig-in usually brings it back to 0. only sometimes, if the offset is really high (0.2V) it takes two triggers to zero in.

phdsg avatar Nov 30 '17 08:11 phdsg

My guess is that PLUK just relies on the AC coupling of the output, so we should still add a filter.

AndrewBelt avatar Nov 30 '17 13:11 AndrewBelt

Indeed, that's some weird behavior in PLUK, and the filter approach would seem like the way to go from my view as well. Since the DAC8551's output in Braids is not bipolar, we can see why they needed the 10µF coupling capacitor (in between the two op-amps): image (https://upverter.com/synchromesh/ac0aa86d76b99e44/MI-Braids-v50/) I simulated this circuit, and from what I can determine, the HP cutoff frequency is around 0.6 Hz (:-)). Brings back some fond memories of my undergrad studies!

MarcBoule avatar Nov 30 '17 19:11 MarcBoule

I need to write a bunch of stock filters in dsp/. I haven't gotten around to it because there hasn't been a huge need. Maybe we should wait until I do that?

AndrewBelt avatar Nov 30 '17 19:11 AndrewBelt

All good; the remaining issue here is probably minor in consequence anyways. Perhaps we should still keep the issue open though, so that we don't forget about it when the filters do become ready.

MarcBoule avatar Nov 30 '17 19:11 MarcBoule

Definitely.

AndrewBelt avatar Nov 30 '17 19:11 AndrewBelt