home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / games / alpha.zip / SYSAR3TE.BAS < prev    next >
BASIC Source File  |  1986-12-31  |  6KB  |  125 lines

  1. 1 REM model of morel mdm-75 to mdt 27 crossover
  2. 2 REM Copyright 1986, Arnold B. Krueger, Grosse Pointe Woods, MI. 48236
  3. 100  REM this model includes a 2nd order lp eq section before
  4. 110  REM the electrical crossover
  5. 120 DEF FNPHLP1(W,WC,D) = -ATN(W/WC)
  6. 130 DEF FNPHHP1(W,WC,D) =  ATN(WC/W)
  7. 140 DEF FNPHLP2(W,WC,D) = -ATN( D*W /(WC*(1.000001-(W/WC)^2 ) ) ) + PI*(W>WC)
  8. 150 DEF FNPHHP2(W,WC,D) =  ATN( D*WC/(W *(1.000001-(WC/W)^2 ) ) ) - PI*(W<WC)
  9. 160 DEF FNAMLP1(W,WC,D) = 1 / SQR(1!+(W/WC)^2)
  10. 170 DEF FNAMHP1(W,WC,D) = 1 / SQR(1!+(WC/W)^2)
  11. 180 DEF FNAMLP2(W,WC,D) = 1 / SQR(1+(W/WC)^4+(D*D-2!)*(W/WC)^2)
  12. 190 DEF FNAMHP2(W,WC,D) = 1 / SQR(1+(WC/W)^4+(D*D-2.000001)*(WC/W)^2)
  13. 200 DEF FNDBV(AMP)      = 20!*LOG(AMP)/LOG(10!)
  14. 210 DEF FNPHD(RAD)     = 180!*RAD/PI
  15. 220 DEF FNSUMA(AA,AB,PA,PB) = SQR((AA*SIN(PA)+AB*SIN(PB))^2 + (AA*COS(PA)+AB*COS(PB))^2 )
  16. 230 DEF FNSUMPW(AA,AB,PA,PB) = SQR((AA*AA*SIN(PA)+AB*AB*SIN(PB))^2 +                                               (AA*AA*COS(PA)+AB*AB*COS(PB))^2 )
  17. 240 DEF FNSUMPN(AA,AB,PA,PB) =   AA*SIN(PA)+AB*SIN(PB)
  18. 250 DEF FNSUMPD(AA,AB,PA,PB) =   AA*COS(PA)+AB*COS(PB)
  19. 260 DEF FNDIRF(AA,AB,PA,PB) = ABS((SIN((PA-PB))*(((AA >= AB)*AB/AA)+((AB > AA)*AA/AB)  )))
  20. 270 PI = ATN(SQR(3!))*3
  21. 280 DIM FREQT(10)
  22. 290 FREQT(1)=20:FREQT(2)=25:FREQT(3)=32:FREQT(4)=40:FREQT(5)=50:FREQT(6)=64:
  23. 300 FREQT(7)=80:FREQT(8)=100:FREQT(9)=128:FREQT(10)=160
  24.  310 REM   Crossover characteristics
  25. 320 FCL   = 1800.1     :QCL  = .5
  26. 330 FCL2  = 1800.1     :QCL2 = .5
  27. 340 FCH   = 1800.1     :QCH  = .5
  28. 350 REM  high end equalizer characteristics
  29. 360 FEH   = 20000!   :QEH = 1.5
  30. 370 PRINT "Enter QCL1 at F= ";FCL;", or hit enter for ";QCL
  31. 380 INPUT ANS
  32. 390 IF ANS > 0 THEN QCL = ANS
  33. 400 PRINT "Enter QCL2 at F= ";FCL2;", or hit enter for ";QCL2
  34. 410 INPUT ANS
  35. 420 IF ANS > 0 THEN QCL2 = ANS
  36. 430 PRINT "Enter QCH  at F= ";FCH;", or hit enter for ";QCH
  37. 440 INPUT ANS
  38. 450 IF ANS > 0 THEN QCH = ANS
  39. 460 PRINT "Enter QEH  at F= ";FEH;", or hit enter for ";QEH
  40. 470 INPUT ANS
  41. 480 IF ANS > 0 THEN QEH = ANS
  42. 490 REM   driver characteristics
  43. 500 FLB = .001     :QLB = .7      :REM low driver low roll-off 1
  44. 510 FLL = 600.01   :QLL = 1.1     :REM low driver low roll-off 2
  45. 520 FLH = 6000.01  :QLH = .6      :REM low driver high roll-off
  46. 530 FHL = 1300.01  :QHL = 1.5     :REM high driver low roll-off
  47. 540 FHH = 14000.01 :QHH = .7      :REM high driver high roll-off
  48. 550 REM Upper driver is dist inches in front of lower driver
  49. 560 DIST = 0!
  50. 570 REM End of variables
  51. 580 WLB = FLB*2*PI
  52. 590 DLB = 1!/QLB
  53. 600 WCH = FCH*2*PI
  54. 610 WCL2 = FCL2*2*PI
  55. 620 DCL2 = 1!/QCL2
  56. 630 WCL = FCL*2*PI
  57. 640 DCL = 1!/QCL
  58. 650 DCH = 1!/QCH
  59. 660 WLL = FLL*2*PI
  60. 670 WLH = FLH*2*PI
  61. 680 DLL = 1!/QLL
  62. 690 DLH = 1!/QLH
  63. 700 WHL = FHL*2!*PI
  64. 710 WHH = FHH*2!*PI
  65. 720 WEH = FEH*2!*PI
  66. 730 DHL = 1!/QHL
  67. 740 DHH = 1!/QHH
  68. 750 DEH = 1!/QEH
  69. 760 GOSUB 1160
  70. 770 FOR ID = 3 TO 4           :REM decade 
  71. 780 FOR IO = 1 TO 10
  72. 790 IF ID = 5 AND IO > 1 THEN GOTO 1140
  73. 800 F = FREQT(IO)*10^(ID-2)
  74. 810 W = F*2!*PI
  75. 820 REM      basic equations for response
  76. 830 LPPHAS = FNPHLP2(W,WCL,DCL) + FNPHLP2(W,WCL2,DCL2) + FNPHLP2(W,WLH,DLH) + FNPHHP2(W,WLL,DLL) + FNPHHP2(W,WLB,DLB)
  77. 840 LPGAIN = FNAMLP2(W,WCL,DCL) * FNAMLP2(W,WCL2,DCL2) * FNAMLP2(W,WLH,DLH) * FNAMHP2(W,WLL,DLL) * FNAMHP2(W,WLB,DLB)
  78. 850 HPPHAS = FNPHHP2(W,WCH,DCH) + FNPHHP2(W,WHL,DHL) + FNPHLP2(W,WHH,DHH)                + DIST * W /(12!*1100)
  79. 860 HPGAIN = FNAMHP2(W,WCH,DCH) * FNAMHP2(W,WHL,DHL) * FNAMLP2(W,WHH,DHH)
  80. 870 REM      Equalizer affects both halves
  81. 880 LPPHAS = LPPHAS + FNPHLP2(W,WEH,DEH)
  82. 890 HPPHAS = HPPHAS + FNPHLP2(W,WEH,DEH)
  83. 900 LPGAIN = LPGAIN * FNAMLP2(W,WEH,DEH)
  84. 910 HPGAIN = HPGAIN * FNAMLP2(W,WEH,DEH)
  85. 920 REM      Calculate summation characteristics
  86. 930 DIRC   = FNDIRF(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
  87. 940 AMPR   = FNSUMA(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
  88. 950 POWR   = FNSUMPW(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
  89. 960 PHASN  = FNSUMPN(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
  90. 970 PHASD  = FNSUMPD(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
  91. 980 PHAS   = ATN(PHASN/PHASD)
  92. 990 IF (PHASN<0! AND PHASD<0!)THEN PHAS = PHAS-PI
  93. 1000 IF (PHASN>0! AND PHASD<0!)THEN PHAS = PI+PHAS
  94. 1010 HPAMP  = HPAMP * FNAMLP2(W,WEH,DEH)
  95. 1020 HPPHAS = HPPHAS + FNPHLP2(W,WEH,DEH)
  96. 1030 LPAMP  = FNDBV(LPGAIN)
  97. 1040 HPAMP  = FNDBV(HPGAIN)
  98. 1050 AMPRD  = FNDBV(AMPR)
  99. 1060 POWRD  = FNDBV(POWR)*.5
  100. 1070 HPPHAS = FNPHD(HPPHAS)
  101. 1080 PHASD  = FNPHD(PHAS)
  102. 1090 LPPHAS = FNPHD(LPPHAS)
  103. 1100 PRINT USING"######  ####.## ####.##  ####.## ####.## #.## ###.## ###.## ###.## ####.##";F;LPPHAS;LPAMP;HPPHAS;HPAMP;DIRC;HPPHAS-LPPHAS,AMPRD,POWRD,PHASD
  104. 1110 NEXT IO
  105. 1120 NEXT ID
  106. 1130 PRINT" "
  107. 1140 REM LIST 200-250
  108. 1150 STOP
  109. 1160 PRINT " "
  110. 1170 PRINT "Lower Crossover (1) at:";FCL;" Q:";QCL
  111. 1180 PRINT "Lower Crossover (2) at:";FCL2;" Q:";QCL2
  112. 1190 PRINT "Upper Crossover at:";FCH;" Q:";QCH
  113. 1200 PRINT "   Lower driver (1) lower Fc:";FLL;" Q:";QLL
  114. 1210 PRINT "   Lower driver (2) lower Fc:";FLB;" Q:";QLB
  115. 1220 PRINT "   Lower driver upper Fc:";FLH;" Q:";QLH
  116. 1230 PRINT "   Upper driver lower Fc:";FHL;" Q:";QHL
  117. 1240 PRINT "   Upper driver upper Fc:";FHH;" Q:";QHH
  118. 1250 PRINT "Upper driver is:";DIST;" Inches in front of lower driver"
  119. 1260 PRINT " "
  120. 1270 PRINT "          Lower driver    Upper driver
  121. 1280 PRINT "        ---------------- --------------
  122. 1290 PRINT " Freq    phase   amp,dB   phase  amp,dB  Dirf Ph Diff  Vsum   Psum  Phsum"
  123. 1300 PRINT "------  ------- -------- ------- ------- ---- ------- ------ -----  -----"
  124. 1310 RETURN
  125.