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

  1. 10 REM Basic functions for phase and frequency response
  2. 15 REM Copyright 1986, Arnold B. Krueger, Grosse Pointe Woods, MI, 48236
  3. 20 DEF FNPHLP1(W,WC,D) = -ATN(W/WC)
  4. 30 DEF FNPHHP1(W,WC,D) =  ATN(WC/W)
  5. 40 DEF FNPHLP2(W,WC,D) = -ATN( D*W /(WC*(1.000001-(W/WC)^2 ) ) ) + PI*(W>WC)
  6. 50 DEF FNPHHP2(W,WC,D) =  ATN( D*WC/(W *(1.000001-(WC/W)^2 ) ) ) - PI*(W<WC)
  7. 60 DEF FNAMLP1(W,WC,D) = 1 / SQR(1!+(W/WC)^2)
  8. 70 DEF FNAMHP1(W,WC,D) = 1 / SQR(1!+(WC/W)^2)
  9. 80 DEF FNAMLP2(W,WC,D) = 1 / SQR(1+(W/WC)^4+(D*D-2!)*(W/WC)^2)
  10. 90 DEF FNAMHP2(W,WC,D) = 1 / SQR(1+(WC/W)^4+(D*D-2.000001)*(WC/W)^2)
  11. 100 DEF FNDBV(AMP)      = 20!*LOG(AMP)/LOG(10!)
  12. 110 DEF FNPHD(RAD) = 180!*RAD/PI
  13. 120 PI = ATN(SQR(3!))*3
  14. 130 DIM FREQT(31),AMPT(31)
  15. 140 REM driver characteristics
  16. 150 TITLE$ = "Morel MDT 27 Krueger"
  17. 160 REM subscript of data frequencies with valid data
  18. 170 FIRST = 16 : LAST = 31
  19. 180 FREQT( 1)=   20:  AMPT( 1)=  -20
  20. 190 FREQT( 2)=   25:  AMPT( 2)=  -18
  21. 200 FREQT( 3)=   32:  AMPT( 3)=  -16
  22. 210 FREQT( 4)=   40:  AMPT( 4)=  -12
  23. 220 FREQT( 5)=   50:  AMPT( 5)=  -10
  24. 230 FREQT( 6)=   64:  AMPT( 6)=  -7
  25. 240 FREQT( 7)=   80:  AMPT( 7)=  -4
  26. 250 FREQT( 8)=  100:  AMPT( 8)=  -1
  27. 260 FREQT( 9)=  125:  AMPT( 9)=  -1
  28. 270 FREQT(10)=  160:  AMPT(10)=  -0
  29. 280 FREQT(11)=  200:  AMPT(11)=  +2
  30. 290 FREQT(12)=  250:  AMPT(12)=  +1
  31. 300 FREQT(13)=  320:  AMPT(13)=  -22
  32. 310 FREQT(14)=  400:  AMPT(14)=  -20
  33. 320 FREQT(15)=  500:  AMPT(15)=  -20
  34. 330 FREQT(16)=  640:  AMPT(16)=  -10
  35. 340 FREQT(17)=  800:  AMPT(17)=  -6
  36. 350 FREQT(18)= 1000:  AMPT(18)=  -5
  37. 360 FREQT(19)= 1250:  AMPT(19)=  -3
  38. 370 FREQT(20)= 1600:  AMPT(20)=  -2
  39. 380 FREQT(21)= 2000:  AMPT(21)=  -0
  40. 390 FREQT(22)= 2500:  AMPT(22)=  -0
  41. 400 FREQT(23)= 3200:  AMPT(23)=  +2
  42. 410 FREQT(24)= 4000:  AMPT(24)=  +3
  43. 420 FREQT(25)= 5000:  AMPT(25)=   2
  44. 430 FREQT(26)= 6400:  AMPT(26)=   1
  45. 440 FREQT(27)= 8000:  AMPT(27)=   1
  46. 450 FREQT(28)=10000:  AMPT(28)=  +0
  47. 460 FREQT(29)=12500:  AMPT(29)=  -3
  48. 470 FREQT(30)=16000:  AMPT(30)=  -4
  49. 480 FREQT(31)=20000:  AMPT(31)=  -5
  50. 490 REM driver characteristics
  51. 500 FL = 1300!  :QL = 1.5
  52. 510 FH = 14000! :QH = .7
  53. 520 DBOFF = +.5
  54. 530 REM
  55. 540 DL = 1!/QL
  56. 550 DH = 1!/QH
  57. 560 WL = FL*2!*PI
  58. 570 WH = FH*2!*PI
  59. 580 GOSUB 750
  60. 590 ERRSUM = 0
  61. 600 FOR FI = FIRST TO LAST
  62. 610 F = FREQT(FI)
  63. 620 REM IF F=1000! THEN GOSUB 640
  64. 630 W = F*2!*PI
  65. 640 REM      basic equations for response
  66. 650 THPHAS = FNPHHP2(W,WL,DL) + FNPHLP2(W,WH,DH)
  67. 660 THGAIN = FNAMHP2(W,WL,DL) * FNAMLP2(W,WH,DH)
  68. 680 THAMP  = FNDBV(THGAIN) +DBOFF
  69. 681 ERRSUM = (AMPT(FI)-THAMP)^2 + ERRSUM
  70. 690 THPHAS=FNPHD(THPHAS)
  71. 700 PRINT USING "###### ####.## ####.## ####.##";F;AMPT(FI);THAMP;THPHAS
  72. 710 NEXT FI
  73. 720 PRINT "Error = ";ERRSUM
  74. 730 LIST 490-520
  75. 740 STOP
  76. 750 PRINT " "
  77. 760 PRINT "Crossover at:";FC;" Q:";Q
  78. 770 PRINT "   Lower driver Fc:";FL;" Q:";QL
  79. 780 PRINT "   Upper driver Fc:";FH;" Q:";QH
  80. 790 PRINT "Driver ID =";TITLE$
  81. 800 PRINT " "
  82. 810 PRINT " Freq   actual   theory   phase"
  83. 820 PRINT "------  ------- -------- -------"
  84. 830 RETURN
  85. 
  86.