[net.analog] sound synthesizing

mjwingrove@wateng.UUCP (Mike Wingrove) (02/06/86)

<**** We don't have a line eater ****>

I would be interested in obtaining some information about generating
sinusoidal waveforms under program control.  This would be for the 
purpose of simulating dial tone, ring back tone , busy signal etc 
on a telephone.

In particular I'm interested in what programmable chips if any have the 
following capabilities.

Must be able to generate frequencies up to about 1 KHz.

Should be able to resolve differences in frequency well (ie 5 or 10 hz steps).

Must have individually adjustable output levels on each of 2 voices.
(These need quite good resolution too, but I haven't calculated how much yet.)

Also does any one have any novel ideas as to generating the ringing voltage
(90 v rms ac 20 hz (20 ma I believe)) for the phone from a 24 volt (+,-12)
power supply. The current system uses a 20Hz Weinbridge oscillator driving
a class AB darlington output stage.  The output from the power stage then
drives a filament transformer (110 v primary 10 v secondary) in reverse to
step the voltage up.  This is a pig of a circuit (about 1/3 total board area).
Also it must be heavily bypassed to prevent the introduction of large
fluctuations on the +12,-12 voltage lines.  (The filament transformer is a
disgusting load to drive especially at 20 Hz.

Anyhow any suggestions would be welcome.

						Mike Wingrove
						Elec Eng Student
						Computer Communications
						Networks Group
						U of Waterloo

Disclaimer: I don't have any opinions!!!

larry@kitty.UUCP (Larry Lippman) (02/18/86)

> I would be interested in obtaining some information about generating
> sinusoidal waveforms under program control.  This would be for the 
> purpose of simulating dial tone, ring back tone , busy signal etc 
> on a telephone.
> In particular I'm interested in what programmable chips if any have the 
> following capabilities.
> - Must be able to generate frequencies up to about 1 KHz.
> - Should be able to resolve differences in frequency well (5 or 10 hz steps).
> - Must have individually adjustable output levels on each of 2 voices.

	A three-tone fully programmable sound generator is the SN76489A (also
made by NCR Microelectronics Division as the 8489).  There are three separate
digitally programmable tone generators with individually programmable digital
attenuators which go into a summing amplifier which provides ONE single mixed
output.  The chip is 16-pin and simple to use.  The chip also has an onboard
programmable noise generator (white and periodic noise) which provides a fourth
input to the summing amplifier.
	The only drawback is that the tone generators are all square wave.
This may or may not be be a problem, depending upon your application.  If it
is a problem, then you can use ONE chip per tone (i.e., only using one onchip
tone generator), convert square wave to sine wave, and then sum the sine wave
outputs.  In case you are not familiar with the process, there are many ways
to convert a square wave to a sine wave - generally by integration to a
triangular wave, which is then easily converted to a sine wave.

> Also does any one have any novel ideas as to generating the ringing voltage
> (90 v rms ac 20 hz (20 ma I believe)) for the phone from a 24 volt (+,-12)
> power supply. The current system uses a 20Hz Weinbridge oscillator driving
> a class AB darlington output stage.  The output from the power stage then
> drives a filament transformer (110 v primary 10 v secondary) in reverse to
> step the voltage up.  This is a pig of a circuit (about 1/3 total board area).
> Also it must be heavily bypassed to prevent the introduction of large
> fluctuations on the +12,-12 voltage lines.  (The filament transformer is a
> disgusting load to drive especially at 20 Hz.

	Sorry, I have no magic advice about the ringing circuit, other than to
consider winding a custom toroid (yes, I know it will be a BIG toroid, but at
least it will be more efficient).  Don't forget that most ringing applications
are superimposed, which means the ringing generator MUST have a floating
transformer output which should handle at LEAST 100 mA DC current without any
appreciable magnetic saturation loss.  THAT is why the filament transformer
is inappropriate, since most filament transformers which I have seen saturate
badly.

==>  Larry Lippman @ Recognition Research Corp., Clarence, New York        <==
==>  UUCP    {decvax|dual|rocksanne|rocksvax|watmath}!sunybcs!kitty!larry  <==
==>  VOICE   716/741-9185                {rice|shell}!baylor!/             <==
==>  FAX     716/741-9635 {G1, G2, G3 modes}    duke!ethos!/               <==
==>                                               seismo!/                 <==
==>  "Have you hugged your cat today?"           ihnp4!/                   <==

don@umd5.UUCP (02/19/86)

> 	The only drawback is that the tone generators are all square wave.
> This may or may not be be a problem, depending upon your application.  If it
> is a problem, then you can use ONE chip per tone (i.e., only using one onchip
> tone generator), convert square wave to sine wave, and then sum the sine wave
> outputs.  In case you are not familiar with the process, there are many ways
> to convert a square wave to a sine wave - generally by integration to a
> triangular wave, which is then easily converted to a sine wave.
> 

Easier than that -- Just use a couple of notch filters at the square-wave's
fundamental. Or even a low-pass filter with Fc at the fundamental.
Whatever suits you. We (Apcom, Inc.) do this (notch filters) to obtain
a nice sine-wave high-speed tape recorder reference from TTL dividers
dividing the PLL crystal reference oscillator -- phase coherent recorder
reference with minimum pain.
Put the notch filter on a PCB, short tracks, plenty of ground plane.
You should have < 0.75% distortion easily (harmonics less than -46dBc).
Need less distortion ? Add another filter or two. Sure the filter are
lossy, but we follow the filter with a variable gain stage.

-- 
--==---==---==--
".. all mimsy were the Borogroves .."

  ARPA: don@umd5.UMD.EDU
BITNET: don%umd5@umd2
  UUCP: ..!{ seismo!umcp-cs, ihnp4!rlgvax }!cvl!umd5!don

(NOTE: Please mail to  umcp-cs!cvl!umd5!don  NOT  umd5!cvl!umcp-cs!don)
umcp-cs ::= mimsy.UMD.EDU | maryland.ARPA | umcp-cs.UUCP