exp
Full Member level 1
- Joined
- Jan 28, 2013
- Messages
- 97
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
- 2,570
Hi,
A rather trivial question: Given a simple negative FB loop with forward amplifier "a", feedback network "f" so that A = a/(1+af) = 1/f * T/(1+T).
So far no frequency dependency, so a(s)=a, f(s)=f.
Now I want to "iteratively" calculate the output voltage (i.e., not just algebraically write the equations). What is wrong about this approach:
Since T=a*f=100 > 0, this should be a perfect negative feedback and stable.
But, of course, vo diverges.
I think the reason is that the system I am implementing in the code is not actually A=a/(1+af) but contains a z^-1 due to the artificial delay.
But if this is the case, how would I correctly implement this in a loop?
A rather trivial question: Given a simple negative FB loop with forward amplifier "a", feedback network "f" so that A = a/(1+af) = 1/f * T/(1+T).
So far no frequency dependency, so a(s)=a, f(s)=f.
Now I want to "iteratively" calculate the output voltage (i.e., not just algebraically write the equations). What is wrong about this approach:
Code:
vi = 1;
vo = 0;
a = 1000;
f = 0.1;
for iter=1:10
vf = f*vo;
v_err = vi - vf;
vo = a*v_err
end
Since T=a*f=100 > 0, this should be a perfect negative feedback and stable.
But, of course, vo diverges.
I think the reason is that the system I am implementing in the code is not actually A=a/(1+af) but contains a z^-1 due to the artificial delay.
But if this is the case, how would I correctly implement this in a loop?