Audio Design

Go To Last Post
28 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello there,

During my new design I came across a problem that I can't solve. The system is an intercom consisting of 2 terminals that are connected with 2 cables. Each terminal is connected to a 12/24Vdc power supply. Each terminal outputs an audio signal which produced from an onboard microphone circuit. Also each terminal has an input to receive the other terminal's audio signal and then it outputs it to an 8R speaker via an audio amp. The speaker is not onboard.

While I increase the audio amp. gain (sound volume) the system get in a coordination state making both 2 speakers to sound at ~5Khz. Using an oscilloscope I can read the coordination signal in each audio input. Just note that before each audio signal outout there is a cap in series (onboard) to make the audio signal AC (from DC).

Also, during the PCB design I placed ground copper between the tracks.

Can anybody help me to remove or even reduce the coordination from the system?

Also I would like to ask if ground copper is allowed in an audio design ?

Thank you.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The setup sounds very strange, post a schematic.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ok. I will first upload the system block diagram in order to be more detailed.

Attachment(s): 

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry,

Here is a better resolution.

Attachment(s): 

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Are the wires marked Terminal 1 and Terminal 2 shielded pairs? Is the audio balanced or unbalanced? What controls the direction of the sound if simplex mode? Do you have a common ground between the 2 boxes?

NOTICE: if you are trying to achieve full duplex then you will need to CAREFULLY adjust the gain of the system or it will simply oscillate which seems to be what you are experiencing

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:

...or it will simply oscillate which seems to be what you are experiencing.

As John says, your design is littered with opportunities for feedback, both electrical and acoustic. What steps are you taking to prevent it?

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dear John,

1. No, the cables are not shielded pairs. And they cannot be.
2. Unfortynately it is unbalanced, because the customer wanted the minimum cable count.
3. Yes, there is a common ground connected between the 2 boxes (terminals).

Yes, exactly. While I am increasing the audio amp. gains the oscillation (5KHz) increases.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

Last Edited: Thu. Mar 20, 2014 - 07:59 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brian Fairchild wrote:
js wrote:

...or it will simply oscillate which seems to be what you are experiencing.

As John says, your design is littered with opportunities for feedback, both electrical and acoustic. What steps are you taking to prevent it?

This is what I am trying to find out. What steps I have to take to prevent it.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

icarus1 wrote:

What steps I have to take to prevent it.

First you need to identify all the possible feedback paths. Print out several copies of your schematic and then draw on them all the ways that a signal, either acoustics or electrical, can travel from the microphone to the speaker and back to the microphone. Or from one part of a circuit to another and then back again.

You cannot assume that everything happens instantly; all analogue circuits which contains reactive elements have a time delay/phase shift.

For example...what stops your microphone picking up a noise, amplifying it, putting it on the output terminal where it is amplified and fed to the nearby speaker where it is picked up by the microphone again and amplified and...

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Some details about my PCB design:

-All ground and supply tracks that feed the different circuits, come directly from the central power supply capacitor.
-The power supply is a DC/DC converter that function at 500KHz with a very low ripple voltage. I test this and this produces no noise to the speaker and the microphone circuit also.

But let me ask something else please: I also placed a ground plane between the audio tracks and components also. Is this a good or bad action during an audio device design ?

But

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So, what stops the feedback loop I've highlighted on your block diagram below?

Attachment(s): 

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No wrong !!! My mystake.

Please look at the updated block diagramm.

Attachment(s): 

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There is no problem for me to listen my own voice from the speaker while I am talking to the microphone. The real problem is the oscillation that appears to the audio cables. This happens when I increase the volume of any of the 2 speakers. Measuring the cables voltage using an oscilloscope I see an oscillation at ~5KHz ant it makes both speakers to sound.

Is there anything I can do to remove this oscillation ?

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So what about this loop?

Attachment(s): 

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes correct. Realy thank you for your time.

Any ideas ?

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

icarus1 wrote:
There is no problem for me to listen my own voice from the speaker while I am talking to the microphone. The real problem is the oscillation that appears to the audio cables. This happens when I increase the volume of any of the 2 speakers. Measuring the cables voltage using an oscilloscope I see an oscillation at ~5KHz ant it makes both speakers to sound.

