jrive

150 Reputation

5 Badges

2 years, 139 days

MaplePrimes Activity


These are questions asked by jrive

I solve for a transfer function using Syrup, and want to operate on the Real part and Imagninary parts separately.  I've added "assumes" statements for every variable:  

assume(Rsrc, real);
assume(C1, real);
assume(Lp, real);
assume(C2, real);
assume(f, real);
assume(RL, real);
additionally(0 < Rsrc, 0 < C1, 0 < Lp, 0 < C2, 0 < RL, 0 < f);

 

When I then do something like :


 
instead of gettting just the real part of the expression, I get :

 

as if one of the variables was still not assumed to be Real.  I'm not sure where all the '~' are coming from ---is that the issue?

 

I apologize, I can't insert content for some reason..., although I can add the worksheeet.
pi_filter_osc_anal.mw

After I define a Ckt (a ladder network) such as :


Ckt := [v1(4), R1(50) &+ L2(0.9600), Cp(0.8200), L1(0.5000) &+ R2(0.2000), RL(1.3430) &+ LL(0.1550)]

How would I then use the value of R1 as defined above, for example, in a subsequent calculation?

Assuming the results from Solve are in (sol,rest), how can I use R1 (defined in Ckts)as a variable  --something like:

P_R1_ave := (abs(eval(v[R1], rest))/sqrt(2))^2/Ckt[R1]

t-match_impedance.mw

 

BTW, I can no longer "insert contents" .  I get the following error:

Maple Worksheet - Error

Failed to load the worksheet /maplenet/convert/t-match_impedance.mw .
 

I have no idea what may have changed --perhaps something on our server?

Hello,

 

When I try to get the magnitude of the transfer function in the uploaded file, I get this error:

Error, invalid input: `simpl/abs` expects its 1st argument, a1, to be of type algebraic, but received [0.15000e8/(-0.2137457857e-6*f^2+(2.909554620*I)*f-(0.1565896548e-13*I)*f^3+0.152600e8)]
 

How do I get the magnitude and phase of this transfer function so I can plot it as a function of frequency, f?  If you can show me how to plot it, that would help a lot as well.

 

Thank you,

Maple Worksheet - Error

Failed to load the worksheet /maplenet/convert/temp.mw .
 

Download temp.mw

I have an assignment for Q that after subsequent other assignments and substitutions  results in 

-XC1*R1^2/((R1^2 + XC1^2)*(R1*XC1^2/(R1^2 + XC1^2) + 12960.54302))

 

when I type Q.

 

I would like to solve this for XC1, for values of Q that make  XC1 is real. 

How do I do this?  Can I rearrange this assignment?   

I guess I could do something like this:

eq1:= -XC1*R1^2/((R1^2 + XC1^2)*(R1*XC1^2/(R1^2 + XC1^2) + 12960.54302))

solve(eq1=Q,XC1)

but Q as a function of XC1 is a derived from other relationships.

 

The worksheet probably makes what I'm asking more clear.    I was able to get the result, but I'm sure there is a better, more elegant  way to do what I needed to do...

 

Thanks
 

``

restart

Series-Parallel Conversion Equations as a function of Q

• 

Q = Xs/Rs = Rp/Xp;

• 

Rp := Rs*(Q^2 + 1);

``

``

Impedance Transpormation Equations

Rp := proc (Rs, Xs) options operator, arrow; (Rs^2+Xs^2)/Rs end proc

Xp := proc (Rs, Xs) options operator, arrow; (Rs^2+Xs^2)/Xs end proc

Rs := proc (Rp, Xp) options operator, arrow; Rp*Xp^2/(Rp^2+Xp^2) end proc

Xs := proc (Rp, Xp) options operator, arrow; Xp*Rp^2/(Rp^2+Xp^2) end proc

``

zL := 1.343+I*131.925

1.343+131.925*I

(1)

``

