home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
games
/
alpha.zip
/
SYSAR3TE.BAS
< prev
next >
Wrap
BASIC Source File
|
1986-12-31
|
6KB
|
125 lines
1 REM model of morel mdm-75 to mdt 27 crossover
2 REM Copyright 1986, Arnold B. Krueger, Grosse Pointe Woods, MI. 48236
100 REM this model includes a 2nd order lp eq section before
110 REM the electrical crossover
120 DEF FNPHLP1(W,WC,D) = -ATN(W/WC)
130 DEF FNPHHP1(W,WC,D) = ATN(WC/W)
140 DEF FNPHLP2(W,WC,D) = -ATN( D*W /(WC*(1.000001-(W/WC)^2 ) ) ) + PI*(W>WC)
150 DEF FNPHHP2(W,WC,D) = ATN( D*WC/(W *(1.000001-(WC/W)^2 ) ) ) - PI*(W<WC)
160 DEF FNAMLP1(W,WC,D) = 1 / SQR(1!+(W/WC)^2)
170 DEF FNAMHP1(W,WC,D) = 1 / SQR(1!+(WC/W)^2)
180 DEF FNAMLP2(W,WC,D) = 1 / SQR(1+(W/WC)^4+(D*D-2!)*(W/WC)^2)
190 DEF FNAMHP2(W,WC,D) = 1 / SQR(1+(WC/W)^4+(D*D-2.000001)*(WC/W)^2)
200 DEF FNDBV(AMP) = 20!*LOG(AMP)/LOG(10!)
210 DEF FNPHD(RAD) = 180!*RAD/PI
220 DEF FNSUMA(AA,AB,PA,PB) = SQR((AA*SIN(PA)+AB*SIN(PB))^2 + (AA*COS(PA)+AB*COS(PB))^2 )
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 )
240 DEF FNSUMPN(AA,AB,PA,PB) = AA*SIN(PA)+AB*SIN(PB)
250 DEF FNSUMPD(AA,AB,PA,PB) = AA*COS(PA)+AB*COS(PB)
260 DEF FNDIRF(AA,AB,PA,PB) = ABS((SIN((PA-PB))*(((AA >= AB)*AB/AA)+((AB > AA)*AA/AB) )))
270 PI = ATN(SQR(3!))*3
280 DIM FREQT(10)
290 FREQT(1)=20:FREQT(2)=25:FREQT(3)=32:FREQT(4)=40:FREQT(5)=50:FREQT(6)=64:
300 FREQT(7)=80:FREQT(8)=100:FREQT(9)=128:FREQT(10)=160
310 REM Crossover characteristics
320 FCL = 1800.1 :QCL = .5
330 FCL2 = 1800.1 :QCL2 = .5
340 FCH = 1800.1 :QCH = .5
350 REM high end equalizer characteristics
360 FEH = 20000! :QEH = 1.5
370 PRINT "Enter QCL1 at F= ";FCL;", or hit enter for ";QCL
380 INPUT ANS
390 IF ANS > 0 THEN QCL = ANS
400 PRINT "Enter QCL2 at F= ";FCL2;", or hit enter for ";QCL2
410 INPUT ANS
420 IF ANS > 0 THEN QCL2 = ANS
430 PRINT "Enter QCH at F= ";FCH;", or hit enter for ";QCH
440 INPUT ANS
450 IF ANS > 0 THEN QCH = ANS
460 PRINT "Enter QEH at F= ";FEH;", or hit enter for ";QEH
470 INPUT ANS
480 IF ANS > 0 THEN QEH = ANS
490 REM driver characteristics
500 FLB = .001 :QLB = .7 :REM low driver low roll-off 1
510 FLL = 600.01 :QLL = 1.1 :REM low driver low roll-off 2
520 FLH = 6000.01 :QLH = .6 :REM low driver high roll-off
530 FHL = 1300.01 :QHL = 1.5 :REM high driver low roll-off
540 FHH = 14000.01 :QHH = .7 :REM high driver high roll-off
550 REM Upper driver is dist inches in front of lower driver
560 DIST = 0!
570 REM End of variables
580 WLB = FLB*2*PI
590 DLB = 1!/QLB
600 WCH = FCH*2*PI
610 WCL2 = FCL2*2*PI
620 DCL2 = 1!/QCL2
630 WCL = FCL*2*PI
640 DCL = 1!/QCL
650 DCH = 1!/QCH
660 WLL = FLL*2*PI
670 WLH = FLH*2*PI
680 DLL = 1!/QLL
690 DLH = 1!/QLH
700 WHL = FHL*2!*PI
710 WHH = FHH*2!*PI
720 WEH = FEH*2!*PI
730 DHL = 1!/QHL
740 DHH = 1!/QHH
750 DEH = 1!/QEH
760 GOSUB 1160
770 FOR ID = 3 TO 4 :REM decade
780 FOR IO = 1 TO 10
790 IF ID = 5 AND IO > 1 THEN GOTO 1140
800 F = FREQT(IO)*10^(ID-2)
810 W = F*2!*PI
820 REM basic equations for response
830 LPPHAS = FNPHLP2(W,WCL,DCL) + FNPHLP2(W,WCL2,DCL2) + FNPHLP2(W,WLH,DLH) + FNPHHP2(W,WLL,DLL) + FNPHHP2(W,WLB,DLB)
840 LPGAIN = FNAMLP2(W,WCL,DCL) * FNAMLP2(W,WCL2,DCL2) * FNAMLP2(W,WLH,DLH) * FNAMHP2(W,WLL,DLL) * FNAMHP2(W,WLB,DLB)
850 HPPHAS = FNPHHP2(W,WCH,DCH) + FNPHHP2(W,WHL,DHL) + FNPHLP2(W,WHH,DHH) + DIST * W /(12!*1100)
860 HPGAIN = FNAMHP2(W,WCH,DCH) * FNAMHP2(W,WHL,DHL) * FNAMLP2(W,WHH,DHH)
870 REM Equalizer affects both halves
880 LPPHAS = LPPHAS + FNPHLP2(W,WEH,DEH)
890 HPPHAS = HPPHAS + FNPHLP2(W,WEH,DEH)
900 LPGAIN = LPGAIN * FNAMLP2(W,WEH,DEH)
910 HPGAIN = HPGAIN * FNAMLP2(W,WEH,DEH)
920 REM Calculate summation characteristics
930 DIRC = FNDIRF(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
940 AMPR = FNSUMA(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
950 POWR = FNSUMPW(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
960 PHASN = FNSUMPN(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
970 PHASD = FNSUMPD(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
980 PHAS = ATN(PHASN/PHASD)
990 IF (PHASN<0! AND PHASD<0!)THEN PHAS = PHAS-PI
1000 IF (PHASN>0! AND PHASD<0!)THEN PHAS = PI+PHAS
1010 HPAMP = HPAMP * FNAMLP2(W,WEH,DEH)
1020 HPPHAS = HPPHAS + FNPHLP2(W,WEH,DEH)
1030 LPAMP = FNDBV(LPGAIN)
1040 HPAMP = FNDBV(HPGAIN)
1050 AMPRD = FNDBV(AMPR)
1060 POWRD = FNDBV(POWR)*.5
1070 HPPHAS = FNPHD(HPPHAS)
1080 PHASD = FNPHD(PHAS)
1090 LPPHAS = FNPHD(LPPHAS)
1100 PRINT USING"###### ####.## ####.## ####.## ####.## #.## ###.## ###.## ###.## ####.##";F;LPPHAS;LPAMP;HPPHAS;HPAMP;DIRC;HPPHAS-LPPHAS,AMPRD,POWRD,PHASD
1110 NEXT IO
1120 NEXT ID
1130 PRINT" "
1140 REM LIST 200-250
1150 STOP
1160 PRINT " "
1170 PRINT "Lower Crossover (1) at:";FCL;" Q:";QCL
1180 PRINT "Lower Crossover (2) at:";FCL2;" Q:";QCL2
1190 PRINT "Upper Crossover at:";FCH;" Q:";QCH
1200 PRINT " Lower driver (1) lower Fc:";FLL;" Q:";QLL
1210 PRINT " Lower driver (2) lower Fc:";FLB;" Q:";QLB
1220 PRINT " Lower driver upper Fc:";FLH;" Q:";QLH
1230 PRINT " Upper driver lower Fc:";FHL;" Q:";QHL
1240 PRINT " Upper driver upper Fc:";FHH;" Q:";QHH
1250 PRINT "Upper driver is:";DIST;" Inches in front of lower driver"
1260 PRINT " "
1270 PRINT " Lower driver Upper driver
1280 PRINT " ---------------- --------------
1290 PRINT " Freq phase amp,dB phase amp,dB Dirf Ph Diff Vsum Psum Phsum"
1300 PRINT "------ ------- -------- ------- ------- ---- ------- ------ ----- -----"
1310 RETURN