Question on control-loop block design

Hello,

I’ve been looking into the design details of the control-loop block. I
stumbled upon the blog post of Tom
(http://www.trondeau.com/blog/2011/8/13/control-loop-gain-values.html
with the derivation
https://static.squarespace.com/static/543ae9afe4b0c3b808d72acd/543aee1fe4b09162d0863397/543aee1fe4b09162d08633ac/1313345573084/control_loop_derivation.pdf)
and also this article from TI:
http://www.ti.com/lit/an/slyt169/slyt169.pdf.

Now looking at the schematics of the control loop in Tom’s post and the
TI article (figure 5), you notice a slight difference after the loop
filter. In the TI article, there is delay (z^-1) followed by an
accumulator. In the schematics of Tom’s post, the delay block is
directly integrated in the loop. Can somebody comment on these
differences?

Thanks
Ruben

On Tue, Apr 28, 2015 at 8:50 AM, [email protected] wrote:

Now looking at the schematics of the control loop in Tom’s post and the TI
article (figure 5), you notice a slight difference after the loop filter.
In the TI article, there is delay (z^-1) followed by an accumulator. In the
schematics of Tom’s post, the delay block is directly integrated in the
loop. Can somebody comment on these differences?

Thanks
Ruben

Hi Ruben,

This is a good question, and I don’t want to let it drop. I just don’t
have
a good answer for your right now. If I can find the time, I’ll try to go
through things more carefully to understand why there is the added
delay.
Just keeping the thread alive in case someone else can jump in and
answer
it.

Tom

From what I remember, there shouldn’t be a functional difference. The
difference is the amount of feedback delay in the loop. You always need
to make sure one delay exists in any feedback path you can take, to
avoid race conditions. After that, you want to minimize the loop delay.
The one accumulator with delay in the feedback path ensures stability.
The other accumulator keeps the delay out of the feedback path because
it minimizes the loop latency.

Hope that helps.

Rich

Sent from my iPhone

On Mon, May 11, 2015 at 12:00 PM, Richard B. [email protected]
wrote:

Rich

Sent from my iPhone

Yep, thanks, Richard!

Tom

Ok, makes sense. Thanks for the feedback
R

From: [email protected] [mailto:[email protected]] On Behalf Of
Tom R.
Sent: Monday, May 11, 2015 6:35 PM
To: Richard B.
Cc: Merz Ruben, INI-INO-ECO-MXT; GNURadio D.ion List
Subject: Re: [Discuss-gnuradio] Question on control-loop block design

On Mon, May 11, 2015 at 12:00 PM, Richard B.
<[email protected]mailto:[email protected]> wrote:
From what I remember, there shouldn’t be a functional difference. The
difference is the amount of feedback delay in the loop. You always need
to make sure one delay exists in any feedback path you can take, to
avoid race conditions. After that, you want to minimize the loop delay.
The one accumulator with delay in the feedback path ensures stability.
The other accumulator keeps the delay out of the feedback path because
it minimizes the loop latency.

Hope that helps.

Rich

Sent from my iPhone

Yep, thanks, Richard!

Tom

On May 11, 2015, at 8:42 AM, Tom R.
<[email protected]mailto:[email protected]> wrote:
On Tue, Apr 28, 2015 at 8:50 AM,
<[email protected]mailto:[email protected]> wrote:
Hello,

I’ve been looking into the design details of the control-loop block. I
stumbled upon the blog post of Tom
(http://www.trondeau.com/blog/2011/8/13/control-loop-gain-values.html
with the derivation
https://static.squarespace.com/static/543ae9afe4b0c3b808d72acd/543aee1fe4b09162d0863397/543aee1fe4b09162d08633ac/1313345573084/control_loop_derivation.pdf)
and also this article from TI:
http://www.ti.com/lit/an/slyt169/slyt169.pdf.

Now looking at the schematics of the control loop in Tom’s post and the
TI article (figure 5), you notice a slight difference after the loop
filter. In the TI article, there is delay (z^-1) followed by an
accumulator. In the schematics of Tom’s post, the delay block is
directly integrated in the loop. Can somebody comment on these
differences?

Thanks
Ruben

Hi Ruben,

This is a good question, and I don’t want to let it drop. I just don’t
have a good answer for your right now. If I can find the time, I’ll try
to go through things more carefully to understand why there is the added
delay. Just keeping the thread alive in case someone else can jump in
and answer it.

Tom

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs