185 Reputation

5 Badges

3 years, 254 days

MaplePrimes Activity

These are questions asked by jrive

I have a transfer function:

xfer_mag := 1/sqrt((-1.0000 + 1.0772*10^(-14)*f^2)^2 + (1.9665*10^(-20)*f^3 - 3.6181*10^(-6)*f)^2)


if I do:  semiplotplot(20*log[10](xfer_mag),f=10..30e6) I get :


but if I do: plot(20*log[10](xfer_mag), f = 10 .. 0.30e6), and then use the menu options to the right to change the axes properties to Log, I get this:


what is going on here?  why is the magnitude not the same ?

Download demo.mw


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.

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]



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?



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))


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...





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




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



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



QLp := RLp/XLp



XC2 := -XL0p



Q := XL1/(R1s+RLp)



R1s := Rs(R1, XC1)



XC1s := Xs(R1, XC1)



XL1 := -XC1s







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.))



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


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)]])




Download pi-filter_anal_copy.mw



3 4 5 6 7 Page 5 of 7