Re: Digital Sine Wave Generation

From: Scrim (none_at_none.com)
Date: 07/06/04


Date: Tue, 06 Jul 2004 10:53:15 GMT


"Fred Bloggs" <nospam@nospam.com> wrote in message
news:40E9721B.7040901@nospam.com...
>
>
> Scrim wrote:
> > I'm hoping to use a modification to this circuit from "The Art of
> > Electronics" but I can't sort out the maths:
> >
> > http://www.scitech.pwp.blueyonder.co.uk/Digital-Sine-Wave-Generatio.gif
> >
> > I want to redesign it to use nine resistors and a ten shift register
stages,
> > but I havn't been able to work out exactly how the resistor values were
> > calculated.
> > The circuit opperation is unusual in that the output (a voltage) is
produced
> > by groups of resistors being connected in parralel to one or other
supply
> > rail and thus acting as a variable potential divider.
> >
> > By my analysis there are eight (normalised) output voltages generated as
> > follows:
> >
> > 0
> > 0.217
> > 0.401
> > 0.599
> > 0.783
> > 0.924
> > 1
> >
> > These are output at equal time intervals, repeating the sequence up,
then
> > down, to generate the sine wave.
> >
> > After spending some time using the trig functins on my calculator I
havn't
> > yet been able to find exactly how these values were selected. Any one
know
> > the answer?
> >
> > Scrim
> >
> >
>
> Those values are computed easily once you have the digital weighting
> function for the sinewave- it is a digital filtering application- the
> example circuit is not a uniform weighting function:
> View in a fixed-width font such as Courier.
>
>
>
>
>
> SHIFT REG
> +------------+
> | | R1
> | B |---/\/\-------+----->VOUT
> | 1 | |
> | | R2 |
> | B |---/\/\-------+
> | 2 | |
> | | R3 |
> | B |---/\/\-------+
> | 3 | |
> | . | |
> | . | |
> | . | |
> | | RN |
> | B |---/\/\-------+
> | N |
> | |
> | B |------+
> | N+1| |
> | | |
> +------------+ |
> |
> FDBK<----------------+
>
>
>
>
>
> ITERATIVE COMPUTATION OF R I=1,2,3,..N :
> I
>
> Denote Y = 1/R
> I I
>
> and Y = Y + Y + ...+ Y
> T 1 2 N
>
> and R = 1/Y or R x Y =1
> P T P T
>
>
> When B = Vdd='1' then contribution to VOUT is
> I
>
> | 1
> VOUT/Vdd| = -------------------------------------------
> |B 1+ R x(Y + Y +...Y + Y + ...+ Y )
> I I 1 2 I-1 I+1 N
>
>
>
>
> by simple voltage divider rule
>
>
> - and -
>
>
>
> by superposition:
> __
> \ |
> VOUT/Vdd= / VOUT/Vdd|
> -- |B
> I, B =1 I
> I
>
>
> The computation is nearly complete when you arrange:
>
>
>
> | 1
> VOUT/Vdd| = -------------------------------------------
> |B 1+ R x(Y + Y +...Y + Y + ...+ Y )
> I I 1 2 I-1 I+1 N
> ------------------------------------
> R xY
> P T
>
>
>
> 1
> = -------------------------------------------
> 1+ r x (y + y +...y + y + ...+ y )
> I 1 2 I-1 I+1 N
>
>
> where r = R / R and y = Y / Y
> I I P K K T
>
>
>
> Then since y + y +...y + y + ...+ y = 1 - y it follows
> 1 2 I-1 I+1 N I
>
>
>
> | 1 1
> VOUT/Vdd| = ------------------ = --- = y since r x y =1
> |B 1+ r x (1 - y ) r I I I
> I I I I
>
>
>
> |
> -or- VOUT/Vdd| = y
> |B I
> I
>
>
> |
> Then since VOUT/Vdd| = W x SIN (ANGLE )
> |B 1 1
> 1
>
> | |
> VOUT/Vdd| + VOUT/Vdd| = W x SIN (ANGLE )
> |B |B 2 2
> 1 2
>
>
> ETC... - or -
>
> K
> __
> \ |
> / VOUT/Vdd| = W x SIN (ANGLE )
> -- |B K K
> I=1 I
>
> W , W ,...= weighting function
> 1 2
>
> You have by substitution:
>
> y = W x SIN (ANGLE )
> 1 1 1
>
> y + y = W x SIN (ANGLE )
> 1 2 2 2
>
> y + y + y = W x SIN (ANGLE )
> 1 2 3 3 3
>
> ETC...
>
> y + y +... + y = W x SIN(ANGLE )=1
> 1 2 N N N
>
>
> From this, it is clear how to solve for ratios y in
> I
> succession. So that when you fix Y by consideration
> T
> of loading constraints, then each
>
>
> 1 1
> R = - = ------
> I Y y x Y
> I I T
>
>

Thanks Fred, definately need to print that out. I'll study it tonight.

Scrim



Relevant Pages

  • Re: Digital Sine Wave Generation
    ... "Scrim" wrote in message ... > The circuit opperation is unusual in that the output is ... > by groups of resistors being connected in parralel to one or other supply ... > These are output at equal time intervals, repeating the sequence up, then ...
    (sci.electronics.design)
  • Re: Digital Sine Wave Generation
    ... >> I want to redesign it to use nine resistors and a ten shift register ... >> These are output at equal time intervals, repeating the sequence up, ... >> After spending some time using the trig functins on my calculator I ... Scrim ...
    (sci.electronics.design)
  • Re: Digital Sine Wave Generation
    ... Scrim wrote: ... > I want to redesign it to use nine resistors and a ten shift register stages, ... > The circuit opperation is unusual in that the output is produced ... example circuit is not a uniform weighting function: ...
    (sci.electronics.design)