On Jul 9, 7:13 am, Jerry Avins <j...@ieee.org> wrote:
> Randy Yates wrote:
> > Jerry Avins <j...@ieee.org> writes:
>
> >> Randy Yates wrote:
>
> >> ...
>
> >>> OK I confess that I'm miffed.
> >> From the Century Dictionary: Miff v. t. To give slight offense to; to
> >> displease: nearly always in the past participle: as, she was somewhat
> >> miffed. [Colloq] Is that what you mean?
>
> > No - I meant "stumped."
>
> >>> It says on the inwap site that the
> >>> circle is perfectly stable because "the points soon become periodic."
> >>> I can't see why.
> >> Neither can I. I'm sorry.
>
> > I coded it up in octave and ran 1E9 iterations and it hadn't diverged
> > yet - looks pretty stable! Albeit this is with double precision.
>
> > This is a mystery to me. If you analyze it as an iterative matrix
> > equation x(n+1) =3D R*x(n), then R turns out to be [1 -a; a 1], which
> > has a norm of 1+a^2. I thought the norm of such a system would have
> > to be 1.
>
> > I'm confused.
>
> I first coded it using double precision on an 8=3Dbit processor, a 6502 on
> a KIM-1 with a graphics board I added. It's stable even when the radius
> is a few pixels and the trace is more square than round.
>
> As for why I tried it, I thought of the scheme as incorporating a
> half-sample delay and hoped without good reason that the delay might
> stabilize it. After testing a number of what I hoped were weird cases, I
> just accepted that it works.
>
> Jerry
> --
> Engineering is the art of making what you want from things you can get.
> =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=
=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=
=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF- Hide qu=
oted text -
>
> - Show quoted text -
Hello Guys,
This oscillator is a staggered update equiamplitude type. This is very
much like the one I described in my paper a few years back. The
difference is the update order is swapped. There are many ways these
things can be configured! But the iteration matrix has a determinate
of one so it is inherently stable and as long as the "epsilon" is less
than two ( actually its absolute value) then the matrix will have
complex eigenvalues and when used as an oscillator iteration, the
outputs will eventually repeat. For values of epsilon near zero, the
outputs are nearly 90 degrees out of phase.
Clay
p=2Es. I would have chimed in earlier, but I was off hiking on the
Appalachian Trail.
Reply by Jerry Avins●July 9, 20072007-07-09
Randy Yates wrote:
> Jerry Avins <jya@ieee.org> writes:
>
>> Randy Yates wrote:
>>
>> ...
>>
>>> OK I confess that I'm miffed.
>> From the Century Dictionary: Miff v. t. To give slight offense to; to
>> displease: nearly always in the past participle: as, she was somewhat
>> miffed. [Colloq] Is that what you mean?
>
> No - I meant "stumped."
>
>>> It says on the inwap site that the
>>> circle is perfectly stable because "the points soon become periodic."
>>> I can't see why.
>> Neither can I. I'm sorry.
>
> I coded it up in octave and ran 1E9 iterations and it hadn't diverged
> yet - looks pretty stable! Albeit this is with double precision.
>
> This is a mystery to me. If you analyze it as an iterative matrix
> equation x(n+1) = R*x(n), then R turns out to be [1 -a; a 1], which
> has a norm of 1+a^2. I thought the norm of such a system would have
> to be 1.
>
> I'm confused.
I first coded it using double precision on an 8=bit processor, a 6502 on
a KIM-1 with a graphics board I added. It's stable even when the radius
is a few pixels and the trace is more square than round.
As for why I tried it, I thought of the scheme as incorporating a
half-sample delay and hoped without good reason that the delay might
stabilize it. After testing a number of what I hoped were weird cases, I
just accepted that it works.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by ●July 9, 20072007-07-09
Randy Yates <yates@ieee.org> writes:
> I coded it up in octave and ran 1E9 iterations and it hadn't diverged
> yet - looks pretty stable! Albeit this is with double precision.
>
> This is a mystery to me. If you analyze it as an iterative matrix
> equation x(n+1) = R*x(n), then R turns out to be [1 -a; a 1], which
> has a norm of 1+a^2. I thought the norm of such a system would have
> to be 1.
No, the recurrence looks more like:
X(N+1) = (2 - a^2) * X(N) - X(N-1)
Y(N+1) = (2 - a) * Y(N) - Y(N-1).
(see item 151 on the page
http://www.inwap.com/pdp10/hbaker/hakmem/hacks.html#item151). It also
states that a < 2.
Ciao,
Peter K.
--
"And he sees the vision splendid
of the sunlit plains extended
And at night the wondrous glory of the everlasting stars."
Reply by Randy Yates●July 9, 20072007-07-09
Jerry Avins <jya@ieee.org> writes:
> Randy Yates wrote:
>
> ...
>
>> OK I confess that I'm miffed.
>
> From the Century Dictionary: Miff v. t. To give slight offense to; to
> displease: nearly always in the past participle: as, she was somewhat
> miffed. [Colloq] Is that what you mean?
No - I meant "stumped."
>> It says on the inwap site that the
>> circle is perfectly stable because "the points soon become periodic."
>> I can't see why.
>
> Neither can I. I'm sorry.
I coded it up in octave and ran 1E9 iterations and it hadn't diverged
yet - looks pretty stable! Albeit this is with double precision.
This is a mystery to me. If you analyze it as an iterative matrix
equation x(n+1) = R*x(n), then R turns out to be [1 -a; a 1], which
has a norm of 1+a^2. I thought the norm of such a system would have
to be 1.
I'm confused.
--
% Randy Yates % "How's life on earth?
%% Fuquay-Varina, NC % ... What is it worth?"
%%% 919-577-9882 % 'Mission (A World Record)',
%%%% <yates@ieee.org> % *A New World Record*, ELO
http://home.earthlink.net/~yatescr
Reply by Jerry Avins●July 9, 20072007-07-09
Randy Yates wrote:
...
> OK I confess that I'm miffed.
From the Century Dictionary: Miff v. t. To give slight offense to; to
displease: nearly always in the past participle: as, she was somewhat
miffed. [Colloq] Is that what you mean?
> It says on the inwap site that the
> circle is perfectly stable because "the points soon become periodic."
>
> I can't see why.
Neither can I. I'm sorry.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by Randy Yates●July 8, 20072007-07-08
"Philip Martel" <pomartel@comcast.net> writes:
> "Jerry Avins" <jya@ieee.org> wrote in message
> news:F_udncwb1sXckhLbnZ2dnUVZ_tyinZ2d@rcn.net...
>> Randy Yates wrote:
>>> Jerry Avins <jya@ieee.org> writes:
>>>
>>>> As an aside, there is a quadrature oscillator that doesn't blow up or
>>>> die out even without feedback. It does wander, and one cycle isn't
>>>> exactly like the next, but its nearly circular Lissajous pattern
>>>> closes after several cycles. (How many cycles depends on the word size
>>>> and perhaps the initial conditions.
>>>
>>> I'd really like to see that, Jerry.
>>
>> I'll try to reconstruct it over the next few days. As I wrote, the
>> oscillator produces quadrature outputs. Plotting one against the other
>> generates an annulus a few pixels wide.
>>
>> Jerry
>> --
>> Engineering is the art of making what you want from things you can get.
>> ��������������������������������������������������������������������
>
> I think it would be
> x(n) = x(n-1) - a * y(n-1)
> y(n) = y(n) + a * x(n)
>
> taken from HAKMEM
> http://www.inwap.com/pdp10/hbaker/hakmem/hacks.html#item149
OK I confess that I'm miffed. It says on the inwap site that the
circle is perfectly stable because "the points soon become periodic."
I can't see why.
--
% Randy Yates % "My Shangri-la has gone away, fading like
%% Fuquay-Varina, NC % the Beatles on 'Hey Jude'"
%%% 919-577-9882 %
%%%% <yates@ieee.org> % 'Shangri-La', *A New World Record*, ELO
http://home.earthlink.net/~yatescr
Reply by Jerry Avins●July 7, 20072007-07-07
Jerry Avins wrote:
...
> I didn't read Hakmem carefully enough. It is the same algorithm I wrote
> above. I didn't come to it by accident, but neither did I have a firm
> theoretical basis. Still, it works. Now I won't bother to test.
>
> Jerry
P.S. Hakmem is wrong about it making an ellipse. It can make a few turns
of a fine-pitch spiral before spiraling in the opposite direction and
closing. The sine or cosine term plotted against time is slightly
amplitude modulated.
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by Jerry Avins●July 7, 20072007-07-07
Jerry Avins wrote:
> Philip Martel wrote:
>> "Jerry Avins" <jya@ieee.org> wrote in message
>> news:F_udncwb1sXckhLbnZ2dnUVZ_tyinZ2d@rcn.net...
>>> Randy Yates wrote:
>>>> Jerry Avins <jya@ieee.org> writes:
>>>>
>>>>> ... there is a quadrature oscillator that doesn't blow up or
>>>>> die out even without feedback.
>
> ...
>
>>>> I'd really like to see that, Jerry.
>
>>> I'll try to reconstruct it over the next few days.
>
> ...
>
>> I think it would be
>> x(n) = x(n-1) - a * y(n-1)
>> y(n) = y(n) + a * x(n)
>
> ...
>
> That's the basic idea, but it drifts as written. What I believe doesn't
> -- my own discovery back when a KSR-33 was my terminal -- went along the
> lines of
>
> Begin {
> x(n) = x(n-1) - a * y(n-1)
> 0utput x(n), y(n)
> y(n) = y(n) + a * x(n)
> }
> Repeat
>
> I haven't tested it just yet, and I don't trust my memory well enough to
> tout it blind. Whether x or y is computed first may matter. Note that
> which is computed last uses the new value of the other.
>
> The recursion derives, of course, from
>
> sin(a+b) = sin(a)cos(b) + cos(a)sin(b)
> and cos(a+b) = cos(a)cos(b) - sin(a)sin(b)
>
> where cos(b) = 1 to the precision of the math. Sin(b) is a constant in
> any case, and here it must be small. For a 6502, it is convenient to
> make it 2^-n so that the multiplication can be accomplished by shifting.
I didn't read Hakmem carefully enough. It is the same algorithm I wrote
above. I didn't come to it by accident, but neither did I have a firm
theoretical basis. Still, it works. Now I won't bother to test.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by Jerry Avins●July 7, 20072007-07-07
Philip Martel wrote:
> "Jerry Avins" <jya@ieee.org> wrote in message
> news:F_udncwb1sXckhLbnZ2dnUVZ_tyinZ2d@rcn.net...
>> Randy Yates wrote:
>>> Jerry Avins <jya@ieee.org> writes:
>>>
>>>> ... there is a quadrature oscillator that doesn't blow up or
>>>> die out even without feedback.
...
>>> I'd really like to see that, Jerry.
>> I'll try to reconstruct it over the next few days.
...
> I think it would be
> x(n) = x(n-1) - a * y(n-1)
> y(n) = y(n) + a * x(n)
...
That's the basic idea, but it drifts as written. What I believe doesn't
-- my own discovery back when a KSR-33 was my terminal -- went along the
lines of
Begin {
x(n) = x(n-1) - a * y(n-1)
0utput x(n), y(n)
y(n) = y(n) + a * x(n)
}
Repeat
I haven't tested it just yet, and I don't trust my memory well enough to
tout it blind. Whether x or y is computed first may matter. Note that
which is computed last uses the new value of the other.
The recursion derives, of course, from
sin(a+b) = sin(a)cos(b) + cos(a)sin(b)
and cos(a+b) = cos(a)cos(b) - sin(a)sin(b)
where cos(b) = 1 to the precision of the math. Sin(b) is a constant in
any case, and here it must be small. For a 6502, it is convenient to
make it 2^-n so that the multiplication can be accomplished by shifting.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by Philip Martel●July 7, 20072007-07-07
"Jerry Avins" <jya@ieee.org> wrote in message
news:F_udncwb1sXckhLbnZ2dnUVZ_tyinZ2d@rcn.net...
> Randy Yates wrote:
>> Jerry Avins <jya@ieee.org> writes:
>>
>>> As an aside, there is a quadrature oscillator that doesn't blow up or
>>> die out even without feedback. It does wander, and one cycle isn't
>>> exactly like the next, but its nearly circular Lissajous pattern
>>> closes after several cycles. (How many cycles depends on the word size
>>> and perhaps the initial conditions.
>>
>> I'd really like to see that, Jerry.
>
> I'll try to reconstruct it over the next few days. As I wrote, the
> oscillator produces quadrature outputs. Plotting one against the other
> generates an annulus a few pixels wide.
>
> Jerry
> --
> Engineering is the art of making what you want from things you can get.
> ��������������������������������������������������������������������