[music-dsp] signal splitting revisited
hplus at mindcontrol.org
Fri Nov 16 13:04:09 EST 2001
The idea is to use a full-volume noise signal and the inherent
reversibility of modulo 2 arithmetic to mask the input signal.
If you just add noise of the same amplitude as the signal
(assuming the signal is full-volume as well) then you will be
able to pick out the signal in the noise.
However, if you treat the addition as modulo 2-to-the-16th
(assuming 16-bit PCM encoding here) then, because the noise is
already full-volume, you'll get a significant amount of wrapping
when you have a significant amount of signal, and the wrapping
will add transient-like characteristics to the signal, adding
that extra signal-dependent distortion to mask it completely.
As I don't speak Matlab (never found anything wrong with C :-)
let me try some pseudocode:
let in = array-of-your-input-signal-in-16-bit-pcm;
let len = length-of-"in"-counted-in-samples;
let out_a = array-of-"len"-random-numbers-in-[-32768,32767]; // noise signal
let out_b = empty-array-of-size-"len";
for off in [0,len) do:
let out = in[ off ] + out_a[ off ];
if out > 32767 then:
out -= 65536;
if out < -32768 then:
out += 65536;
-- NOTE: see below --
out_b[ off ] = out;
The trick here, I guess, is that the "effective" range of signal A,
because of the modulo arithmetic, is twice the range of signal IN, but
if this is for implementation on a computer, they can both stay
represented as 16-bit integers, with their summing operation being
modulo addition instead of plain addition.
If it's OK for A to be twice the range of IN, you can re-compute each
sample of A as a range of values in [-65536,65536) as the difference
between "out" and "in" for each sample (at the line marked "note" above).
> I think Jon Watte might have been on to something, but could you please
> explain in pseudocode (or matlab-ish code) or in words; I'm not a
> so I get confused by your syntax.
dupswapdrop -- the music-dsp mailing list and website: subscription info,
FAQ, source code archive, list archive, book reviews, dsp links
More information about the music-dsp