Is there anything I can do to remove this oscillation ?

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just to verify does the freq change (up) if the speakers get close to the mic?
if you can live with it use a LP filter, but I guess that the freq can get down to needed audio freq if the speakers gets further away.
use two mic. in each end placed so the hear the speaker the same (and in phase), so it can be canceled out, when you speak to the mic, make sure that you a closer to one of them.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It is always 5KHz aprox.

I tried passive LP filters at the audio inputs that removing the oscillation, but the filters cause bad effects to the voice. So it seems that simple LP filters do not fit for my case.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There are several possible solutions, two are mentioned below:

One method is to have the audio amp sum two inputs, one from the microphone, and the other from the incoming audio going to the speaker.

The phase of the speaker's signal is adjusted, as it its gain, to cancel the audio going from the speaker to the microphone.

The audio amp is then getting three input:
The person speaking into the microphone
The audio from the speaker being acoustically coupled to the microphone
The electrically coupled speaker which feeds the speaker, phase and amplitude adjusted. This signal is to cancel the audio coupled signal from the speaker to the mic.

Note that the frequency of the feedback won't be fixed. It will be very installation dependence.

Edit: Sorry, got cut off earlier.

Some systems attempt to prevent the audio feedback by limiting the bandwidth of the audio channel, (i.e. using a LPF).

The second technique I thought I'd mention is to transmit all of the data digitally, with a micro at each end. Now you can have an intercom with all the features you want, smart mute, auto feedback limiter, (eliminator), etc., multiple modes of operation, full duplex, vox activated simplex, etc.

JC

Last Edited: Fri. Mar 21, 2014 - 01:15 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have a volume control for the 'sidetone' (your own mic), and another vol control for the remote line in? What's important in this intercom? wire cost? You don't need to run 12v to the remote node if it has local power source. You can run both audios AND perhaps the DC on one pair. That make it cheaper? Use headphones on both ends?

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Full duplex (you can speak both ways at the same time) are INCREDIBLY DIFFICULT to design unless you use something like headphones at both ends so that there is little or no acoustic coupling between inputs and outputs.

Things are worse when speaker and microphone are in the same (small??) enclosure.

Delaying one or both of the signals by some ms could fix the problem (bucket brigade or AD/DA storage and conversion), another trick used is to have a signal comparator which switches the direction of the sound depending on how strong the signals are, maybe biasing a "master" to have some priority. This in effect replaces the push to talk switch and the system becomes simplex with the "appearance" of being duplex.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:
Delaying one or both of the signals by some ms could fix the problem (bucket brigade or AD/DA storage and conversion)
Errmmm... Adding a delay will most likely change the problem from excessive feedback to excessive echo.

- S

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The dudes that make speakerphones solved these problems a decade or so ago. Just don't get the mic near the speaker.

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I seem to recall a solution in vogue some decades ago.. back in the day of LM1495.
The solution consisted of frequency shifting of the sound to accommodate time lag due to the acoustic delays in the environment.
There was a project published by one of the popular magazine called if memory serves Howl around stabiliser.

A quick search discovered a commercial offering

www.vasulka.org/archive/Artists1...‎

no links to the organisation.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Michael,

Now that I have my workshop set up away from the house I am about to install an intercom so that I don't miss my meals. The design that I am considering (I have more parts than money), is as below from here.

You can see how the designer deliberately sums/cancels signals 180 degrees out of phase. Just a thought.

Cheers,

Ross

Attachment(s): 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How long is the wire again?

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bob, if you are asking me how long my piece of wire will be... the same as the proverbial piece of string that will be used to define its path. :lol: Probably about 15 meters in my case.

Don't know about Michael's situation though.

And yes I know I could do it via wireless... but where is the fun in that?

Cheers,

Ross

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

He said he couldn't use shielded wire, so I assumed that he has to use some existing wire. I guess if the stations are in different rooms on different floors, you cant just holler 'Hey Ross! Its yer Old Lady on line three!". I was going to suggest using a low impedance data line to minimize hum pickup.

Imagecraft compiler user