Digital Signal Polarity Control

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Yes, you most definitely can RX the signal into some computing hardware then you apply the desired processing (e.g. invert signal polarity) and then you TX the signal again in your desired format.

I use some Linux audio software on the Pi and other single board computing platforms to do all sorts of DSP processing, e.g. for multi-way crossovers using IIR filters. It's a matter of identifying proper hardware to RX and TX to/from the Pi, really.
 
Ok.

Any suggestions on how to go about it for USB feed, or SPDIF feed ?.
I realise there are all manner of USB/breakout boards/adaptors on Ebay etc ideal for connection to processor module...RPi, Arduino etc...

Dan.
I would check out the USBstreamer from miniDSP. It communicates over USB with a computer host and has optical SPDIF input and output, full duplex, at up to 192kHz. Optical helps to electrically isolate the RPi from other equipment. You could then use Linux software (e.g. ecasound) to process the data (I believe it included the ability to invert the waveform).

According to the manual it seems to be able to RX and TX 8 channels of audio data over I2S, but I am not personally familiar with doing that on the USBstreamer.

Not sure what you meant by "USB feed"...
 
For I2S you can just invert the dataline if you accept a -1 LSB DC offset; a piece of perfboard, an inverter chip and some decoupling capacitors will do the job. If you want to switch between normal and inverted, use an EXOR chip and add a switch and pull-up resistor.
 
Thanks, I know about this but not applicable for what I want.


Dan.

Dan,

You can't perform an audio signal polarity inversion directly on an S/PDIF stream. You must first decode the stream to extract the data, then you can perform either a full 2's complement polarity inversion, or simply invert the bit stream.

Speaking of which, perhaps, you should reconsider the option of simply logically inverting the decoded data bit stream. As Marcel points out, the resulting error is a 1 LSB D.C. offset, of about 45uV for 16-bit conversion, and of about 0.18uV for 24-bit conversion - referenced to an 3V peak full-scale output.
 
Last edited:
Thanks Ken, yes I understand that decoding/processing is required for SPDIF feed.

That's why I'm asking if there is perhaps a ready made (Ebay, Amazon, Taobao etc) board that could do the job when connected with appropriate SPDIF in/out connections/stages.
Perhaps a small PIC processor board with custom software ?.

Dan.
 
I do not think that you will find a small (and inexpensive) board that just inverts polarity for either SPDIF or I2S digital signals. But you can find products like miniDSP's nanoDIGI:
miniDSP Kits : nanoDIGI 2x8 K
This has SPDIF input and outputs. It's a full on DSP processor inside, but you could just invert the polarity if that is all you want to do.

Pay close attention to sample rates. Some miniDSP products use an ASRC to resample all incoming data to e.g. 96kHz - the sample rate that the DSP processor uses. The outputs will also be at that rate. This might be the case for the nanoDIGI. It depends on the plugin, but IFAIK they only offer a single 96kHz plugin for the product even though it has the capability of running at other sample rates.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.