Mathematica: Simplifying a feedback system

Click For Summary

Discussion Overview

The discussion revolves around simplifying a complex feedback system represented in the z domain using Mathematica. Participants are exploring methods to derive an expression for the system output as a function of both the error input and the system input, specifically aiming for a signal transfer function and an error transfer function.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Debate/contested

Main Points Raised

  • One participant presents a set of equations defining the feedback system and seeks assistance in obtaining a simplified expression for the output.
  • Another participant suggests using the Solve function in Mathematica with the provided equations to find the desired output expression.
  • A different participant expresses concern that the output from Mathematica does not match their hand calculations, indicating a potential discrepancy in the results.
  • There is a discussion about the necessity of providing an appropriate number of independent equations to solve for the corresponding variables in Mathematica.
  • One participant raises a question regarding the assumptions made by Mathematica about the nature of the variable z, whether it is complex or not.

Areas of Agreement / Disagreement

Participants do not reach a consensus, as there are differing results from Mathematica and hand calculations, leading to uncertainty about the correctness of the output and the assumptions made in the equations.

Contextual Notes

Participants mention potential limitations regarding the assumptions about the variable z and the need for a sufficient number of independent equations to achieve a solution.

divB
Messages
85
Reaction score
0
Hi,

I have given a complex feedback system in z domain like:

Y = 2*W2 + E
W2 = z^-1/(1-z^-1) * (W1 + (1-z^-1)*W2 - 1/2*(1-z^-1)*Y)
W1 = V - Y + z^-1/(1-z^-1) * 1/2 * (V - Y)

where Y is the system output, V is the system input, W1 and W2 are intermediate nodes and E is an error input

I and want to get an expression like

Y(z) = E(z)*(...) + X(z)*(...)

i.e., the system output as a sum of the error input and the input. Alternatively: signal transfer function and error transfer function.

Just defining the terms as above and using Solve[] or so is not really successful.


Anyone a hint how to do that?

Thanks
divB
 
Physics news on Phys.org
Does this get what you want?:

Code:
Solve[{Y == 2*W2 + e, W2 == z^(-1)/(1 - z^(-1))*(W1 + (1 - z^(-1))*W2 - 1/2*(1 - z^(-1))*Y),
   W1 == V - Y + z^(-1)/(1 - z^(-1))*1/2*(V - Y)}, {Y, W1, W2}];

Collect[Expand[%], e, Simplify]

Gives : (where I use little "e" as E, since E is the Exp[1] exponential.

[tex] Y\to \frac{e (-1+z)^3}{z^3}+\frac{V (-1+2 z)}{z^2}[/tex]
 
  • Like
Likes   Reactions: 1 person
Woow! Thanks a lot.
It doesn't match with my hand calculations :-( - buts that's the reason I wanted to check it.

So the key here is to supply Solve[] a list of the indendent set of equations and a list of all inter connected variables?
 
You need to supply it with N equations and solve for N independent variables. I don't know if i put in enough assumptions to let MM know if z was compelx or not, of it it just assumes it.
 

Similar threads

  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
954
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 1 ·
Replies
1
Views
7K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
7K