XL0p := Xp(Re(zL), Im(zL))

131.9386717

(2)

RLp := Rp(Re(zL), Im(zL))

12960.54302

(3)

QLp := RLp/XLp

12960.54302/XLp

(4)

XC2 := -XL0p

-131.9386717

(5)

Q := XL1/(R1s+RLp)

XL1/(R1s+12960.54302)

(6)

R1s := Rs(R1, XC1)

R1*XC1^2/(R1^2+XC1^2)

(7)

XC1s := Xs(R1, XC1)

XC1*R1^2/(R1^2+XC1^2)

(8)

XL1 := -XC1s

-XC1*R1^2/(R1^2+XC1^2)

(9)

Q

-XC1*R1^2/((R1^2+XC1^2)*(R1*XC1^2/(R1^2+XC1^2)+12960.54302))

(10)

``

tmp1 := solve(-XC1*R1^2/((R1^2+XC1^2)*(R1*XC1^2/(R1^2+XC1^2)+12960.54302)) = Tmp, XC1)

(-25000.*R1+(-0.3240135755e14*R1*Tmp^2+625000000.*R1^2-0.4199391884e18*Tmp^2)^(1/2))*R1/(Tmp*(50000.*R1+648027151.)), -1.*(25000.*R1+(-0.3240135755e14*R1*Tmp^2+625000000.*R1^2-0.4199391884e18*Tmp^2)^(1/2))*R1/(Tmp*(50000.*R1+648027151.))

(11)

"solve(indets(numer(tmp1[1]))"

{R1, Tmp, (-0.3240135755e14*R1*Tmp^2+625000000.*R1^2-0.4199391884e18*Tmp^2)^(1/2)}

(12)

simplify(solve(op(3, indets(numer(tmp1[1])))^2 > 0, Tmp, parametric))

piecewise(R1 <= -8398783768000/648027151, [[Tmp = Tmp]], R1 < 0, [[50*5^(1/2)*R1/(648027151*R1+8398783768000)^(1/2) < Tmp, Tmp < -50*5^(1/2)*R1/(648027151*R1+8398783768000)^(1/2)]], R1 = 0, [], 0 < R1, [[-50*5^(1/2)*R1/(648027151*R1+8398783768000)^(1/2) < Tmp, Tmp < 50*5^(1/2)*R1/(648027151*R1+8398783768000)^(1/2)]])

(13)

``


 

Download pi-filter_anal_copy.mw

 

 

Why won't Maple solve any of these inequalities for Q?

At first I tried solving the system of equations, but then I tried solving the inequalities individually for Q, and those too could not be solved by Maple.  What am I doing wrong?
 

restart

 

assume(R1, real, R2, real, RL, real, XC1, real, XC2, real, XL1, real)

additionally(R1 > 0, R2 > 0, RL > 0, XC1 > 0, XC2 > 0, XL1 > 0)

 

 

eq3 := R1*(4*Q^2+1)-RL > 0

0 < R1*(4*Q^2+1)-RL

(1)

eq4 := 4*Q^2*R1*RL-(R1-RL)^2 >= 0

0 <= 4*Q^2*R1*RL-(R1-RL)^2

(2)

eq5 := Rs^2*(RL-R1)/Q^2+R1^2*RL > 0

0 < Rs^2*(RL-R1)/Q^2+RL*R1^2

(3)

 

``

sys1 := {eq3, eq4, eq5}

`assuming`([solve(sys1, {Q})], [R1 > RL])

`assuming`([solve(sys1, {Q})], [R1 < RL])

solve(sys1, {Q})

Warning, solutions may have been lost

 

solve(eq3, Q)

Warning, solutions may have been lost

 

solve(eq4, Q)

Warning, solutions may have been lost

 

solve(eq5, Q)

Warning, solutions may have been lost

 

``


 

Download pi-filter_anal_copy.mw

1 2 3 4 Page 3 of 4