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

Eliminating Crosstalk

SigmaDSP & SigmaStudio ByronS Feb 4, 2016 00:00 11 replies Original on forum ↗
Subscribe
ByronS Question
Feb 4, 2016 00:00

I have an application that involves the removal of one audio signal from another. I know this is often referred to as 'Source Separation', however my application is a bit different. Source Separation as I understand it involves trying to pick out one voice out of a crowded room of voices. My application involves a crosstalk situation where one audio signal (Signal A) is coupling into a lower level signal (Signal B) with little to no chance of removing the source coupling mechanism of the crosstalk.

In my application, I have easy access to Signal A that I can easily feed to a DSP along with Signal B. From what I've come to understand of SigmaStudio, this goes beyond the capability of these part(?). In theory, if the DSP could measure the level of Signal A present in Signal B, it could take an equal level inverted signal and add it back to signal B.

Is this something that could be achieved with any of the SigmaStudio parts, or any other ADI part for that matter?

Any insight would be appreciated.

ADIApproved Reply
Feb 4, 2016 00:00

HI Byron:

You are looking for an Echo Canceler and it works differently from what you describe. We have plans to have one by the middle of the year for the 145x family. It will work very well for speech signals, other type of signals are much more difficult to remove.

Hope this helps.

Miguel

ByronS Reply
Feb 5, 2016 00:00

Thanks Miquel. How many analog audio channels will this part have? Will it be capable of dealing with multiple channels simultaneously? Maybe it's early to share any further details on the capability of this part?

ADIApproved Reply
Feb 6, 2016 00:00

HI Byron:

The ADAU1452 is already on the market (and has been there for quite some time). What will become available is the algorithm within SigmaStudio. You can get an evaluation and start experimenting with the part of you like. It has many Inputs and outputs but no built in converters.

Hope this helps

Miguel

ByronS Reply
Feb 8, 2016 00:00

Thanks for the clarification. Will the new algorithm become a standard library part, or will this be a paid algorithm? Would it be able to handle speech and music since I need to handle both? I have no issue with buying an evaluation kit for the 145x to see what it can do, but when would an evaluation copy of the algorithm be available?

ADIApproved Reply
Feb 9, 2016 00:00

Hi Byron:

The current code is designed for speech signals sampled @ 16kHz. Other audio can still run @ higher sampling rate (concurrently). Discussions on royalty free haven't taken place. It is possible that it's royalty.

The first versions of this code will not handle music. Me expect to have it ready by mid 2016.

Regards

Miguel

ByronS Reply
Feb 10, 2016 00:00

My application will need something sooner than this unfortunately. If SigmaStudio parts can't do it today, are there other ADI DSP's that can? I realize the scenario I detailed originally isn't echo cancellation, however if you boil it down, it's still an echo cancellation type of problem. For my application, I'll definitely need to handle both speech and music. I'm not sure how realistic it is to expect a part to handle both well?

Any insight would be appreciated.

ADIApproved Reply
Feb 10, 2016 00:00

HI Byron:

Try Sharc, it would most certainly can do it. Can you be more specific in what you are trying to do?

In your application, does Signal B have an acoustical path? If not, the solution should be fairly easy. Simply substract (A) - (gained down)(B). to get a clean (A).

Miguel

ByronS Reply
Feb 11, 2016 00:00

In my case, I'm not dealing with any acoustic delay. I am dealing with plane old capacitive coupling from one audio channel into another. There are a lot of relays that hang off of a common audio bus, and due to the small physical size of the relays (telecom parts), they introduce coupling, It's not a lot, but it becomes a lot when it gets amplified along with the audio I want. Depending on how many relays are engaged, the amount of coupling increases. Bus A is running continuously at times (music distribution and paging). Bus B is used periodically for half duplex intercom, and we have uV levels coming back from the speaker (used as a microphone) which gets gained up significantly by an ADI instrumentation amp. Since the coupling isn't common mode (unfortunately), the instrumentation amp is happy to amplify both the wanted signal and the coupled Bus A signal as well.

Bus A can be used for music distribution or audio paging which is why I need to deal with both types of audio.

I would resort to a simple inversion and subtraction method as you mention with analog circuitry, except the amount of coupling will vary (is also phase shifted), so I need some intelligent method (like a DSP), to know how much needs to be subtracted from my Bus B signal. Maybe there is a simpler way, but the DSP method seems to be the most promising from my perspective.

Now a very naive question: How difficult is a Sharc to use? Is the functionality that I'm looking for something that is readily available in a standard library, since we do not have any hard core, experienced DSP people on staff to handle significant development on something like that. I'm about the closest thing to it, and I'm a long ways off from it.

ADIApproved Reply
Feb 11, 2016 00:00

Hi Byron:

It seems like any of our simple DSPs would fit your needs. My understanding is that you need to use an envelope tracker to track the "unknown" gain of your unwanted signal, perhaps even filtering the unwanted signal somewhat to best match the transfer function of the coupling process. Then you need to add some filtering and/or delay to match whatever group delay gets introduced in the coupling mechanism.

I would probably start with a simple 1701 to do your processing. You want to use some envelope trackers and probably fit their output to a lookup table (either linear or log). The output of the table should be the gain you need to apply to the coupling signal before it gets substracted from the (wanted+unwanted) mix.

You can download SigmaStudio for free and get to know the blocks / elements in the library if you feel more comfortable before buying an evaluation board.

The nice thing about the 1701 is that i has built in ADCs and DACs + a self boot mechanism. In a sense, if you get your desired functionality, you'll be able to create a circuit that you set and forget it's even there.

If you don't have dedicated DSP resources, the Sharc would probably not be my first choice although SigmaStudio for Sharc will help you in creating the signal flow you need.

Hope this helps.

Miguel

ByronS Reply
Feb 11, 2016 00:00

We already use the 1701 in two areas of the same product that has the problem, so I'm very familiar with the part (just not as adept at SigmaStudio as I'd like to be). I would employ one of the existing 1701 parts except all the required audio channels do not go through it.

Maybe I'm not understanding this correctly. I didn't think the 1701 was capable of doing anything like what I'm after since it can't do echo cancellation (and I'm equating my situation to echo cancellation, but just without the acoustic or line echo elements)?

Could you provide a sample 1701 project file to illustrate what your describing? I have several 1701 evaluation kits that I could patch in to prove out your concept.

EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin