⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawwdfg.m

📁 AFD - Advanced Filter Design using MATLABMiroslav D. Lutovac, Dejan V. Tosicversion 1.00 released 15
💻 M
字号:
Clear[DrawWDF0,DrawWDF1,DrawWDF2,DrawWDF3,DrawWDF4,DrawWDF5]

DrawWDF0[x0_,y0_,dx_,ds_,F_:8] := Module[{
x1 =x0+dx/4,   x3 =x0+3*dx/4, x6 =x0+6*dx/4, x9 =x0+9*dx/4, 
x12=x0+12*dx/4,y1 =y0-dx/4,   y3 =y0-3*dx/4, y6 =y0-6*dx/4},
Show[{DrawInput[x0  ,y0, "X", 2, ds, F+2] 
    , DrawInput[x12 ,y0, "Xb", 0, ds, F+2] 
    , DrawOutput[x0 ,y6, "Y", 2, ds, F+2] 
    , DrawOutput[x12,y6, "Yb", 0, ds, F+2] 
    , Graphics[Text[FontForm["a",{"Symbol",14}],{x6,y3},{0,0}]]
    , DrawJ[x0,y0+dx/2,x12,y6-dx/2,0]
    , DrawJ[x0,y0+dx/2,x12,y6-dx/2,1]
    , DrawJunction[x0 ,y0 ,"1",3,1,F]
    , DrawJunction[x0 ,y6 ,"2",3,1,F]
    , DrawJunction[x12,y0 ,"3",1,1,F]
    , DrawJunction[x12,y6 ,"4",1,1,F]}
,AspectRatio -> Automatic,Axes -> False, PlotRange -> All]];

DrawWDF1[x0_,y0_,dx_,ds_,F_:8] := Module[{
x1 =x0+dx/4,   x3 =x0+3*dx/4, x6 =x0+6*dx/4, x9 =x0+9*dx/4, 
x12=x0+12*dx/4,y1 =y0-dx/4,   y3 =y0-3*dx/4, y6 =y0-6*dx/4},
Show[{DrawInput[x0  ,y0, "X", 6, ds, F+2] 
    , DrawInput[x12 ,y0, "Xb", 0, ds, F+2] 
    , DrawOutput[x0 ,y6, "Y", 6, ds, F+2] 
    , DrawOutput[x12,y6, "Yb", 0, ds, F+2] 
    , DrawSum[x0, y0, 1, 0, 1, 2,"S1",2,ds,F]
    , DrawSum[x9, y3, 0, 3, 1, 2,"S2",0,ds,F]
    , DrawSum[x0, y6, 3, 1, 2, 0,"S3",6,ds,F]
    , DrawAmpS[x3,y3 ,x9,"1-g","", 0,  1,F]
    , DrawJ[x6,y0,x12,y0,0]
    , DrawJ[x6,y6,x12,y6,0]
    , DrawJunction[x0 ,y0 ,"1",2,1,F]
    , DrawJunction[x0 ,y6 ,"2",2,1,F]
    , DrawJunction[x12,y0 ,"3",2,1,F]
    , DrawJunction[x3, y3 ,"5",4,1,F]
    , DrawJunction[x9, y3 ,"6",2,1,F]
    , DrawJunction[x12,y6 ,"4",6,1,F]}
,AspectRatio -> Automatic,Axes -> False, PlotRange -> All]];

DrawWDF2[x0_,y0_,dx_,ds_,F_:8] := Module[{
x1 =x0+dx/4,   x3 =x0+3*dx/4, x6 =x0+6*dx/4, x9 =x0+9*dx/4, 
x12=x0+12*dx/4,y1 =y0-dx/4,   y3 =y0-3*dx/4, y6 =y0-6*dx/4},
Show[{DrawInput[x0  ,y0, "X", 6, ds, F+2] 
    , DrawInput[x12 ,y0, "Xb", 0, ds, F+2] 
    , DrawOutput[x0 ,y6, "Yb", 6, ds, F+2] 
    , DrawOutput[x12,y6, "Y", 0, ds, F+2] 
    , DrawSum[x0, y0, 1, 0, 3, 2,"S1",2,ds,F]
    , DrawSum[x9, y3, 0, 1, 1, 2,"S2",0,ds,F]
    , DrawSum[x0, y6, 1, 3, 2, 0,"S3",6,ds,F]
    , DrawAmpS[x3,y3 ,x9,"-g"," ", 0,  1,F]
    , DrawJ[x6,y0,x12,y0,0]
    , DrawJ[x6,y6,x12,y6,0]
    , DrawJunction[x0 ,y0 ,"1",2,1,F]
    , DrawJunction[x0 ,y6 ,"4",2,1,F]
    , DrawJunction[x12,y0 ,"3",2,1,F]
    , DrawJunction[x3, y3 ,"5",4,1,F]
    , DrawJunction[x9, y3 ,"6",2,1,F]
    , DrawJunction[x12,y6 ,"2",6,1,F]}
,AspectRatio -> Automatic,Axes -> False, PlotRange -> All]];

DrawWDF3[x0_,y0_,dx_,ds_,F_:8] := Module[{
x1 =x0+dx/4,   x3 =x0+3*dx/4, x6 =x0+6*dx/4, x9 =x0+9*dx/4, 
x12=x0+12*dx/4,y1 =y0-dx/4,   y3 =y0-3*dx/4, y6 =y0-6*dx/4},
Show[{DrawInput[x0  ,y0, "X", 2, ds, F+2] 
    , DrawInput[x12 ,y0, "Xb", 0, ds, F+2] 
    , DrawOutput[x0 ,y6, "Y", 2, ds, F+2] 
    , DrawOutput[x12,y6, "Yb", 0, ds, F+2] 
    , DrawLine[x0,y6,x12,y0]
    , DrawLine[x0,y0,x12,y6]
    , DrawJunction[x0 ,y0 ,"1",2,1,F]
    , DrawJunction[x0 ,y6 ,"2",2,1,F]
    , DrawJunction[x12,y0 ,"3",2,1,F]
    , DrawJunction[x12,y6 ,"4",6,1,F]}
,AspectRatio -> Automatic,Axes -> False, PlotRange -> All]];

DrawWDF4[x0_,y0_,dx_,ds_,F_:8] := Module[{
x1 =x0+dx/4,   x3 =x0+3*dx/4, x6 =x0+6*dx/4, x9 =x0+9*dx/4, 
x12=x0+12*dx/4,y1 =y0-dx/4,   y3 =y0-3*dx/4, y6 =y0-6*dx/4},
Show[{DrawInput[x0  ,y0, "X", 6, ds, F+2] 
    , DrawInput[x12 ,y0, "Xb", 0, ds, F+2] 
    , DrawOutput[x0 ,y6, "Yb", 6, ds, F+2] 
    , DrawOutput[x12,y6, "Y", 0, ds, F+2] 
    , DrawSum[x0, y0, 3, 0, 1, 2,"S1",2,ds,F]
    , DrawSum[x9, y3, 0, 1, 1, 2,"S2",0,ds,F]
    , DrawSum[x0, y6, 1, 1, 2, 0,"S3",6,ds,F]
    , DrawAmpS[x3,y3 ,x9,"g"," ", 0,  1,F]
    , DrawJ[x6,y0,x12,y0,0]
    , DrawJ[x6,y6,x12,y6,0]
    , DrawJunction[x0 ,y0 ,"1",2,1,F]
    , DrawJunction[x0 ,y6 ,"4",2,1,F]
    , DrawJunction[x12,y0 ,"3",2,1,F]
    , DrawJunction[x3, y3 ,"5",4,1,F]
    , DrawJunction[x9, y3 ,"6",2,1,F]
    , DrawJunction[x12,y6 ,"2",6,1,F]}
,AspectRatio -> Automatic,Axes -> False, PlotRange -> All]];

DrawWDF5[x0_,y0_,dx_,ds_,F_:8] := Module[{
x1 =x0+dx/4,   x3 =x0+3*dx/4, x6 =x0+6*dx/4, x9 =x0+9*dx/4, 
x12=x0+12*dx/4,y1 =y0-dx/4,   y3 =y0-3*dx/4, y6 =y0-6*dx/4},
Show[{DrawInput[x0  ,y0, "X", 6, ds, F+2] 
    , DrawInput[x12 ,y0, "Xb", 0, ds, F+2] 
    , DrawOutput[x0 ,y6, "Y", 6, ds, F+2] 
    , DrawOutput[x12,y6, "Yb", 0, ds, F+2] 
    , DrawSum[x0, y0, 3, 0, 1, 2,"S1",2,ds,F]
    , DrawSum[x9, y3, 0, 1, 1, 2,"S2",0,ds,F]
    , DrawSum[x0, y6, 1, 3, 2, 0,"S3",6,ds,F]
    , DrawAmpS[x3,y3 ,x9,"1+g","", 0,  1,F]
    , DrawJ[x6,y0,x12,y0,0]
    , DrawJ[x6,y6,x12,y6,0]
    , DrawJunction[x0 ,y0 ,"1",2,1,F]
    , DrawJunction[x0 ,y6 ,"2",2,1,F]
    , DrawJunction[x12,y0 ,"3",2,1,F]
    , DrawJunction[x3, y3 ,"5",4,1,F]
    , DrawJunction[x9, y3 ,"6",2,1,F]
    , DrawJunction[x12,y6 ,"4",6,1,F]}
,AspectRatio -> Automatic,Axes -> False, PlotRange -> All]];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -