CN85107388A - 弹丸弹道参数测试的声学方法 - Google Patents
弹丸弹道参数测试的声学方法 Download PDFInfo
- Publication number
- CN85107388A CN85107388A CN85107388.3A CN85107388A CN85107388A CN 85107388 A CN85107388 A CN 85107388A CN 85107388 A CN85107388 A CN 85107388A CN 85107388 A CN85107388 A CN 85107388A
- Authority
- CN
- China
- Prior art keywords
- return
- gosub2250
- str
- gosub2265
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
Abstract
本发明方法属于靶道弹参数测试技术。它利用设置在一直线上不同距离处的多个声测系统自动测定弹丸穿过各个声测系统的坐标值及弹丸在各声测系统间的飞行时间等数据。经计算机用专用软件处理后可以自动绘制出弹丸轨迹在垂直面和水平面上的投影曲线及其真空外推曲线、速度-距离、散播-距离等多种曲线和回归方程以及十几项运动参数,实现了一弹多参数的弹道测试要求,克服了单项测量中的各种弊病。
Description
本发明方法是属于靶道弹道参数测试技术。
靶道小口径弹丸低伸弹道参数的测试设备和方法很多,如压电石英传感器、测速靶、初速雷达、摄影机、声电精度靶等。但是多数是用于单项参数测试的,如测压力、温度、速度等。声电精度靶近年来发展很快,它结构简单、精度高、易于操作。英国“防卫”杂志一九七三年五月号报道了英国MS公司的射弹位置指示器就是这类设备,它是用一垂直棒和水平棒所限定的一块面积代替原来的纸靶,每根棒的两端装有压电传感器。弹丸冲击波传到棒上时棒引起振动,感应振动沿棒匀速传播。尔后压电传感器因振动而发出电脉冲。对每根棒来说,与弹丸产生的单个冲击波相对应的传感器的输出间的时间间隔,就成了沿棒轴轴向弹丸位置的量度。两棒同时测量,就确定了弹丸在测量平面上的位置。四个信号输入到主放大器,经检波、放大、消除回声后输入到座标计算机和显示装置上去,计算机的逻辑电路将四个脉冲限定的两个间隔的信号转换成沿两座标轴距测量面中心处原点的位移。
对于上述这些测试弹丸穿过靶平面位置的方法,都不能解决一弹测试多参数和自动化的问题。
本发明的目的在于提出一种用声学方法解决弹道参数测试自动化和一弹多参数的方法问题。
超音速飞行的弹丸在某一截面的座标由声靶(即声电精度靶或射弹位置指示器)测定。
声靶是由靶平面、通道放大器、传输线、时差测量仪、微计算机、绘图仪等组成。靶平面是由在同一平面内互相垂直且分别垂直和平行于水平面的两根声测棒所组成的平面,这个平面垂直于水平面,其法线与弹丸飞行方向平行。测试时,使弹丸穿过靶平面的有效区域。
声测棒(1)、(2)是铝园棒(9)经车削后两端装上压电传感器做成。声测棒的长度一般在1.5米到5米范围。其直径一般在25至30毫米。当冲击波作用到声测棒以后,与棒发生作用,产生声振动,振动波沿棒的轴向匀速传播,棒两端的压电传感器将振动信号变换成电信号,这两个电信号具有时差△t,△t的大小与冲击波在声测棒上的作用位置是一一对应的,只要测出时差△t就可以得到作用点的位置。本发明方法有效距离为400米。
靶平面的两根声测棒中,一根是水平放置,称x棒(1),一根是垂直放置称Y棒(2)。以x棒(1)为例,从枪口往靶平面看,声测棒(1)作用点在棒上的投影在棒中心点左边x距离处,则△tx是负的,反之若作用点在棒上的投影在棒中心点右边x距离处,则△tx是正的。Y棒(2)情况同x棒(1),弹丸穿过靶平面的座标为:
x= 1/2 c·△tx……(1′)
y= 1/2 c·△ty……(2′)
其中c是声波在声测棒中轴向传播速度。
时差△t是通过时差测试仪测量的,若计时脉冲周期为T,时差极性为K,则(1′)、(2′)两式可变换成:
x= (c)/2 △tx= 1/2 C·K·T·Nx……(3′)
y= (c)/2 △ty= 1/2 C·K·T·Nx……(4′)
其中Nx和Ny是计数脉冲数。只要把(3′)、(4′)中的参数输入计算机处理就可以得到x和y值(即弹丸飞行轨迹上某一断面上的座标值。)
在距枪口200米范围内,在枪口附近安置一个压电传感器,同时在与弹丸飞行的同一直线方向上,设置与该方向呈垂直的多个声靶平面。其数量可根据具体的测试内容来确定,一般是4至16个。每相邻两个声靶平面间的间隔距离也由测试内容的要求而定,一般是不超过30米。第一靶平面离枪口也是25米。如图1所以的,每个靶平面是通过三个调节螺杆(5)调节靶架(3),使得该声靶平面垂直于水平面以及使水平放置的声测棒(1)平行于水平面,垂直放置的声测棒(2)垂直于水平面。将安装在声测棒(1)、(2)两端的四个压电传感器所测得的4个信号用导线接到转换盒(4),再经通道放大器(6)、传输长线(7)传输至时差测试仪(30)。
将时差测试仪测到的时差脉冲数送给微型计算机。用予先编制的程序进行数据处理,就可以达到本发明的目的。
本发明的多通道时差采集及数字处理系统由下列各部分组成:磁带机或磁盘(17)显示器(18),微计算机(19),绘图仪(20),计算机接口(21),通道地址发生器(22),时标发生器(23),时钟信号总线(24),状态总线(25),复位总线(26),内部地址总线(27),内部数据总线(28),枪口信号(29),以及时差测试仪(30)等组成。图3中x1~xn是第1至n个声靶x时差测试仪;y1~yn是第1至n个声靶Y时差测试仪;f1~fn是弹丸飞行时间测试仪x-、x+、y-、y+分别表示x向声测棒(1)和Y向声测棒(2)的负端和正端信号。其中枪口信号(29)是装于枪上或枪口附近的声传感器所接收的信号。经过与声测棒(1)、(2)的信号同样的处理后的信号,用于测飞行时间的启动信号。这里n的取值范围是4~16。即声靶平面的数量。
声测棒(1)、(2)两端除压电传感器(10)之外,还有一个阻抗变换器(11)(见图5),它的电源由通道放大器(6)供给,每个靶平面的四个信号引到转接盒(4),再通过一根多芯线与通道放大器(6)进行电路连接,这根连接线有来自声测棒(1)(2)的四根信号线、有通道放大器(6)来的电源线和外壳屏蔽的公共地线。
通道放大器(6)把信号经滤波器(12)、放大器(13)、电压比较器(14)和定时抑制器(15)后,由长线驱动器(16)驱动输出(见图2)。
本发明要求通道放大器增益大于70db,频带带宽10~50KHz,放大器输入噪声小于0.4mv,输入阻抗大于106Ω,差分输出阻抗50Ω,参考电压调整在2.5v,抑制电路采用单稳态电路,准稳态时间的调整受射击频率的限制,即必须小于在连发状态下每两发子弹的最大间隔时间。每个通道放大器(6)中的四路放大器的性能要求一致,增益应能用开关调节,以适用于单发、连发、室内和室外(即靶道和靶场)等各种情况。
本发明方法中所用的多通道时差测试仪的组成部件有:先开后关电路(31),通道地址译码器(32)、状态寄存器(33)、时差计数器(34)、报警器(35)、极性检测器(36)、输出缓冲器(37)和长线接收器(39)等。而飞行时间测试仪与上述介绍的多通道时差测试仪相似,只是没有先开后关电路(31)、输入指示(38)和长线接收器(39)。它的启动信号来自前一靶平面的声测棒(2)的信号,若是第一个飞行时间测试仪则用枪口信号(29),关闭信号来自后一靶平面的声测棒(2)的信号。
长线接收器(38)接收从长线来的差分脉冲信号,把它变换成标准TTL信号。
先开后关电路(31)是时差脉冲计数器(34)的门控信号,来自同一声测棒的信号中先到者打开计数器门,开始计数,而后到者把计数门关闭,停止计数,同时使通道状态触发器(33)置“1”(有效状态)。
输出缓冲器(37)的输出受通道状态寄存器(33)、通道地址译码器(32)和报警器(35)等三个信号的控制。只有这三个信号都有效时才能输出信号。
通道地址译码器(32)是一种符合电路,当通道地址和予先设定的地址相同时,其输出为“有效”,否则为无效。报警器(35)是当由于种种原因引起的计数器失控时能提供一种状态的设备,若计数器(34)失控、则报警器(35)的较出为“无效”,正常时输出为“有效”。
极性检测(36)是检测来自同一声测棒的两个信号中先传来的一个是负端信号还是正端信号,若先传来的是负端信号,则极性检测器(36)输出一个高电平;相反,若先传来的是正端信号,则输出低电平。极性检测(36)的输出是数据的一部分。
输入指示(38)是为面板显示器LED提供的驱动信号,当有输入时,输入指示器(38)便输出一个展宽了的脉冲信号,驱动LED显示器。
通道地址发生器及控制器(22),它产生通道地址,通道地址扫瞄的启停受外界信号的控制,当通道地址所指向的通道的状态为有效时,扫瞄停止,这时把该通道的状态送上状态总线,通过计算机接口电路(21)提示计算机来提数据,同时把该通道的输出缓冲器门控打开;通道地址作为数据的一部分被计算机取走。通道数据的结构为17位字长,其中11位是时差数据,1位是极性,5位是通道地址。通道地址的长度视所用的通道数而定,每一个靶平面需二个定位通道,每二个靶平面间需一个飞行时间通道,八个靶平面共十六个定位通道和八个飞行时间通道共二十四个通道,则通道地址需5位。当计算机取走数据后给出一个“回答”信号,使通道状态复位,同时恢复通道地址扫瞄。
时标发生器(23)它由晶体振荡器产生一高频脉冲,后经一系列分频后得到多种频率的脉冲,以适应各种时标的选择。
计算机接口电路(21)是时差测试仪和计算机间的桥梁,通过它,计算机得到时差测试仪的状态信息,通过它计算机取走时差数据,计算机通过它利用控制器使提供数据的那个通道复位。
本发明所采用的多通道时差测试仪的一些参数是:
内部数据总线:(D′0~11)(28)12位;
内部地址总线(A′0~4)(27):5位;
时钟信号总线(24):1根;
状态总线(25):1根;
复位总线(26):1根。
时差测量通道数:24个
计算机和外部设备:
微型计算机(19),是一般通用八位微型机。本发明方法使用的是TRS-80,也可以用PS-80、MDR-Z80、DPS-80A、DJS-043、LWY-80A类型的微型机。
磁带机或磁盘(17),是计算机的外部设备,它是用来储存程序的设备。
绘图仪(20)可以根据微处理机(19)的指令和计算结果,自动地绘制出各种曲线和打印出各种参数。
图1为本发明方法中的声靶平面及通道放大器配置图。图中有声测棒(1)、(2),靶架(3),转接盒(4),调节螺杆(5),通道放大器(6),传输长线(7),前置放大器(8)和时差测试仪(30)。
图2为本发明方法中的通道放大器框图。框图由滤波器(12),放大器(13),电压比较器(14),定时抑制器(15),长线驱动器(16)和传输长线(7)组成。
图3为本发明方法中的多通道时差采集及数字处理系统。图中包括有:磁带机或磁盘(17),显示器(18),微计算机(19),绘图仪(20),计算机接口(21),通道地址发生器(22),时标发生器(23),时钟信号总线(24),状态总线(25),复位总线(26),内部地址总线(27),内部数据总线(28),枪口信号(29)和时差测试仪(30)的各部件。
图4为本发明方法中的时差测试仪的框图。图中包含有如下部件:先开后关电路(31),通道地址译码器(32),状态寄存器(33),时差计数器(34),报警器(35),极性检测器(36),输出缓冲器(37)和长线接收器(39),输入指示器(38)。
图5为本发明方法中的声测棒结构图。图中包括有金属园棒(9),压电传感器(10)和阻抗变换器(11)等三个部件。
图6为本发明方法中现场实测得到的弹道轨迹在垂直面上的投影曲线及靶面偏转图。图中K1至K8是八个声靶平面的序号,K8声靶平面上的数字1至4是指射弹的弹序所对应的曲线,其中没有标明数字的一条曲线是指1至4发弹丸的平均轨迹曲线。
图7为实测垂直投影平均弹着点轨迹真空外推曲线。
图8为现场实测弹道轨迹在水平面上投影曲线及声靶平面偏转图。图中L是枪口点在水平面上的投影与各声靶平面的靶心在水平面上投影连线(称靶心线)间的距离。
图9为实测水平投影平均弹着点轨迹真空外推曲线。
图10为实测弹丸速度(V)与距离(S)关系曲线及其回归方程。图中V0,V50,V100至V200分别表示弹丸在枪口,离枪口50米,100米至200米处的速度。R为曲线的拟合度。
图11为散布与距离的关系曲线及其回归方程。图中Ex为方向公算偏差与距离的关系曲线,Ey为高低公算偏差与距离的关系曲线,R50为半数必中园与距离的关系曲线,R100为最大散布园与距离的关系曲线。
本发明方法的一个具体实施例是:在200米的直线靶道上,每间隔25米放置一个可由调节螺杆(5)调节至垂直于地面的声靶平面,并且使其平面的法线方向平行于弹丸飞行的方向。共装置8个这样的声靶平面。
在每一声靶平面上,均包含有两个互相垂直,且又分别垂直和平行于地平面的声测棒(1),(2)。每一声测棒是由一根长2米,直径为30毫米的铝质长棒,并在其两端分别装有压电传感器(10)和阻抗变换(11)。
将每一声靶平面上的四个压电传感器(10)所测的信号经多蕊电缆传输到转换盒(4),通道放大器(6)进行放大。放大后的信号再由多蕊传输长线(7)传输给时差测试仪,从而获得不同位置上,压电传感器测得的各组时差值。
将各组时差信号再送入数字处理系统,即微计机及其外围各部件,使之按予先设定的程序进行各种计算,最后再由绘图仪自动画出各种参数曲线,并自动打印出各曲线的有关参数,从而实现了整套测试装置的自动操作。
采用本发明方法,在实际现场用弹丸直径为7.62毫米的小口径枪支进行单发或连发射击时,每一发弹丸的射击可以自动绘制出图6至图11的各种参数曲线。并自动打印出表1至表3的各种参数。
其中K:靶号;
S:靶间距,第一个为枪口至第一靶平面的距离;
Xo、Yo:一组弹的平均弹着点坐标值;
Ex、Ey:方向和高低公算偏差;
R50、R100:半数必中园和最大散布园;
T/V:靶间飞行时间或靶间平均速度
RMS:T/V项的均方根误差
表2:
K/NR:8/8 DIS.B.T:25
M X(MM) Y(MM) T(MS) SCORE
1 -139.7 108.8 44.7 0
2 -193.8 32.2 44.475 7
3 -135.2 9.7 44.8 8
4 -171.2 27.7 44.925 7
TOTAL=22
MEAN:-160 44.6 44.725
RMS: +/-.1904
Ex=18.7 EY=29.6
R50=39.4 R100=67.3
其中:K/NR:8/8:为第8靶的数据。若表1不绘制则可以把前7个靶的数据都绘制成表2的格式,若选择了表1,则只能绘制表2;
DIS.B.T:25表示第7靶到第8靶距离为25米;
M:弹序
X、Y:座标值
T:从第7靶到第8靶的飞行时间
SCORE:着靶环数;
TOTAL=:总环数。
表3:
DIS:200.6
M T(MS)
1 322.45
2 321.5
3 323.175
4 323.95
MEAN:322.768
RMS:1.04
其中 DIS:为截区长度(这里为200.6米)
T:总飞行时间。
从测试结果表明,测速绝对误差(与天幕靶比较)为±1.0米/秒和表4所示的弹丸着点的精度。
表4.精度(以mm为单位,每组20发弹丸)
距 离 | 定位公算偏差 | 密集界标准偏差 | |
100米 | 单发 | ±1.0 | ±1.0 |
连发 | ±2.0 | ±1.5 | |
200米 | 单发 | ±2.0 | ±1.5 |
连发 | ±3.0 | ±2.0 |
从实测的结果可以看出,采用本发明方法,可以有效地应用于现代军事训练,军工生产中对轻武器枪、弹的研制和质量校验,缩短了武器研制的周期以及可供军事科学研究方面的应用。完全避免了人工报靶的危险性,节约了原材料和经费,大大提高了效率和测试精度。
00010 ORC OD6EFH
00020 SELECT DEFS 2
00030 DELAY DEFS 2
00040 IT DEFS 1
00050 NUM DEFS 1
00060 NF DEFS 2
00070 NF3 DEFS 2
00080 NM DEFS 1
00090 TOTAL DEFS 2
00100 ACNF DEFS 2
00110 MEMORY DEFS 144OD
00120 DSPAC1 EQU 3FB8H
00130 DSPAC2 EQU 3FF8H
00140 AUTDIS EQU 3F78H
00150 TOTDIS EQU 3F7EH
00160 COUNT1 DEFS 1
00170 IP1 DEFS 1
00180 COUNT2 DEFS 1
00190 IP2 DEFS 1
00200 LD A,(OB829H)
00210 CP OCH
00220 JP NZ,BADBAS
00230 CALL ERACE
00240 LD A,L
00250 CP 2H
00260 JP Z,ENTRYO
00270 LD A,(SELECT)
00280 CP 1
00290 JR Z,NFMODE
00300 LD BC,(NF3)
00310 JR SEDISP
00320 NFMODE LD BC,(NF)
00330 SEDISP LD A,(SELECT)
00340 ADD A,2FH
00350 LD (3F7BH),A
00360 LD A,26H
00370 LD (3FFEH),A
00380 LD (3FFAH),A
00390 LD (3FBAH),A
00400 LD (3FBEH),A
00410 LD A,41H
00420 LD (3FFFH),A
00430 LD A,93H
00440 OUT (03H),A
00450 LD L,20H
00460 TOERAC LD A,7FH
00470 OUT (02H),A
00480 LD A,OFFH
00490 OUT (02H),A
00492 LD A,7FH
00494 OUT (02H),A
00500 DEC L
00510 JP NZ,TOERAC
00520 LD A,30H
00530 LD E,0
00540 LD (AUTDIS),A
00550 LD (AUTDIS+1),A
00560 PUSH BC
00570 LD HL,TOTDIS
00580 LD A,(TOTAL)
00590 CALL BINH2
00600 LD A,(SELECT)
00610 CP 1
00620 JR Z,START
00630 LD HL,DSPAC1
00640 LD A,OH
00650 LD (COUNT1),A
00660 CALL BINH2
00670 INC HL
00680 LD A,(IP1)
00690 CALL BINH2
00700 LD A,(SELECT)
00710 CP 2H
00720 JR Z,START
00730 LD HL,DSPAC2
00740 LD A,OH
00750 LD (COUNT2),A
00760 CALL BINH2
00770 INC HL
00780 LD A,(IP2)
00790 CALL BINH2
00800 START PUSH DE
00810 CALL OA7FH
00820 DEC L
00830 JP Z,ADJUST
00840 POP DE
00850 POP BC
00860 LD HL,MEMORY
00870 ST LD A,(DELAY)
00880 LD D,A
00890 ST1 LD A,(4301H)
00900 LD E,30H
00910 CALL ERACE
00920 IN A,(04H)
00930 SRL A
00940 JR C,ST1
00950 FIRST LD (HL),A
00960 LD A,(IP1)
00970 INC HL
00980 LD A,30H
00990 CALL ERACE
01000 FIRST1 INC HL
01010 IN A,(01H)
01020 LD (HL),A
01030 INC HL
01040 IN A,(00H)
01050 LD (HL),A
01060 INC HL
01070 CALL ERACE
01080 LD A,(IT)
01090 SRL A
01100 CALL ERACE
01110 LD A,31H
01120 LD (3FFFH),A
01130 ND2 IN A,(02H)
01140 SRL A
01150 JR NC,SECOND
01160 DEC D
01170 JP Z,DISPL1
01180 JR ND2
01190 SECOND LD (HL),A
01200 INC HL
01210 IN A,(01H)
01220 LD (HL),A
01230 INC HL
01232 IN A,(00H)
01234 LD (HL),A
01236 INC HL
01240 CALL ERACE
01250 LD A,(IP2)
01260 SRL A
01270 CALL ERACE
01280 LD A,32H
01290 LD (3FFFH),A
01300 TH LD A,(DELAY)
01310 LD D,A
01320 TH3 IN A,(02H)
01330 SRL A
01340 JR NC,THIRD
01360 DEC D
01370 JR Z,DISPL2
01380 JR TH3
01390 THIRD LD (HL),A
01400 INC HL
01410 IN A,(01H)
01420 LD (HL),A
01430 INC HL
01440 IN A,(00H)
01450 LD (HL),A
01460 INC HL
01470 CALL ERACE
01480 LD A,33H
01490 LD (3FFFH),A
01500 EADD1 INC E
01510 LD A,E
01520 PUSH BC
01530 PUSH HL
01540 LD HL,AUTDIS
01550 CALL BINH2
01560 POP HL
01570 POP BC
01580 DEC BC
01590 LD A,B
01600 OR C
01610 JP NZ,ST
01620 TRANS LD HL,MEMORY
01630 LD BC,(NF)
01640 LD (ACNF),BC
01650 TRANS1 LD A,(HL)
01660 AND 1H
01670 LD (HL),A
01680 INC HL
01690 LD A,(HL)
01700 AND 248D
01710 SRL A
01720 SRL A
01730 DEC HL
01740 ADD A,(HL)
01750 LD (HL),A
01760 INC HL
01770 LD A,(HL)
01780 AND 7H
01790 LD (HL),A
01800 DEC HL
01810 SRL (HL)
01820 INC HL
01830 JP NC,NOSET
01840 SET 3,(HL)
01850 NOSET INC HL
01860 INC HL
01870 DEC BC
01880 LD A,B
01890 OR C
01900 JR NZ,TRANS1
01910 LD A,42H
01920 LD (3FFFH),A
01930 LD A,(TOTAL)
01940 ADD A,E
01950 LD (TOTAL),A
01960 BASIC JP OA9AH
01970 ERACE LD A,7FH
01980 OUT (02H),A
01990 LD A,0FFH
02000 OUT (02H),A
02010 LD A,7FH
02020 OUT (02H),A
02030 RET
02040 DISPL2 DEC HL
02050 DEC HL
02060 LD A,(HL)
02070 SRL A
02080 SRL A
02090 SRA A
02100 PUSH AF
02110 DEC HL
02120 SRL (HL)
02130 JR C,$+9
02140 LD A,2BH
02150 LD (3FFDH),A
02160 JR $+7
02170 LD A,2DH
02180 LD (3FFDH),A
02190 POP AF
02200 LD (IP2),A
02210 LD A,(COUNT2)
02220 INC A
02230 LD (COUNT2),A
02240 PUSH BC
02250 PUSH HL
02260 LD HL,DSPAC2
02270 CALL PUTHEX
02280 INC HL
02290 LD A,(IP2)
02300 CALL BINH2
02310 INC HL
02320 INC HL
02330 LD (HL),2AH
02340 POP HL
02350 POP BC
02360 DISPL1 DEC HL
02370 DEC HL
02380 LD A,(HL)
02390 SRL A
02400 SRL A
02410 SRL A
02420 PUSH AF
02430 DEC HL
02440 SRL (HL)
02450 JR C,$+9
02460 LD A,2BH
02470 LD (3FBDH),A
02480 JR $+7
02490 LD A,2DH
02500 LD (3FBDH),A
02510 POP AF
02520 LD (IP1),A
02530 LD A,(COUNT1)
02540 INC A
02550 LD (COUNT1),A
02560 PUSH BC
02570 PUSH HL
02580 LD HL,DSPAC1
02590 CALL PUTHEX
02600 INC HL
02610 LD A,(IP1)
02620 CALL BINH2
02630 INC HL
02640 INC HL
02650 LD (HL),2AH
02660 POP HL
02670 POP BC
02680 JP ST
02690 PUTHEX LD B,A
02700 CALL BINH2
02710 RET
02720 BINH4 PUSH BC
02730 LD A,B
02740 CALL BINH2
02750 POP BC
02760 LD A,C
02770 BINH2 LD B,A
02780 RRA
02790 RRA
02800 RRA
02810 RRA
02820 CALL BINH1
02830 LD A,B
02840 BINH1 AND OFH
02850 ADD A,30H
02860 CP 3AH
02870 LD (HL),A
02880 INC HL
02890 RET C
02900 DEC HL
02910 ADD A,07H
02920 LD (HL),A
02930 INC HL
02940 RET
02950 INRUPT LD A,(SELECT)
02960 LD B,A
02970 LD D,O
02980 LD HL,O
02990 LOOP1 ADD HL,DE
03000 DJNZ LOOP1
03010 LD (ACNF),HL
03020 LD A,(NUM)
03030 CP 1H
03040 JP Z,SINGLE
03050 COUNTI LD HL,MEMORY
03060 LD BC,(ACNF)
03070 LD A,43H
03080 LD (3FFFH),A
03090 LD A,B
03100 OR C
03110 JP NZ,TRANS1
03120 JP 0A9AH
03130 SINGLE LD HL,O
03140 LD A,53H
03150 LD (3FFFH),A
03160 JP 0A9AH
03170 DEL160 EXX
03180 LD BC,0101H
03190 LOOP2 DEC C
03200 JR NZ,LOOP2
03210 DEC B
03220 JR NZ,LOOP2
03230 EXX
03240 RET
03250 ADJUST LD A,4AH
03260 LD (3FFFH),A
03270 POP DE
03280 POP BC
03290 LD A,3FH
03300 OUT (02H),A
03310 EXX
03330 LD BC,012AH
03340 LOOP3 DEC C
03350 JR NZ,LOOP3
03360 DEC B
03370 JR NZ,LOOP3
03380 EXX
03390 LD A,2FH
03400 OUT (02H),A
03402 LD A,6FH
03404 OUT (02H),A
03410 LD A,7FH
03420 OUT (02H),A
03430 AJACQU LD BC,(NF)
03440 LD HL,MEMORY
03450 LD D,OFFH
03460 AJASK IN A,(02H)
03470 SRL A
03480 JR NC,AJBYTE
03490 DEC D
03500 JP Z,AJBASI
03510 JR AJASK
03520 AJBYTE LD (HL),A
03530 INC HL
03540 IN A,(01H)
03550 LD (HL),A
03560 INC HL
03570 IN A,(00H)
03580 LD (HL),A
03590 INC HL
03600 CALL DEL160
03610 CALL ERACE
03620 INC E
03630 LD A,E
03640 PUSH BC
03650 PUSH HL
03660 LD HL,AUTDIS
03670 CALL BINH2
03680 POP HL
03690 POP BC
03700 DEC BC
03710 LD A,B
03720 OR C
03730 JP NZ,AJASK
03740 LD A,26H
03750 LD (3FFEH),A
03760 JP TRANS
03770 AJBASI LD B,O
03780 LD C,E
03790 LD (ACNF),BC
03800 LD HL,MEMORY
03810 LD A,42H
03820 LD (3FFFH),A
03830 LD A,B
03840 OR C
03850 JP NZ,TRANS1
03860 JP OA9AH
03870 BADBAS LD A,0AH
03880 LD (42E8H),A
03890 LD A,O
03900 LD (42E9H),A
03910 LD (42EAH),A
03920 RET
03940 ENTRYO LD A,O
03950 LD (43BCH),A
03960 RET
03970 END OD6EFH
10 CLEAR(200)∶CLS∶AJ$="Y"
15 POKE16526,178∶POKE16527,245∶POKE-2464,1∶POKE-2459,2
20 AJ=2∶J=USR(AJ)∶IFAJ$="Y"AJ$="N"∶GOTO15
25 PRINT"MOMENT 10 S*"∶DEFINT J,N,P∶DIM FT$(9),S(8),X(9),Y(9),NR(8),RI(20),NI(8,25),XT(8,25),YT(8,25),T(25,8),N(30),X0(8),Y0(8),C(3),D(3),L(3),IP(20,50),PF(25),NF(8),TS(8),R50(8),RH(8),DT$(8),EX(8),EY(8),NA(8),S1(8),S2(8),TT(25),A(3,4),TV(8),XX(9),YY(9)
30 DIMTM(8),SS(9),ZZ(9),ST(9)∶A1=25.38∶B1=30.38∶B2=-20。
38∶YY=3.75∶L(1)=11.9∶L(2)=17∶L(3)=26.9∶X2=11.38∶X3=X2∶X4=10.48∶C(1)=-0.582∶C(2)=10.2∶C(3)=-7.071∶D(1)=18.3∶D(2)=-100.3∶D(3)=98.3∶D5=12.5∶R1=17.94
35 SE=-4097∶DY=SE+2∶F1=DY+2∶F2=F1+1∶F3=F2+1∶F4=F3+2∶F5=F4+2∶TL=F5+1∶AF=TL+2∶MY=AF+2
40 PL$="N"∶LP$="N"∶INPUT"* DO YOU HAVE WX4675 PLOTTER(<EN>=NO W=YES)";PL$∶IF PL$<>"W"THEN GOTO 50
45 INPUT"TEST DATE∶";DA$∶NA$="CPLA 59185"∶PRINT" TESTER∶"NA$;∶INPUTNA$∶GT$="7.62"∶PRINT" TYPE OF GUN∶"GT$;∶INPUTGT$∶INPUT" GUN′S NO.";GN$
50 DP=1∶INPUT" * DIVIDING OF POSITION PORTS <EN>=4MHZ";
DP∶F=4/DP
55 DT=255∶POKEDY,DT
60 U=5150/(F*2E4)
65 IT=1∶INPUT"* HOW MANY TARGETS(1-8<EN>=1)";IT∶POK EF1,IT
70 FORK=1TO8∶Y(K)=2*K∶X(K)=Y(K)-1∶NEXTK
75 FORK=1TOIT∶PRINT" X("K")="X(K);∶INPUTX(K)∶PRINT"
Y("K")="Y(K);∶INPUTY(K)∶NR(K)=INT(X(K)/2+.5)∶NF(K)=NR(K)+20∶NT(K)=X(K)+Y(K)+NF(K)∶PRINTTAB(15)"NR("K")=";NR(K),"NF("K")="NF(K)∶PRINTTWO-TARGET′S DISTANCE S("K")=";∶INPUT S(K)
80 IF(X(K)+1)/INT(X(K)/2+1)=2ANDX(K)<16ANDY(K)<17ANDY(K)-X(K)=1THENNEXTKELSEPRINT"AGAIN INPUT THE PORTS"∶K=K-1∶NEXTK∶SS=0∶FORK=1TOIT∶SS=SS+S(K)∶NEXTK∶TT(0)=SS
85 NUM=1∶INPUT"* CONTINUAL FIRE NUMBERS (1-20<EN>=1)";
NUM∶POKEF2,NUM∶NM=NUM∶POKEF5,NM∶AU=NUM
90 TV$="N"∶INPUT"*DO YOU FIND TIME & SPEED(<EN>=NO Y=Y ES)";TV$∶IF TV$="Y" THEN TU=3 ELSE TU=2∶FT=1 GOTO105*DO YOU FIND TIME & SPEED(<EN>=NO Y=YES)";TV$∶IFTV$="Y" THENTU=3ELSETU=2∶FT=1∶GOTO58
95 DF=1∶INPUT"DIVIDING OF FLYING PORTS<EN>=4MHZ";DF∶FT=DF/4/1E3∶SS=0∶FORK=1TOIT∶FT$(K)="Y"∶PRINT" K=";K;∶INPUT"DO YOU FIND THE TIME(<EN>=TIME N=SPEED)";FT$(K)∶IFFT$(K)<>"Y"THENPRINT"TWO-TARGET′S DISTANCE S(";K;")=(M)";∶INPUTS(K)
100 SS=SS+S(K)∶NEXTK∶TT(0)=SS
105 NF=NUM*TU*IT∶IFNF<256J=0∶I=NFELSEJ=1∶I=NF-256
110 IFTV$="Y"THENST=2∶POKESE,ST+1∶GOTO115ELSEST=1∶POKESE,ST+1∶GOTO115
115 POKEF3,I∶POKEF3+1,J∶POKEF4,NF/TU∶POKEF4+1,0∶IFNUM=1 THENNM=20∶INPUT"* TOTAL-FIRE NUMBERS IS THIS TEST(1-20<EN>=20)";NM∶POKEF5,NM
120 CLS∶PRINT@5,"IT="IT"NUM="PEEK(F2)"NM="PEEK(F5)"TV$="TV$"DP="4/DP"MHZ";∶IFTV$="Y"THENPRINT"DF="4000/DF"KHZ";∶GOSUB130∶GOSUB2085ELSEGOSUB130∶GOSUB2085
125 NT=NT+1∶PRINT@384,"** TEST NO."NT;∶INPUT"**";NT∶PRINT@530,"*** JUST A MOMENT,PLEASE ***"∶FORI=iTO28∶N(I)=0∶NEXTI∶FORI=1TO8∶FORJ=1TO20∶XT(I,J)=0∶YT(I,J)=0∶T(J,I)=0∶NI(I,J)=0∶IP(I,J)=0∶PF(J)=0∶NEXTJ,I∶IW=1∶ID=MY+1∶LN=0∶GOTO145
130 IFTV$="N"THENRETURN
135 PRINT∶A=75∶B=A∶N=0∶FORK=1TOIT∶N=N+1∶PRINT@B,"FT$("K")="FT$(K);∶B=B+12∶PRINT@B,"S("K")="S(K);∶B=B+12∶IFN=2THENN=0∶A=A+64∶B=A∶NEXTKELSENEXTK
140 RETURN
145 IFAJ$="Y"THENGOSUB1635ELSEIFIT<>1ANDNUM=1THENA=80∶GOSUB2060ELSEA=.04∶GOSUB2060∶GOTO150
150 NUM=PEEK(F2)∶NM=PEEK(F5)∶NF=PEEK(F3)∶IFNUM<>1THEN23OELSEFORK=1TOIT∶IFPL$="W"ANDK<>1THEN170ELSECLS∶GOSUB270∶GOSUB600
155 PF=0∶XO=X0(K)∶Y0=Y0(K)∶NA(K)=0∶S1(K)=0∶S2(K)=0∶FORM=1TONM∶IFK=1THENGOSUB850∶PF=0∶IFJ=0THEN165ELSEGOTO160ELSEGOSUB270∶G126=0∶GOSUB305∶GOTO165
160 GOSUB270∶GOSUB210∶GOSUB185∶IFLN=1THENIFG85=1THENLN=0∶G85=OELSELN=0∶G85=0∶M=M-1ELSEGOTO165
165 NEXTM
170 IFNM<>0THENGOSUB450∶GOSUB1205ELSENT=NT-1∶GOTO120
175 NEXTK∶CT$="N"∶IFIT=1THEN180ELSEGOSUB545∶GOSUB530
180 IFPL$="W"THENGOSUB1420∶GOTO120ELSEGOTO120
185 IFIT<>1ANDNUM<>1G126=1∶FORK=1TOIT∶GOSUB270∶GOSUB305∶NEXTK∶RETURN
190 IFAJ$="Y"G126=0∶FORK=1TOIT∶GOSUB270∶GOSUB305∶NEXTK∶K=1∶RETURN
195 IFIT=1THENIFNUM=1THENP=M∶PF=1∶GOTO205ELSEP=1∶PF=PF+1∶GOTO200ELSEFORK=1TOIT∶IW=2*K-1∶P=M∶PF=PF+1∶GOSUB270∶GOSUB420∶NEXTK∶K=1∶RETURN
200 IFM=1THEN205ELSEIW=IW+2∶ID=ID+6
205 GOSUB420∶RETURN
210 IFTV$="N"ORAJ$="Y"THENRETURN
215 J=MY∶B=0∶N=0∶K=0∶FORI=1TONF∶N=N+1∶A=PEEK(J)∶B=B+A∶J=J+3
220 IFN=3THENN=0∶IFIT=1THENK=1ELSEK=K+1ELSENEXTI
225 IFB=NT(K)THENPRINT@362," ";∶B=0∶NEXTI∶PRINT@362," ";∶RETURNELSEPRINT@362,"**";∶GOSUB435∶RETURN
230 CLS∶A=.04∶GOSUB2060∶CLS∶K=1∶M=1∶GOSUB270∶GOSUB600∶GOSUB850∶GOSUB210∶PF=0∶IFNUM<>0GOTO235ELSENT=NT-1∶GOTO120
235 FORK=1TOIT∶NA(K)=0∶NEXTK∶K=1∶FORM=1TONUM∶GOSUB270∶GOSUB185∶NEXTM∶FORK=1TOIT∶XO=X0(K)∶YO=Y0(K)∶Si(K)=0∶S2(K)=0∶GOSUB450∶GOSUB1205
240 NEXTK∶CT$="N"∶IFIT=1THEN245ELSEGOSUB545∶GOSUB530
245 IFPL$="W"GOSUB1420
250 IFCC=0GOTO120ELSEGOSUB255∶CC=0∶GOTO120
255 CLS∶PRINT"CC=";CC∶FORI=MYTOMY+NF*3-1∶PRINTPEEK(I);∶IFI=-3883THENINPUT"PRESS THE<EN>TO CONTIUE<C>";G$∶NEXTIELSENEXTI
260 IFLP$="Y"LPRINT"CC=";CC∶FORI=MYTOMY+NF*3-1∶LPRINTPEEK(I);∶NEXTI
265 PRINT∶INPUT"PRESS TNE<EN>TO CONTIUE";I∶RETURN
270 PRINT@0,"T.NO.(K/NR)";K;"/";NR(K);
275 PRINT@109,STRING$(18,32);∶PRINT@173,STRING$(18,32);
280 PRINT@128,STRING$(21,32);∶PRINT@237,STRING$(18,32);
285 PRINT@192,STRING$(21,32);∶PRINT@301,STRING$(18,32);
∶RETURN
290 IFTV$="Y"THENIF PF(PF)<>NF(K)THENPRINT@301,"IP="PF(PF)" ";∶GOSUB400ELSEGOTO295ELSEGOTO300
295 PF(PF)=0
300 RETURN
305 PRINT@45,"FIRE NO.";M;" ";∶X(9)=XT(NR(K),M)∶Y(9)=YT(NR(K),M)
310 X(9)=X(9)-XO/10∶Y(9)=Y(9)-YO/10∶X(9)=INT(X(9)*100+.5)/100∶Y(9)=INT(Y(9)*100+.5)/100∶XT(NR(K),M)=X(9)∶YT(NR(K),M)=Y(9)
315 R=SQR(X(9)*X(9)+Y(9)*Y(9))∶R=INT(R*100+.5)/100∶RI(M)=R
320 RPINT@109,"X=";X(9)*10;"MM";
325 PRINT@173,"Y=";Y(9)*10;"MM";
330 IF R>0.4 THEN 350
335 N=10∶NA(K)=NA(K)+N∶PRINT@237,"N=10";
340 PRINT@128,"JUST CENTRE !!";∶PRINT@256," ";
345 GOTO 360
350 GOSUB 1090
355 IFTV$="Y"THENGOTO360ELSEGOTO370
360 IFFT$(K)="Y"THENT(M,NR(K))=INT(T(M,NR(K))*1E4+.5)/1E4∶PRINT@301,"T="T(M,NR(K))"MS";ELSEIFT(M,NR(K))=0THENPRINT@301,"V="S(K)"/0";ELSEIFG126=1THENT(M,NR(K))=INT(S(K)/T(M,NR(K))*1E5+.5)/100∶PRINT@301,"V="T(M,NR(K))"M/S";ELSEPRINT@301,"V="T(M,NR(K))"M/S";
365 IFIT>=2ANDPL$="W"Y(9)=Y(9)/2
370 GOSUB 710
375 NI(NR(K),M)=N
380 RETURN
385 PRINT@128,IP(P,IW);"S.-PORT IS FAULT!";∶GOSUB390∶RETURN
390 IFIT=1THENPRINT@172,IP(P,IW);∶IFTV$="N"THENPRINTPEEK(ID);PEEK(ID+1);ELSEGOTO395ELSEPRINT@172,IP(P,IW);∶PRINT@236,IP(P,IW+1);∶GOTO400
395 PRINT^236,IP(P,IW+1);∶IFTV$="N"PRINTPEEK(ID+3);PEEK(ID+4);
400 IFAU=1THENM=M-1∶G85=1∶IFIT=1THENGOTO405ELSEK=ITELSECC=CC+1∶PRINT"-";CC;∶INPUT"<EN>";G$
405 GOSUB435∶RETURN
410 PRINT@128,DE;"EX-PORT IS FAULT!";∶DE=0∶GOSUB390∶RETURN
415 PRINT@128,IP(P,IW);"EX-PORT IS FAULT!";∶PRINT@192,IP(P,IW+1);"EX-PORT IS FAULT!";∶GOSUB390∶RETURN
420 REM
425 IF(IP(P,IW)=X(K)ORIP(P,IW)=Y(K))AND(IP(P,IW+1)=X(K)ORIP(P,IW+1)=Y(K))THENIFIP(P,IW)=IP(P,IW+1)THENGOSUB385∶RETURNELSEG126=1∶GOSUB305∶GOSUB290∶RETURNELSEIF(IP(P,IW)=X(K)ORIP(P,IW)=Y(K))OR(IP(P,IW+1)=X(K)ORIP(P,W+1)=Y(K))THENGOTO430ELSEGOSUB415∶RETURN
430 IFIP(P,IW)=X(K)ORIP(P,IW)=Y(K)THENDE=IP(P,IW+1)∶GOSUB410∶RETURNELSEDE=IP(P,IW)∶GOSUB410∶RETURN
435 IFTV$="Y"THENB=3ELSEB=2
440 J=MY∶N=0∶A=361∶C=A∶FORI=1TONF∶N=N+1∶C=C+3∶PRINT@C,PEEK(J);∶J=J+3∶IFN=BTHENC=C+OELSEIFN=6THENN=0∶A=A+64∶IFA=937THENA=361∶C=A∶INPUTG$∶PRINT@C,"CO.";ELSEC=AELSEGOTO445
445 NEXTI∶C=C+3∶PRINT@C," ";∶RETURN
450 CLS∶N=0
455 PRINT"TARGET′S NO.(K/NR)∶";K;"/";NR(K)
460 PRINT"NO";" X(MM)","Y(MM)","R(MM)",∶IFTV$="Y"THENIFFT$(K)="Y"THENPRINT"T(MS)";ELSEPRINT"V(M/S)";
465 PRINTTAB(58)"SCORE"∶PRINTSTRING$(63,"-")
470 I=N*10+1 ∶J=N*10+10
475 FOR M=I TO J
480 PRINT M;" ";XT(NR(K),M)*10,YT(NR(K),M)*10,RI(M)*10,∶IFTV$="Y"PRINTT(M,NR(K));
485 PRINTTAB(59)NI(NR(K),M)
490 IF M=NM THEN 520
495 NEXT M
500 IFPL$<>"W"INPUT"PRESS THE ′ENTER′ TO CONTINUE";G$
505 N=N+1
510 CLS
515 GOTO 460
520 PRINTTAB(52)"TOTAL∶";NA(K)∶PRINTSTRING$(63,"-")∶RETURN
525 RETURN
530 CLS∶PRINTTAB(0)"K";TAB(4)"EX";TAB(11)"EY";TAB(18)"R50";TAB(25)"R100";TAB(33)"XO";TAB(40)"Y0";TAB(47)"MEAN(T/V)";TAB(57)"RMS"∶PRINTSTRING$(63,"-")
535 FORK=1TOIT∶PRINTTAB(0)K;"";TAB(4)EX(K);TAB(11)EY(K)TAB(18)R50(K);TAB(25)RH(K);TAB(33)Si(K);TAB(40)S2(K);TAB(47)TM(K);TAB(57)INT(TS(K)*100)/100∶NEXTK∶PRINTSTRING$(63,"-")
540 IFPL$<>"W"THENINPUT"PRESS<EN>TO CONTIUE";G$∶PC$="V"∶XY=0∶GOSUB2455∶PC$="T"∶XY=1∶GOSUB3225∶PC$="Y"∶GOSUB2720∶GOSUB2445∶PC$="X"∶GOSUB2720∶GOSUB2450∶PRINT∶INPUT"PRESS<EN>TO CONTIUE";G$∶RETURNELSERETURN
545 IFTV$="N"RETURN
550 CLS∶PRINT"** TOTAL FLYING TIME ***"∶FORM=1TONM∶T=0∶FORK=1TOIT∶IFFT$(K)="Y"THENTT=T(M,NR(K))ELSEIFT(M,NR(K))=0THENGOTO560ELSETT=INT(S(K)/T(M,NR(K))*1E6)/1E3
555 T=T+TT
560 NEXTK∶TT(M)=T∶NEXTM
565 IFNM<=1MT=TT(NM)∶ST=0∶GOTO575
570 S1=0∶SX=0∶FORM=1TONM∶S1=S1+TT(M)∶SX=SX+TT(M)*TT(M)∶NEXTM∶SX=NM*SX-S1*S1∶MT=INT(S1/NM*1E3)/1E3∶ST=INT(SQR(SX/NM/(NM-1))*1E3)/1E3
575 TT=0∶FORK=1TOIT∶TT=TT+S(K)∶NEXTK∶TT(0)=TT
580 PRINT"TOTAL DISTANCE∶";TT;"(M)"∶PRINT"M","T(MS)"∶PRINT STRING$834,"-")
585 FORM=1TONM∶PRINTM,TT(M)∶NEXTM∶PRINTSTRING$(34,"-")∶PRINT"MEAN∶",MT∶PRINT"RMS∶",STMEAN∶",MT∶PRINT"RMS∶",ST
590 IFPL$="N"INPUT"PRESS<EN>TO CONTINUE"G$∶RETURN
595 RETURN
600 REM
605 N1=63
610 SET(N1,26)∶SET(N1,27)∶SET(N1,28)
615 SET(N1-1,27)∶SET(N1+1,27)
620 FOR I=N1-1 TO N1+1
625 SET(I,0)
630 NEXT I
635 FOR I=1 TO 24
640 IF I<=3 THEN X=INT(I*17/3)+1∶GOTO 660
645 IF I>3 AND I<12 THEN X=INT((I-3)/3)+18∶GOTO 660
650 IF I>=12 AND I<=16 THEN X=INT((16-I)/2)+19∶GOTO
660
655 X=INT(29*(I-16)/8)+16
660 GOSUB 830
665 NEXT
670 X=45
675 FOR I=25 TO 46
680 GOSUB 830
685 NEXT I
690 FOR I=N1-45 TO N1+44
695 SET(I,46)
700 NEXT I
705 RETURN
710 X(9)=FIX(X(9)*1.8)+N1
715 Y(9)=27-FIX(Y(9)*0.9)
720 IF X(9)<0 OR X(9)>127 THEN 775
725 IF Y(9)<0 OR Y(9)>47 THEN 775
730 IF POINT(X(9),Y(9))THEN 795
735 FOR I=1 TO 3
740 SET(X(9),Y(9))
745 FOR J=1 TO 30∶NEXT J
750 RESET(X(9),Y(9))
755 FOR J=1 TO 30∶NEXT J
760 NEXT I
765 SET(X(9),Y(9))
770 RETURN
775 FOR I=1 TO 100
780 PRINT@192,"EXCEED CRT RANGE!!";
785 NEXT I
790 PRINT@256," ";∶RETURN
795 FOR I=1 TO 3
800 RESET(X(9),Y(9))
805 FOR J=1 TO 30∶NEXT J
810 SET(X(9),Y(9))
815 FOR J=1 TO 30∶NEXT J
820 NEXT I
825 RETURN
830 Y=N1-X∶XX=N1+X
835 SET(Y,I)
840 SET(XX,I)
845 RETURN
850 IFAJ$="Y"J=1∶RETURN∶REM
855 AJ=0∶J=USR(AJ)∶IFNUM=1THENIFJ=0THENNM=M-1∶M=PEEK(F5)∶RETURNELSEGOTO865ELSENF=PEEK(AF)+PEEK(AF+1)*256∶NUM=INT(NF/TU/IT)∶NM=NUM
860 IFNF=0RETURN
865 J=MY∶PN=0∶PF=0∶CC=0∶FORI=1TONF∶GOSUB1045
870 IF IP>=21 GOTO 985
875 IFIP>16TTHENPRINT@128,"IP=";IP;"BAD!!(1-16)"∶INPUT"<EN>";G$
880 IFIT<>1ANDNUM<>1THENGOTO885ELSEPN=PN+1∶IP(M,PN)=IP∶IFNUM=1THENN(IP)=M∶GOTO890ELSE885
885 N(IP)=N(IP)+1
890 ON IP GOTO900,905,910,915,920,925,930,935,940,945,950,955,960,965,970,975
895 GOTO1040
900 XT(1,N(1))=IX*U∶GOTO1040
905 YT(1,N(2))=IX*U∶GOTO1040
910 XT(2,N(3))=IX*U∶GOTO1040
915 YT(2,N(4))=IX*U∶GOTO1040
920 XT(3,N(5))=IX*U∶GOTO1040
925 YT(3,N(6))=IX*U∶GOTO1040
930 XT(4,N(7))=IX*U∶GOTO1040
935 YT(4,N(8))=IX*U∶GOTO1040
940 XT(5,N(9))=IX*U∶GOTO1040
945 YT(5,N(10))=IX*U∶GOTO1040
950 XT(6,N(11))=IX*U∶GOTO1040
955 YT(6,N(12))=IX*U∶GOTO1040
960 XT(7,N(13))=IX*U∶GOTO1040
965 YT(7,N(14))=IX*U∶GOTO1040
970 XT(8,N(15))=IX*U∶GOTO1040
975 YT(8,N(16))=IX*U∶GOTO1040
980 GOTO1040
985 IFIP<29THENIFNUM=1THENN(IP)=MELSEN(IP)=N(IP)+1ELSEP
RINT@128,"IP=";IP;"BAD!!(21-28)"∶INPUT"<EN>";G$
990 IFIT<>1ANDNUM<>1THEN995ELSEIFIT=1ANDNUM=1THENPF=1∶PF(PF)=IPELSEPF=PF+1∶PF(PF)=IP
995 ON IP-20 GOTO 1000,1005,1010,1015,1020,1025,1030,1035
1000 T(N(21),1)=FT*IX∶GOTO1040
1005 T(N(22),2)=FT*IX∶GOTO1040
1010 T(N(23),3)=FT*IX∶GOTO1040
1015 T(N(24),4)=FT*IX∶GOTO1040
1020 T(N(25),5)=FT*IX∶GOTO1040
1025 T(N(26),6)=FT*IX∶GOTO1040
1030 T(N(27),7)=FT*IX∶GOTO1040
1035 T(N(28),8)=FT*IX∶GOTO1040
1040 NEXT I∶RETURN
1045 REM
1050 IP=PEEK(J)∶J=J+1∶N=PEEK(J)∶J=J+1∶NL=PEEK(J)∶J=J+1
1055 IFIP<17THENIFN<8THENIX=N*256+NL∶GOTO1065ELSEIX=-1*(256*(N-8)+NL)∶GOTO1070ELSEIX=N*256+NL∶GOTO1080
1060 IX=N*256+NL∶GOTO1075
1065 IFIX>=1792THENGOSUB1085∶IX=9999.9/U∶RETURNELSERETURN
1070 IFIX<=-1792THENGOSUB1085∶IX=-9999.9/U∶RETURNELSERETURN
1075 REM
1080 IFIX>=3840THENGOSUB1085∶IX=99999/FT∶RETURNELSERETURN
1085 LN=1∶PRINT@192,IP;IX∶RETURN
1090 REM
1095 X=ABS(X(9))
1100 IF X>A1 OR Y(9)>B1 OR Y(9)<B2 THEN 1180
1105 IF Y(9)<=YY THEN 1165
1110 IF Y(9)<=L(3) AND X<=X4 THEN 1165
1115 FOR I=1 TO 3.1
1120 IF Y(9)<=L(I) THEN 1140
1125 NEXT I
1130 IF X>X4 THEN 1180
1135 IF SQR(X*X+(Y(9)-D5)*(Y(9)-D5))>R1 THEN 1180 ELSE 1165
1140 C1=C(I)∶D1=D(I)∶Y=C1*X+D1
1145 ON I GOTO 1150,1155,1160
1150 IF Y(9)<=Y OR X<=X2 THEN 1165 ELSE 1180
1155 IF Y(9)>=Y OR X<=X2 THEN 1165 ELSE 1180
1160 IF Y(9)<=Y OR X<=X4 THEN 1165 ELSE 1180
1165 N=10-INT((R-0.4)/5)∶NA(K)=NA(K)+N
1170 PRINT@237,"N=";N;∶PRINT@256," ";
1175 RETURN
1180 N=0∶PRINT@237,"N=";N;
1185 FOR I=1 TO 10
1190 PRINT@128,"OUT OF TARGET !!";
1195 NEXT I
1200 PRINT@256," ";∶RETURN
1205 REM
1210 IF NM=1 THEN R=0∶RI(NM)=0∶S1=XT(NR(K),1)∶S2=YT(NR(K),1)∶EX(K)=0∶EY(K)=0∶GOTO1370
1215 S1=0∶S2=0∶SX=0∶SY=0∶CA=0∶FORM=1TONM
1220 IFNUM=1THENGOTO1230ELSEIFLN<>1THENGOTO1230ELSEGOTO1225
1225 IFABS(XT(NR(K),M))<>9999.9ANDABS(YT(NR(K),M))<>9999.9THENGOTO1230ELSECA=CA+1∶RI(M)=0∶GOTO1235
1230 S1=S1+XT(NR(K),M)∶SX=SX+XT(NR(K),M)*XT(NR(K),M)∶S2=S2+YT(NR(K),M)∶SY=SY+YT(NR(K),M)*YT(NR(K),M)
1235 NEXTM∶NM=NM-CA∶SX=NM*SX-S1*S1∶IFSX<OTHENEX(K)=0∶GOTO1245
1240 EX(K)=.6745*SQR(SX/NM/(NM-1))∶EX(K)=INT(EX(K)*100+.5)/10
1245 SY=NM*SY-S2*S2∶IFSY<OTHENEY(K)=0∶GOTO1255
1250 EY(K)=.6745*SQR(SY/NM/(NM-1))∶EY(K)=INT(EY(K)*100+.5)/10
1255 S1=S1/NM∶S2=S2/NM∶NM=NM+CA
1260 CA=0∶FOR M=1 TO NM
1265 IFNUM=1THENGOTO1275ELSEIFLN<>1THENGOTO1275ELSEGOTO1270
1270 IFABS(XT(NR(K),M))<>9999.9ANDABS(YT(NR(K),M))<>9999.9THENGOTO1275ELSECA=CA+1∶RI(M)=0∶GOTO1280
1275 RI(M)=SQR((XT(NR(K),M)-S1)*(XT(NR(K),M)-Si)+(YT(NR(K),M)-S2)*(YT(NR(K),M)-S2))
1280 NEXT M
1285 FOR L=1 TO INT(NM/2)
1290 N=NM-L+1
1295 FOR M=L+1 TO N
1300 J=M-1
1305 IF RI(L)<RI(M) THEN 1315
1310 X=RI(L)∶RI(L)=RI(M)∶RI(M)=X
1315 IF RI(N)>RI(J) THEN 1325
1320 X=RI(N)∶RI(N)=RI(J) ∶RI(J)=X
1325 NEXT M
1330 NEXT L
1335 NM=NM-CA∶N=NM/2-INT(NM/2)
1340 IF N<>0 THEN 1360
1345 N=NM/2∶J=N+1
1350 R=(RI(N)+RI(J))/2
1355 GOTO 1370
1360 N=INT(NM/2)+1
1365 R=RI(N)
1370 R=INT(R*100+.5)/10∶R50(K)=R
1375 NM=NM+CA∶RI(NM)=INT(RI(NM)*100+.5)/10∶RH(K)=RI(NM)
1380 S1(K)=INT(S1*100+.5)/10∶S2(K)=INT(S2*100+.5)/10∶IFCT$="Y"XO(K)=S1∶YO(K)=S2
1385 IFTV$="Y"THENTM=0∶SM=0∶FORM=1TONM∶TM=TM+T(M,NR(K))∶NEXTM∶TM(K)=TM/NM∶FORM=1TONM∶SM=SM+(T(M,NR(K))-TM(K))[2∶NEXTM∶IFNM>1THENIFSM<>0THENTS(K)=SQR(SM/(NM-1))ELSETS(K)=0ELSETS(K)=0ELSEGOTO1390
1390 PRINT"MEAN∶";S1(K);"MM",S2(K);"MM",,∶IFTV$="Y"THENGOSUB1415∶IFFT$(K)="Y"THENPRINTTM(K);"MS"ELSEPRINTTM(K);"M/S"ELSEPRINT""∶GOTO1400
1395 IFTV$="Y"PRINT"RMS∶";,,,"+/-";TS(K);"MS"
1400 PRINTSTRING$(63,"-")∶PRINT"X∶"EX(K)"MM",,"EY∶"EY(K)"MM"
1405 PRINT"R50∶";R50(K);"MM",,"R100∶";RH(K);"MM"
1410 IFPL$="N"THENINPUT"PRESS<EN>TO CONTINUE";G$∶RETURNELSERETURN
1415 TM(K)=INT(TM(K)*1E4+.5)/1E4∶TS(K)=INT(TS(K)*1E4+.5)/1E4∶RETURN
1420 CLS∶PRINT"WX4675 PLOT.SUB."∶IFIT=1TB$="N"∶GOTO1430∶REM
1425 TB$="Y"∶INPUT"** DO YOU WANT ONLY TOTAL TABLE(<EN>=YES N=NO)";TB$∶IFTB$="Y"OP$="N"∶LB$="N"∶LT$="Y"∶INPUT" *DO YOU WANT LAST TARGET′S DATA TABLE(<EN>=YES N=NO)";LT$∶GOTO1440
1430 OP$="Y"∶INPUT"** DO YOU WANT ONLY THE POINT(<EN>=YES N=NO)";OP$
1435 LB$="Y"∶INPUT"** DO YOU WANT THE POINT MARK(<EN>=YES N=NO)";LB$
1440 WP$="Y"∶INPUT"** DO YOU WANT THE WAVE-PACKED(<EN>=YES N=NO)";WP$∶IF WP$="Y"AND IT<>1 TC$="Y"∶INPUT"** DO YOU PLOTER WITH TWO-CURVE(<EN>=YES N=NO)";TC$
1445 H=0∶INPUT"I*TARGET CENTRE-MUZZLE HIGHT DIFFERENCE(+/-) (MM)";H
1450 LPRINT"J"1∶GOSUB1535
1455 FORK=1TOIT∶SS=0∶FORM=1TOK∶SS=SS+S(M)∶NEXTM∶XX(K)=BC*SS∶GOSUB2285∶GOSUB2250∶GOSUB2300
1460 IFIT<=2SN=3∶ZZ=0.9∶LPRINT"S2"
1465 IFTB$="Y"THENIFK=ITTHENGOTO1525ELSEX=0∶Y=1300∶GOSUB2250∶GOTO1475ELSEGOSUB1660∶IFOP$="N"THENGOSUB1825ELSEGOTO1470
1470 GOSUB1935
1475 GOSUB1575∶GOSUB1735∶NEXTK
1480 IFTB$="N"ORLT$="Y"GOSUB2300∶GOSUB1885
1485 PC$="Y"∶XY=1∶GOSUB1765∶IFWP$="Y"K=K+1∶GOSUB2300∶PC$="Y"∶XY=1∶GOSUB1790
1490 IFTB$="Y"PC$="Y"∶XY=1∶GOSUB2720∶GOSUB2315
1495 GOSUB1590∶GOSUB1615
1500 GOSUB2395∶IFPP$="Y"THENGOSUB1590ELSEGOTO1505
1505 XY=0∶PC$="V"∶GOSUB2455∶IFSD$<>"Y"GOTO1520
1510 XY=1∶PC$="T"∶GOSUB3225
1515 GOSUB2990∶GOSUB1590
1520 GOSUB2280∶GOSUB2385∶RETURN
1525 IFLT$="Y"N=1∶GOSUB2290∶GOSUB1660∶GOSUB1825∶GOSUB1935∶OP$="N"∶GOTO1475
1530 OP$="Y"∶GOTO1475
1535 AA=INT(345/(IT+.5))*10∶BC=0∶FORK=1TOIT∶BC=BC+S(K)∶NEXTK∶BC=AA*IT/BC∶X=0∶Y=1300∶GOSUB 2250∶LPRINT"B15"∶FORK=1TOIT∶SS=INT(BC*S(K))∶IFK=1THENSL=0∶SC=SS∶GOSUB1565∶GOTO1545
1540 IFSS>=(AA/2-25)THENSL=1∶SC=AA/2-25∶GOSUB1565∶SL=0∶SC=SS-AA/2+25∶GOSUB1565ELSESL=1∶SC=SS∶GOSUB1565
1545 GOSUB1570∶NEXTK∶LPRINT"L0"∶IFABS(S1(IT))>ABS(S2(IT))THENRH=ABS(S1(IT))ELSERH=ABS(S2(IT))
1550 TW=130/2.2/(RH(IT)+RH)
1555 IFAA>=1300THENKK=1∶AA=1300∶BB=0ELSEKK=(AA-50)/1300∶BB=B0
1560 RETURN
1565 LPRINT"L"SL∶Y=0∶X=SC∶GOSUB2255∶RETURN
1570 X=0∶Y=20∶GOSUB2255∶Y=-40∶GOSUB2255∶Y=20∶GOSUB2255∶RETURN
1575 X=XX(K)-AA/2+25∶Y=1950∶GOSUB2250
1580 Y=650+BB∶GOSUB2245∶X=XX(K)+AA/2-25∶Y=650∶GOSUB2245∶Y=1950-BB∶GOSUB2245∶X=XX(K)-AA/2+25∶Y=1950∶GOSUB2245
1585 RETURN
1590 LPRINT"S3"∶X=0∶Y=2555∶GOSUB2250∶LPRINT"J1"∶P$="TEST DATE∶"+DA$∶GOSUB2265
1595 Y=Y-60∶GOSUB2250∶P$="TEST NO.∶"+STR$(NT)∶GOSUB2265
1600 Y=Y-60∶GOSUB2250∶P$="GUN NAME∶"+GT$∶GOSUB2265
1605 Y=Y-60∶GOSUB2250∶P$="GUN NO.∶"+GN$∶GOSUB2265
1610 RETURN
1615 LPRINT"S2"∶Y=Y-60∶GOSUB2250∶P$="TW="+STR$(TW)+"KK="+STR$(KK)∶GOSUB2265
1620 Y=Y-100∶GOSUB2250∶IFNUM=1THENP$="SINGLE FIRE!!"ELSEP$="CONTINUE FIRE!!"
1625 GOSUB2265∶Y=2050∶GOSUB2250∶P$="VERTICAL PLOT"∶GOSUB2265
1630 X=10∶Y=1250∶GOSUB2250∶P$="H="+STR$(H)+"MM"∶GOSUB2265∶RETURN
1635 PRINT""∶PRINT"*** RANDOM GENERATE X Y T,JUST A MOMENT ***"
1640 XX=1792/6*2∶YY=3840
1645 FORM=1TONM∶XT(NR(IT),M)=(RND(XX)-XX/2)*U
∶YT(NR(IT),M)=(RND(XX)-XX/2)*U
∶T(M,NR(IT))=RND(YY)*
FT ∶NEXTM
1650 IFIT=1RETURN∶REM
1655 FORK=1TO(IT-1)∶KP=K/IT∶FORM=1TONM∶XT(NR(K),M)=INT(XT(NR(IT),M)*KP*100)/100∶YT(NR(K),M)=INT(YT(NR(IT),M)*KP*100)/100∶T(M,NR(K))=INT(T(M,NR(IT))*KP*1E4)/1E4∶NEXTM,KRETURN
1660 REM
1665 X=X0∶Y=Y0∶GOSUB 2250
1670 P$="K/NR∶"+STR$(K)+"/"+STR$(NR(K))+" DIS.B.T∶"+STR$(S(K))
1675 GOSUB 2265
1680 X=X∶Y=Y-15*ZZ∶GOSUB 2250
1685 LPRINT"L1"
1690 LPRINT"B20"
1695 X=X+.7*SN*100∶∶GOSUB 2245
1700 LPRINT"L0"
1705 X=X0∶Y=Y0-70*ZZ∶GOSUB 2250∶IF TV$="N" THEN T$="
"ELSEIF FT$(K)="Y"THEN T$="T(MS)"ELSET$="V(M/S)"
1710 P$="M X(MM) Y(MM) "+T$+"SCORE"
1715 GOSUB 2265
1720 X=X0∶Y=Y0-85*ZZ∶GOSUB 2250
1725 X=X0+.7*SN*340∶GOSUB 2245
1730 RETURN
1735 REM
1740 LPRINT"S1"∶C$="N"∶FOR M=1TONM
1745 X=XT(NR(K),M)*100*TW*KK+XX(K)∶Y=YT(NR(K),M)*100*TW+1300
1750 GOSUB 2250∶GOSUB 2275∶IFLB$="Y"THENGOTO1755ELSEIFK=ITTHENGOTO1755ELSEGOTO1760
1755 P$=STR$(M)∶GOSUB 2265
1760 NEXTM∶LPRINT"S5"∶X=S1(K)*10*TW*KK+XX(K)∶Y=S2(K)*10*TW+1300∶GOSUB2250∶GOSUB2275∶LPRINT"S"SN-1∶RETURN
1765 IFIT=1RETURN∶REM
1770 PRINT"*** TO PLOTER MEAN "PC$"-S CURVE ***"∶FORK=1 TOIT∶ZZ(K)=S1(K)*10*TW*KK+XX(K)∶YY(K)=S2(K)*10*TW+1300
1775 NEXTK∶ZZ(IT+1)=0∶YY(IT+1)=-H*10*TW+1300
1780 GOSUB2595∶IFUS$<>"Y"GOSUB2945
1785 US$="N"∶RETURN
1790 REM
1795 IF IT=1THENGOSUB1810∶RETURN
1800 IF TC$="Y"THENGOSUB 2905 ELSEGOSUB 1810
1805 RETURN
1810 Y=1300-H*TW*10∶Y0=Y∶K=1∶FORM=1TONM∶PRINT"*** TO PLOTER"PC$"-S CURVE "M"***"∶IFY0<0ORY0>2600THENX=XT(NR(1),M)∶Y=YT(NR(1),M)∶K=1∶GOSUB1820∶GOSUB2250ELSEX=0∶Y=Y0∶GOSUB2250
1815 FORK=1TOIT∶X=XT(NR(K),M)∶Y=YT(NR(K),M)∶GOSUB1820∶GOSUB2245∶NEXTK,M∶RETURN
1820 X=X*100*TW*KK+XX(K)∶Y=Y*100*TW+1300∶RETURN
1825 REM
1830 FORM=1TONM∶X=X0∶Y=Y0-130*ZZ-35*ZZ*(M-1)∶GOSUB 2250
1835 P$=STR$(M)∶GOSUB 2265
1840 X=X0+0.7*SN*40∶GOSUB 2250
1845 P$=STR$(XT(NR(K),M)*10)∶GOSUB 2265
1850 X=X+0.7*SN*80∶GOSUB 2250
1855 P$=STR$(YT(NR(K),M)*10)∶GOSUB 2265
1860 X=X+0.7*SN*80∶GOSUB 2250∶IF TV$="Y"THENGOTO1865ELSEGOTO1870
1865 P$=STR$(T(M,NR(K)))∶GOSUB 2265
1870 X=X+0.7*SN*90∶GOSUB 2250
1875 P$=STR$(NI(NR(K),M))∶GOSUB 2265
1880 NEXTM∶RETURN
1885 IFTV$="N"ORNM=1ORIT=1RETURN
1890 K=1∶GOSUB2285∶X0=X0+520∶X=X0∶Y=Y0∶GOSUB2250
1895 P$="DIS.∶"+STR$(TT(0))∶GOSUB2265
1900 X=X0∶Y=Y-70*ZZ∶GOSUB2250∶P$="M T(MS)"∶GOSUB2265
1905 X=X0∶Y=Y0-85*ZZ∶GOSUB2250∶X=X+.7*SN*110∶GOSUB2245
1910 IFOP$="Y"GOTO1925
1915 FORM=1TONM∶X=X0∶Y=Y0-130*ZZ-35*ZZ*(M-1)∶GOSUB2250∶P$=STR$(M)∶GOSUB2265∶X=X0+.7*SN*40∶GOSUB2250
1920 P$=STR$(TT(M))∶GOSUB2265∶NEXTM
1925 X=X0∶Y=Y0-130*ZZ-35*ZZ*NM∶Y=Y-20*ZZ∶GOSUB2250∶X=X+.7*SN*110∶GOSUB2245∶X=X0∶Y=Y-35*ZZ∶GOSUB2250∶P$="MEAN∶"∶GOSUB2265∶X=X0+.7*SN*50∶GOSUB2250
1930 P$=STR$(MT)∶GOSUB2265∶Y=Y-35*ZZ∶X=X0∶GOSUB2250∶P$="RMS∶"∶GOSUB2265∶X=X0+.7*SN*50∶GOSUB2250∶P$=STR$(ST)∶GOSUB2265∶RETURN
1935 REM
1940 X=X0∶Y=Y0-130*ZZ-35*ZZ*NM∶GOSUB2250∶P$=STRING$(23,32)+"TOTAL="+STR$(NA(K))∶GOSUB2265
1945 Y=Y-20*ZZ∶GOSUB2250∶X=X+.7*SN*340∶GOSUB2245
1950 X=X0∶Y=Y-35*ZZ∶GOSUB2250∶P$="MEAN∶"∶GOSUB2265
1955 X=X0+.7*SN*50∶GOSUB2250∶P$=STR$(S1(K))∶GOSUB2265
1960 X=X+.7*SN*70∶GOSUB2250∶P$=STR$(S2(K))∶GOSUB2265
1965 IF TV$="Y"THEN GOTO1970 ELSE X=X0∶Y=Y-35*ZZ∶GOTO1980
1970 X=X+.7*SN*80∶GOSUB2250∶P$=STR$(TM(K))∶GOSUB2265
1975 Y=Y-35*ZZ∶X=X0∶GOSUB2250∶P$="RMS∶"+STRING$(12,32)+"+/-"+STR$(TS(K))∶GOSUB2265
1980 Y=Y-35*ZZ∶GOSUB2250∶P$="EX="+STR$(EX(K))∶GOSUB2265
1985 X=X0+.7*SN*150∶GOSUB2250∶P$="EY="+STR$(EY(K))∶GOSUB2265
1990 X=X0∶Y=Y-35*ZZ∶GOSUB2250∶P$="R50="+STR$(R50(K))∶GOSUB2265
1995 X=X0+.7*SN*150∶GOSUB2250∶P$="R100="+STR$(RH(K))∶GOSUB2265
2000 LPRINT"S"SN-1∶RETURN
2005 CLS∶PRINT"NF=";PEEK(F3)+PEEK(F3+1)*256,"DELAY=";PEEK(DY),"TOTAL=";PEEK(TL),"U=";U∶PRINT"NF3=";PEEK(F4)+PEEK(F4+1)*256,"IT=";PEEK(F1),"NUM=";PEEK(F2),"NM=";PEEK(F5),"ACNF=";PEEK(AF)+PEEK(AF+1)*256,"O′CLOCK=";PEEK(SE)-1,"TV$=";TV$
2010 PRINT∶IFTV$="Y"THENB=3ELSEB=2
2015 J=MY∶N=0∶A=256∶C=A∶FORI=1TONF∶N=N+1∶PRINT@C,PEEK(J);∶J=J+1∶C=C+3∶PRINT@C,PEEK(J);∶J=J+1∶C=C+3∶PRINT@C,PEEK(J);∶J=J+1∶C=C+4∶IFN=BTHENC=C+1ELSEIFN=6THENN=0∶A=A+64∶IFA=960THENA=256∶C=A∶INPUTG$∶PRINT@C,"CO.";ELSEC=AELSEGOTO2020
2020 NEXTI∶PRINT@C,"<END>";
2025 PRINT∶FORIP=0TO28∶IFN(IP)=0THENNEXTIPELSEPRINT"N("IP")="N(IP);∶NEXTIP
2030 PRINT∶INPUT"COUNTINE DISPLY XT,YT PRESS<ENTER>";G$
2035 PRINT∶FORK=1TOIT∶PRINT"NM=";NM;" K=";K;" NR(K)=";NR(K)∶PRINT"M","XT(NR(K),M)","YT(NR(K),M)(CM)","T(M,NR(K))(MS)"∶FOR M=1TONM∶PRINTM,XT(NR(K),M),YT(NR(K),M),T(M,NR(K))∶NEXTM∶NEXTK∶END
2040 CLS∶PRINT"DISOLAY & ADJUST MS6M12′S DELAY TIME SUB."∶REM
2045 B=PEEK(-2011)∶IF B<>217 THENPRINT"NOT MS6M12!!"∶RETURNELSEGOSUB2070
2050 INPUT"INPUT DELAY TIME(0.04-516)";A
2055 IFA>5160RA<.04 THENPRINT"AGAIN";∶GOTO2050
2060 IFA<2 THENB=1∶C=INT(A*1000/7.84-22/7.84-1)ELSEC=0∶B=INT((A*1000-22)/2014.9)∶IFB=256THENB=OELSEGOTO2065
2065 POKE-2042,C∶POKE-2041,B∶B=PEEK(-2011)∶IFB<>217THENPOKE17130,0∶POKE17129,0∶RETURNELSERETURN
2070 C=PEEK(-2042)∶IFC=OTHENC=256
2075 B=PEEK(-2041)∶IFB=OTHENB=256
2080 A=(7.84*(C+1)*B+22)/1000∶PRINT"DELAY TIME(MS)="A∶RETURN
2085 IFAJ$="Y"RETURN∶REM
2090 XX=0∶PRINT@384,"** SELF DIAGNOSTIC **";∶PRINT@530,"*** IN PROGRESS ***"∶NF=TU*IT∶POKEF3,NF∶POKEF3+1,0
2095 AJ=1∶J=USR(AJ)∶J=PEEK(AF)∶IFJ<>NFTHENGOSUB2190∶GOTO2180
2100 M=MY∶IP=0∶FORN=1TONF∶IP=IP+PEEK(M)∶M=M+3∶NEXTN
2105 IE=0∶FORN=1TOIT∶IE=IE+X(N)+Y(N)∶NEXTN
2110 IFTV$="Y"THENFORN=1TOIT∶IE=IE+NF(N)∶NEXTN
2115 IFIP<>IETHENGOSUB2205∶GOTO2180
2120 IFIT>1GOTO2165
2125 T=408.75∶PC=INT(4*T/DP*100)/100∶IFTV$="Y"FC=INT(4*T/DF*100)/100
2130 FP=642∶PP=770∶J=MY∶FORM=1TONF∶GOSUB1045
2135 IFIP>16THENGOTO2145
2140 IFIX>PC+6ORIX<PC-6THENGOSUB2235∶GOTO2155ELSENEXTM∶GOTO2160
2145 IFIP=NF(1)THENIFIX>FC+60RIX<FC-6THENGOSUB2225∶GOTO2155ELSEGOTO2155ELSEGOTO2150
2150 IFIX>1GOSUB2225∶GOTO2180
2155 NEXTM
2160 IF FP<>6420RPP<>770THENGOTO2180
2165 PRINT@530,"*** OK! ***";
2170 NF=AU*TU*IT∶IFNF<256THENJ=0∶I=NFELSEJ=1∶I=NF-256
2175 POKEF3,I∶POKEF3+1,J∶PETURN
2180 XX=XX+1∶IFXX<=0GOSUB2095
2185 PRINT@530,"*** BAD! ***";∶PRINT@915,"* CHECK IN DETAIL,PLEASE! *";∶PRINT@851,"";∶END
2190 PRINT@578,"TOTAL ERROR";∶PRINT@645,"CORRECT∶";NF;∶PRINT@709,"REAL ∶";J;∶IFJ=ORETURN
2195 M=MY∶PRINT@725,"";∶FORN=1TOJ∶PRINTPEEK(M);∶M=M+3∶IFN=10THENPRINT"";∶PRINT@775," ";
2200 NEXTN∶PRINT"";∶RETURN
2205 PRINT@578,"CHANNEL ERROR";∶PRINT@645,"CORRECT∶";∶FORN=1TOIT∶PRINTX(N);Y(N);∶NEXTN
2210 IFTV$="Y"THENFORN=1TOIT∶PRINTNF(N);∶NEXTN
2215 PRINT∶PRINT"REAL∶";∶M=MY∶FORN=1TONF∶PRINTPEEK(M);∶IFN=11THENPRINT
2220 M=M+3∶NEXTN∶RETURN
2225 PRINT@578,"FLYING VALUE ERROR","DF="4000/DF"KHZ""FC="FC;
2230 PRINT@FP,IP;IX;",";∶FP=FP+9∶RETURN
2235 PRINT@706,"POSITION VALUE ERROR","DP="4/DP"MHZ""PC="PC;
2240 PRINT@PP,IP;IX;",";∶PP=PP+9∶RETURN
2245 LPRINT "D" INT(X)","INT(Y)∶RETURN
2250 LPRINT"M" INT(X)","INT(Y)∶RETURN
2255 LPRINT"I"INT(X)","INT(Y)∶RETURN
2260 LPRINT"R"INT(X)","INT(Y)∶RETURN
2265 LPRINT"P"P$∶RETURN
2270 LPRINT"X"INT(X)","INT(Y)","INT(Z)∶RETURN
2275 LPRINTC$ INT(Z)∶RETURN
2280 LPRINT"H"∶RETURN
2285 ZZ=.6∶SN=2∶LPRINT"S"SN-1∶N=K
2290 IFN<=4THENY0=2575∶X0=660+720*(N-1)ELSEY0=635∶X0=660+720*(N-5)
2295 RETURN
2300 C$="J"
2305 IF K<5 THEN Z=K+1∶GOSUB 2275ELSE Z=K-5∶GOSUB 2275∶Z=K-4
2310 C$="N"∶RETURN
2315 K=2∶GOSUB2285∶X0=X0+50∶X=X0∶Y=Y0∶GOSUB2250∶LPRINT"S2"
2320 P$="K S(M) X0(MM) Y0 EX EY R50 R100 T/V RMS "∶GOSUB2265
2325 X=X0∶Y=Y0-35∶GOSUB2250∶X=X0+1900∶GOSUB2245
2330 FORK=1TOIT∶X=X0∶Y=Y0-80-35*(K-1)∶GOSUB2250∶P$=STR$(K)+" "+STR$(S(K))∶GOSUB2265
2335 X=X0+21*13∶P$=STR$(S1(K))∶GOSUB2250∶GOSUB2265∶P$=STR$(S2(K))∶GOSUB2380∶P$=STR$(EX(K))∶GOSUB2380∶P$=STR$(EY(K))∶GOSUB2380∶P$=STR$(R50(K))∶GOSUB2380∶P$=STR$(RH(K))∶GOSUB2380
2340 IFTV$="Y"P$=STR$(TM(K))∶GOSUB2380
2345 IFTV$="Y"THENIFFT$(K)="Y"THENP$="MS"∶GOSUB2380ELSEP$="M/S"∶GOSUB2380ELSEGOTO2350
2350 IFTV$="Y"P$=STR$(TS(K))∶GOSUB2380
2355 NEXTK
2360 X=X0∶Y=Y0-80-35*IT∶GOSUB2250∶X=X0+1900∶GOSUB2245
2365 X=X0∶Y=Y-35∶GOSUB2250∶P$="TOTAL∶"+STR$(TT(0))∶GOSUB2265∶IFTV$="Y"THENX=X0+21*58∶P$="TIME(MS)∶"∶GOSUB2250∶GOSUB2265ELSEGOTO2375
2370 IFTV$="Y"P$=STR$(MT)∶GOSUB2380∶X=X+21*9∶P$=STR$(ST)∶GOSUB2380
2375 RETURN
2380 X=X+21*9∶GOSUB2250∶GOSUB2265∶RETURN
2385 PRINT∶PRINT∶T$="N"∶INPUT"Y=COPY<EN>=END";T$∶IFT$="Y"THENPRINT"PUT A NEW PAPER,PLEASE"∶INPUT"PRESS<EN>TO START COPY";G$∶GOTO1420ELSERETURN
2390 RETURN
2395 IFIT<>1THENPRINT""∶PP$="Y"∶PRINT∶INPUT"** DO YOU WANT THE PARTIAL FLOW PLOT(<EN>=YES N=NO)";PP$ELSERETURN
2400 IFPP$<>"Y"RETURN
2405 L=0∶INPUT"* TARGET CENTRE-MUZZLE LEVEL DIFFERENCE(+/-) (MM)";L∶H=L
2410 INPUT"** PUT A NEW PAPER,TO PRESS<EN>START PLOTER **";G$
2415 GOSUB2445
2420 X=10∶Y=1250∶GOSUB2250∶P$="L="+STR$(L)+"MM"∶GOSUB2265∶LPRINT"J1"∶GOSUB1535
2425 FORK=1TOIT∶GOSUB2285∶GOSUB2300∶GOSUB1575∶GOSUB1735∶NEXTK∶PC$="X"∶XY=1∶GOSUB1765∶IFWP$="Y"THENK=K+1∶GOSUB2300∶PC$="X"∶XY=1∶GOSUB1790
2430 PC$="X"∶XY=1∶GOSUB2720
2435 X=50∶Y=2320∶GOSUB2250∶P$="TW="+STR$(TW)+" KK="+STR$(KK)∶GOSUB2265∶Y=2050∶GOSUB2250∶P$="HORIZONTAL PLOT"∶GOSUB2265
2440 GOSUB2450∶RETURN
2445 FORK=1TOIT∶A=S1(K)∶S1(K)=S2(K)∶S2(K)=-A∶FORM=1TONM∶A=XT(NR(K),M)∶XT(NR(K),M)=YT(NR(K),M)∶YT(NR(K),M)=-A∶NEXTM,K∶RETURN
2450 FORK=1TOIT∶A=S2(K)∶S2(K)=S1(K)∶S1(K)=-A∶FORM=1TONM∶A=YT(NR(K),M)∶YT(NR(K),M)=XT(NR(K),M)∶XT(NR(K),M)=-A∶NEXTM,K∶RETURN
2455 REM
2460 IFTV$<>"Y"ORIT<4RETURN
2465 PRINT" "∶IFPL$="W"SD$="Y"∶INPUT"** DO YOU WANT THE SPEED AND DISTRIBUTION PLOT(<EN>=YES N=NO)";SD$∶IFSD$<>"Y"RETURN
2470 IFPL$="W"INPUT"*** PUT A NEW PAPER,TO PRESS<EN>START PLOTER ***";G$
2475 PRINT"*** TO COMPUTE MEAN"PC$"-S CURVE ***"
2480 FORK=1TOIT∶IFFT$(K)="Y"THENIFTM(K)=0THENTV(K)=0∶PRINT"SPEED=0,DO NOT PLOTER V-S CURVE"∶RETURNELSETV(K)=INT(S(K)/TM(K)*1E5+.5)/100ELSETV(K)=TM(K)
2485 NEXTK∶SS(1)=S(1)/2∶FORK=2TOIT∶SS=0∶FORI=1TOK-1∶SS=SS+S(I)∶NEXTI∶SS(K)=SS+S(K)/2∶NEXTK
2490 IFSS(1)<25THENFORK=2TOIT∶ZZ(K-1)=-SS(K)∶YY(K-1)=LOG(TV(K))∶NEXTK∶XY=-1ELSEFORK=1TOIT∶ZZ(K)=-SS(K)∶YY(K)=LOG(TV(K))∶NEXTK∶XY=0
2495 GOSUB2755∶RETURN
2500 IFPL$<>"W"RETURN∶REM
2505 A=1∶B=2∶X0=250∶Y0=300∶X=X0∶Y=Y0∶LPRINT"S2"∶LPRINT"J1"∶GOSUB2250
2510 LPRINT"X1,100,12"∶X=X0-50∶Y=Y0-40∶GOSUB2250∶FORI=1TO5∶X=X+B*100∶GOSUB2250∶P$=STR$(100*I)∶GOSUB2265∶NEXTI
2515 X=X+B*150+50∶GOSUB2250∶P$="S(M)"∶GOSUB2265
2520 X=X0∶Y=Y0∶GOSUB2250∶LPRINT"X0,100,12"∶X=X0-120∶Y=Y0-10∶GOSUB2250
2525 FORI=1TO5∶Y=Y+A*200∶GOSUB2250∶P$=STR$(200*I)∶GOSUB2265∶NEXTI
2530 Y=Y+A*150+110∶GOSUB2250∶P$="V(M/S)"∶GOSUB2265∶LPRINT"S3"∶X=600∶Y=140∶P$="SPEED"∶GOSUB2250∶GOSUB2265∶Y=100∶P$="TIME"∶GOSUB2250∶GOSUB2265∶X=750∶Y=120∶P$="-DISTANCE PLOT"∶GOSUB2250∶GOSUB2265∶LPRINT"S2"
2535 GOSUB3215∶GOSUB3205
2540 LPRINT"J2"∶MM$="N"∶FORS=0TO500STEP25∶V=BA*EXP(-BB*S)∶Y=V*A+Y0∶X=S*B+X0∶IFX>=3450ORY>=2600ORY<Y0THENMM$="Y"∶GOTO2550
2545 IFS=0ORMM$="Y"THENGOSUB2250ELSEGOSUB2245∶MM$="N"
2550 NEXTS∶RETURN
2555 REM
2560 IFPL$<>"W"PRINTPC$"="A(1,4)"+"A(2,4)"*S+"A(3,4)"*S*S"∶PRINT"R="RR,"RMS="RS∶FORS=0TOTT(0)STEP50∶PRINTPC$;S;"=";INT(A(3,4)*S[2)*10+.5/10,∶NEXTS∶PRINT""∶RETURN
2565 GOSUB2830
2570 IFPC$="V"THENK=7∶GOSUB2285∶X=X0-450∶X0=X∶Y=Y0-50ELSEK=8∶GOSUB2285∶X=X0-300∶X0=X∶Y=Y0-50
2575 GOSUB2300∶LPRINT"S2"∶P$=PC$+"="+STR$(A(1,4))+"+"+STR$(A(2,4))+"*S+"+STR$(A(3,4))+"*S*S"∶GOSUB2250∶GOSUB2265
2580 Y=Y-50∶X=X0+200∶P$="R="+STR$(RR)+"RMS="+STR$(RS)∶GOSUB2250∶GOSUB2265∶Y=Y-35∶FORS=0TOTT(0)STEP50∶P$=PC$+STR$(S)+"="+STR$(INT(A(3,4)*S[2*10+.5)/10)∶Y=Y-35∶GOSUB2250∶GOSUB2265
2585 IFS=500X=X+340∶Y=Y+35*11∶GOSUB2250
2590 NEXTS∶RETURN
2595 REM
2600 US$="N"∶X5=0∶X6=0∶X7=0∶X8=0∶Y1=0∶Y2=0∶Y3=0∶Y4=0
2605 FORK=1TOIT+XY∶X5=X5+ZZ(K)∶X6=X6+ZZ(K)[2∶X7=X7+ZZ(K)[3∶X8=X8+ZZ(K)[4∶Y1=Y1+YY(K)∶Y2=Y2+YY(K)*ZZ(K)∶Y3=Y3+YY(K)*ZZ(K)*ZZ(K)∶Y4=Y4+YY(K)[2∶NEXTK
2610 A(1,1)=IT+XY∶A(1,2)=X5∶A(1,3)=X6∶A(1,4)=Y1∶A(2,1)=X5∶A(2,2)=X6∶A(2,3)=X7∶A(2,4)=Y2∶A(3,1)=X6∶A(3,2)=X7∶A(3,3)=X8∶A(3,4)=Y3∶Q1=A(2,4)-A(1,2)*A(1,4)/A(1,1)∶Q2=A(3,4)-A(1,3)*A(1,4)/A(1,1)∶QY=Y4-A(1,4)[2/A(1,1)
2615 FORJ=1TO3
2620 IFA(J,J)<>0GOTO2655
2625 FORI=JTO3
2630 IFA(I,J)<>0GOTO2650
2635 NEXTI
2640 PRINT"NO UNIQUE SOLUTION!"∶US$="Y"∶FORI=1TO3∶PRINT"A("I","J")="A(I,J),∶NEXTI
2645 RETURN
2650 GOSUB2705
2655 C=1/A(J,J)
2660 GOSUB2710
2665 FORI=1TO3
2670 IFI=JGOTO2685
2675 C=-A(I,J)
2680 GOSUB2715
2685 NEXTI,J
2690 UU=A(2,4)*Q1+A(3,4)*Q2∶Q=QY-UU∶IFQ<OTHENRS=QELSERS=SQR(Q/(IT-3+XY))
2695 IFQY=0THENRR=1ELSERR=SQR(UU/QY)
2700 RETURN
2705 FORK=JTO4∶B=A(J,K)∶A(J,K)=A(I,K)∶A(I,K)=B∶NEXTK∶RETURN
2710 FORI=JTO4∶A(J,I)=A(J,I)*C∶NEXTI∶RETURN
2715 FORS=JTO4∶A(I,S)=A(I,S)+C*A(J,S)∶NEXTS∶RETURN
2720 IFIT<3RETURN∶REM
2725 PRINT"*** TO COMPUTE MEAN"PC$"-S CURVE ***"
2730 FORK=1TOIT∶SS=0∶FORI=1TOK∶SS=SS+S(I)∶NEXTI∶ZZ(K)=SS
2735 IFPC$="Y"THENYY(K)=S2(K)ELSEYY(K)=-S2(K)
2740 NEXTK∶ZZ(IT+1)=0∶IFPC$="Y"THENYY(IT+1)=-HELSEYY(IT+1)=H
2745 GOSUB2595∶IFUS$<>"Y"GOSUB2555
2750 US$="N"∶RETURN
2755 X5=0∶X6=0∶X7=0∶X8=0∶Y1=0∶Y2=0∶Y3=0∶REM
2760 FORK=1TOIT+XY∶X5=X5+ZZ(K)∶X6=X6+ZZ(K)[2∶X8=X8+ZZ(K)*YY(K)∶Y1=Y1+YY(K)∶Y2=Y2+YY(K)[2∶NEXTK∶X7=X5/(IT+XY)∶Y3=Y1/(IT+XY)
2765 BB=(X5*Y1-(IT+XY)*X8)/(X5[2-(IT+XY)*X6)
2770 AA=Y3-BB*X7
2775 B=Y2-(IT+XY)*Y3[2
2780 C=0∶FORK=1TOIT+XY∶C=C+(ZZ(K)-X7)*(YY(K)-Y3)∶NEXTK∶C=C*BB
2785 IFB<CTHENCC=0∶CV=0ELSECC=SQR((B-C)/(IT+XY-2))∶CV=CC
2790 DD=SQR(C/B)∶BA=EXP(AA)
2795 IFPL$<>"W"PRINTPC$;"=";BA;"*EXP(";-BB;"*S)"∶PRINT"R="DD,"RMS="CV∶FORS=0TOTT(0)STEP50∶PRINTPC$;S;"=";INT(BA*EXP(-BB*S)*10+.5)/10,∶NEXTS∶PRINT" "∶RETURN
2800 GOSUB2500
2805 X0=700∶Y0=2100∶X=X0∶Y=Y0∶LPRINT"S2"
2810 P$=PC$+"="+STR$(BA)+"*EXP("+STR$(-BB)+"*S)"∶GOSUB2250∶GOSUB2265
2815 Y=Y-50∶X=X0+200∶P$="R="+STR$(DD)+" RMS V="+STR$(CV)∶GOSUB2250∶GOSUB2265∶Y=Y-35∶FORS=0TOTT(0)+100STEP50∶P$=PC$+STR$(S)+"="+STR$(INT(BA*EXP(-BB*S)*10+.5)/10)∶Y=Y-35∶GOSUB2250∶GOSUB2265
2820 IFS=300X=X+340∶Y=Y+35*7∶GOSUB2250
2825 NEXTS∶RETURN
2830 REM
2835 A=1.25∶B=1.4∶X0=1050∶Y0=70∶X=X0∶Y=Y0∶LPRINT"J1"∶LPRINT"S2"
2840 GOSUB2250∶LPRINT"X1,70,20"∶X=X0-50∶Y=Y0-40∶GOSUB2250
2845 FORI=1TO5∶X=X+200*B∶GOSUB2250∶P$=STR$(200*I)∶GOSUB2265∶NEXTI
2850 X=X+B*150∶GOSUB2250∶P$="S(M)"∶GOSUB2265∶X=X0∶Y=Y0∶GOSUB2250∶LPRINT"X0,63,12"∶X=X0-120∶Y=Y0-10∶GOSUB2250
2855 FORI=1TO5∶Y=Y+100*A∶GOSUB2250∶IFPC$="Y"THENP$=STR$(-300+100*I)ELSEP$=STR$(300-100*I)
2860 GOSUB2265∶NEXTI∶Y=Y0+A*300-10∶X=X0-250∶GOSUB2250∶P$=PC$+" (CM)"∶GOSUB2265
2865 LPRINT"J2"∶Y0=445∶FORK=1TOIT+XY∶IFPC$="Y"THENY=YY(K)/10*A+Y0ELSEY=Y0-YY(K)/10*A
2870 X=ZZ(K)*B+X0∶GOSUB2250∶LPRINT"N2"∶NEXTK∶LPRINT"J2"∶MM$="N"∶FORS=0TO1000STEP50∶V=A(1,4)+A(2,4)*S+A(3,4)*S*S∶Y=V/10*A+Y0∶X=S*B+X0∶IFPC$="Y"THENY=V/10*A+Y0ELSEY=Y0-V/10*A
2875 X=S*B+X0∶IFX>3450ORY>2600ORY<70THENMM$="Y"∶GOTO2885
2880 IFS=0ORMM$="Y"THENGOSUB2250ELSEGOSUB2245∶MM$="N"
2885 NEXTS
2890 RETURN
2895 INPUT"A=";A
2900 A=A+1∶PRINTA"="PEEK(A);∶INPUT"B=";B∶POKEA,B∶PRINTA"="PEEK(A)∶GOTO2900
2905 REM
2910 FOR M=1 TO NM∶PRINT"*** TO PLOTER "PC$"-S CURVE"M"***"
2915 FOR K=1 TO IT
2920 ZZ(K)=XT(NR(K),M)*100*TW*KK+XX(K)
2925 YY(K)=YT(NR(K),M)*100*TW+1300
2930 NEXTK∶ZZ(IT+1)=0∶YY(IT+1)=-H*10*TW+1300
2935 GOSUB2595∶IFUS$<>"Y"GOSUB2945
2940 US$="N"∶NEXTM∶RETURN
2945 A=ZZ(IT)∶B=A/30∶C=XX(1)/2∶REM
2950 FORS=0TOASTEPB∶GOSUB2985
2955 IFS<CTHEN2960ELSEGOTO2965
2960 IFY>2600ORY<0THENS=S+B∶GOSUB2985∶MM$="Y"∶GOTO2960
2965 IFS=0ORMM$="Y"THENGOSUB2250∶MM$="N"ELSEGOSUB2245
2970 NEXTS
2975 X=ZZ(IT)∶Y=YY(IT)∶GOSUB2245
2980 RETURN
2985 Y=A(1,4)+A(2,4)*S+A(3,4)*S*S∶X=S∶RETURN
2990 IFIT<4RETURN∶REM
2995 A=5∶B=2∶X0=1950∶Y0=300∶X=X0∶Y=Y0∶GOSUB2250∶LPRINT"S2"∶LPRINT"J1"
3000 LPRINT"X1,100,12"∶X=X0-50∶Y=Y0-40∶GOSUB2250∶FORI=1TO5∶X=X+B*100∶GOSUB2250∶P$=STR$(100*I)∶GOSUB2265∶NEXTI
3005 X=X+B*150+50∶GOSUB2250∶P$="S(M)"∶GOSUB2265
3010 X=X0∶Y=Y0∶GOSUB2250∶LPRINT"X0,100,12"∶X=X0-90∶Y=Y0-10∶GOSUB2250
3015 FORI=1TO5∶Y=Y+A*40∶GOSUB2250∶P$=STR$(40*I)∶GOSUB2265∶NEXTI∶Y=Y+A*40∶GOSUB2250∶P$="(MM)"∶GOSUB2265∶LPRINT"S3"∶X=2200∶Y=120∶GOSUB2250∶P$="DISTRIBUTION-DISTANCE PLOT"∶GOSUB2265∶LPRINT"S2"
3020 GOSUB3215
3025 XY=0∶PC$="EX"∶LPRINT"J2"∶GOSUB3180∶GOSUB3050
3030 XY=0∶PC$="EY"∶LPRINT"J3"∶GOSUB3185∶GOSUB3050
3035 XY=0∶PC$="R50"∶LPRINT"J4"∶GOSUB3190∶GOSUB3050
3040 XY=0∶PC$="R100"∶LPRINT"J5"∶GOSUB3195∶GOSUB3050
3045 RETURN
3050 IFIT<4RETURN
3055 PRINT"*** TO COMPUTE "PC$"-S CURVE ***"
3060 FORK=1TOIT∶SS=0∶FORI=1TOK∶SS=SS+S(I)∶NEXTI∶ZZ(K)=SS
3065 IFPC$="EX"YY(K)=EX(K)∶GOTO3085
3070 IFPC$="EY"YY(K)=EY(K)∶GOTO3085
3075 IFPC$="R50"YY(K)=R50(K)∶GOTO3085
3080 YY(K)=RH(K)
3085 NEXTK
3090 GOSUB2595∶IFUS$<>"Y"GOSUB3100
3095 RETURN
3100 X0=2400∶Y=1600∶P$=PC$
3105 IFPC$="EX"Y0=2500∶LPRINT"J2"∶X=1800∶GOTO3125
3110 IFPC$="EY"Y0=2100∶LPRINT"J3"∶X=1900∶GOTO3125
3115 IFPC$="R50"Y0=1700∶LPRINT"J4"∶X=2000∶GOTO3125
3120 LPRINT"J5"∶X=2100∶GOSUB2250∶GOSUB2265∶GOTO3150
3125 GOSUB2250∶GOSUB2265
3130 X=X0∶Y=Y0∶P$=PC$+"="+STR$(A(1,4))+"+"+STR$(A(2,4))+"*S+"+STR$(A(3,4))+"*S*S"∶GOSUB2250∶GOSUB2265
3135 Y=Y-50∶X=X0+200∶P$="R="+STR$(RR)+" RMS="+STR$(RS)∶GOSUB2250∶GOSUB2265∶Y=Y-35∶FORS=50TOTT(0)+100STEP50∶P$=PC$+STR$(S)+"="+STR$(INT((A(1,4)+A(2,4)*S+A(3,4)*S*S)*10+.5)/10)∶Y=Y-35∶GOSUB2250∶GOSUB2265
3140 IFS=300X=X+340∶Y=Y+35*7∶GOSUB2250
3145 NEXTS
3150 IFPC$="T"ORPC$="V"THENX0=250∶Y0=300∶X5=0ELSEX0=1950∶Y0=300∶X5=S(1)
3155 MM$="N"∶FORS=X5TO520STEP25∶V=A(1,4)+A(2,4)*S+A(3,4)*S*S∶Y=V*A+Y0∶X=S*B+X0
3160 IFX>=3450ORY>=2600ORY<Y0THENMM$="Y"∶GOTO3170
3165 IFS=X5ORMM$="Y"THENGOSUB2250ELSEGOSUB2245∶MM$="N"
3170 NEXTS
3175 RETURN
3180 FORK=1TOIT∶Y=EX(K)*A+Y0∶GOSUB3200∶NEXTK∶RETURN
3185 FORK=1TOIT∶Y=EY(K)*A+Y0∶GOSUB3200∶NEXTK∶RETURN
3190 FORK=1TOIT∶Y=R50(K)*A+Y0∶GOSUB3200∶NEXTK∶RETURN
3195 FORK=1TOIT∶Y=RH(K)*A+Y0∶GOSUB3200∶NEXTK∶RETURN
3200 SS=0∶FORI=1TOK∶SS=SS+S(I)∶NEXTI∶X=SS*B+X0∶GOSUB2250∶LPRINT"N1"∶RETURN
3205 FORK=2TOIT∶Y=TV(K)*A+Y0∶GOSUB3210∶NEXTK∶RETURN
3210 X=SS(K)*B+X0∶GOSUB2250∶LPRINT"N5"∶RETURN
3215 X=TT(0)*B+X0∶Y=1100∶GOSUB2250∶Y=Y-400∶GOSUB2245∶X=X-25∶Y=Y+25∶GOSUB2250∶X=X+25∶Y=Y-25∶GOSUB2245∶X=X+25∶Y=Y+25∶GOSUB2250∶X=X-25∶Y=Y-25∶GOSUB2245∶RETURN
3220 FORK=1TOIT+1∶Y=ST(K)*A+Y0∶GOSUB3210∶NEXTK∶RETURN
3225 IFTV$<>"Y"ORIT<5RETURN∶REM
3230 PRINT"*** TO COMPUTE MEAN "PC$"-S CURVE ***"∶ST(0)=0∶SS(0)=0∶FORK=1TOIT∶IFFT$(K)="Y"THENST(K)=TM(K)ELSEST(K)=INT(S(K)/TM(K)*1E6)/1E6
3235 ST(K)=ST(K-1)+ST(K)∶SS(K)=SS(K-1)+S(K)∶NEXTK∶ST(IT+1)=0∶SS(IT+1)=0
3240 IFSS(1)<50THENFORK=2TOIT+XY∶ZZ(K-1)=SS(K)∶YY(K-1)=ST(K)∶NEXTK∶XY=0ELSEFORK=1TOIT+XY∶ZZ(K)=SS(K)∶YY(K)=ST(K)∶NEXTK∶XY=1
3245 GOSUB2595∶IFUS$="Y"RETURN
3250 IFPL$<>"W"THENPRINTPC$"="A(1,4)"+"A(2,4)"*S+"A(3,4)"*S*S"∶PRINT"R="RR,"RMS="RS∶FORS=0TOTT(0)STEP50∶PRINTPC$;S;"=";INT((A(1,4)+A(2,4)*S+A(3,4)*S*S)*1E6+.5)/1E6,∶NEXTS∶RETURN
3255 A=1∶B=2∶X0=250∶Y0=300∶X=0∶Y=1300∶GOSUB2250∶LPRINT"J3"
3260 GOSUB3220
3265 X0=700∶Y0=1700∶X=330∶Y=1555∶P$="T(MS)"∶GOSUB3125∶RETURN
3270 END∶REM
Claims (6)
1、一种用压电传感器测试超声速弹丸着靶参数的方法,其特征在于,采用在枪口附近安置一个压电传感器[10],同时在与弹丸飞行的同一直线方向上,设置与该方向垂直的多个声靶平面[如K1至K8],利用每一声靶平面上的四个压电传感器[10]和时差测试仪装置[30]来获得弹丸在飞行过程中产生的冲击波传到不同位置的靶平面时不同时差值的声学方法。
2、按照权利要求1所说的方法,其特征在于所说的声靶平面的数量,可以根据不同的测试要求来决定,一般取4至16个。
3、按照权利要求1所说的方法,其特征在于所说的声靶平面,它们前后的彼此间隔距离,可以根据不同的测试内容来决定,一般不超过30米。
4、按照权利要求1所说的方法,其特征在于所说的声靶平面,是由两根互相垂直的声测棒(1)、(2)组成的,该平面是通过三个调节螺杆(5)的调节,使声靶平面垂直于地平面。
5、按照权利要求4所说的方法,其特征在于所说的声测棒(1)、(2),其长度一般在1.5至5米范围。
6、按照权利要求1所说的方法,其特征在于在400米以内范围使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 85107388 CN1011624B (zh) | 1985-09-30 | 1985-09-30 | 弹丸弹道参数测试的声学方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 85107388 CN1011624B (zh) | 1985-09-30 | 1985-09-30 | 弹丸弹道参数测试的声学方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN85107388A true CN85107388A (zh) | 1987-04-15 |
CN1011624B CN1011624B (zh) | 1991-02-13 |
Family
ID=4795600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 85107388 Expired CN1011624B (zh) | 1985-09-30 | 1985-09-30 | 弹丸弹道参数测试的声学方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1011624B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095062B (zh) * | 2004-08-24 | 2011-06-08 | 雷神Bbn科技有限公司 | 用于消歧枪械位置的系统和方法 |
CN102243041A (zh) * | 2011-07-12 | 2011-11-16 | 西北核技术研究所 | 狙击弹道的声学测量方法 |
CN102385007A (zh) * | 2011-10-26 | 2012-03-21 | 王伟 | 数据采集分析系统 |
CN103499704A (zh) * | 2013-09-27 | 2014-01-08 | 秦建云 | 一种弹丸测速方法 |
CN109856419A (zh) * | 2019-03-05 | 2019-06-07 | 中北大学 | 一种便携式弹丸速度测量装置 |
CN110455124A (zh) * | 2014-10-24 | 2019-11-15 | Abb瑞士股份有限公司 | 加固感应设备以及用于保护感应设备免受灾难性事件的系统和方法 |
CN110470183A (zh) * | 2019-07-22 | 2019-11-19 | 中国人民解放军总参谋部第六十研究所 | 一种基于时差计算的立体靶标部位检测方法及其检测装置 |
CN113607011A (zh) * | 2021-08-17 | 2021-11-05 | 西安工业大学 | 一种基于声光信号触发的弹道参数测量系统及测量方法 |
US11914057B2 (en) | 2015-10-07 | 2024-02-27 | Hitachi Energy Ltd | System for detecting an object approaching and/or impacting electrical equipment |
-
1985
- 1985-09-30 CN CN 85107388 patent/CN1011624B/zh not_active Expired
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095062B (zh) * | 2004-08-24 | 2011-06-08 | 雷神Bbn科技有限公司 | 用于消歧枪械位置的系统和方法 |
CN102135399A (zh) * | 2004-08-24 | 2011-07-27 | Bbn科技有限公司 | 用于消歧枪械位置的系统和方法 |
CN102135397A (zh) * | 2004-08-24 | 2011-07-27 | Bbn科技有限公司 | 用于消歧枪械位置的系统和方法 |
CN102243041A (zh) * | 2011-07-12 | 2011-11-16 | 西北核技术研究所 | 狙击弹道的声学测量方法 |
CN102243041B (zh) * | 2011-07-12 | 2013-08-14 | 西北核技术研究所 | 狙击弹道的声学测量方法 |
CN102385007A (zh) * | 2011-10-26 | 2012-03-21 | 王伟 | 数据采集分析系统 |
CN103499704A (zh) * | 2013-09-27 | 2014-01-08 | 秦建云 | 一种弹丸测速方法 |
CN103499704B (zh) * | 2013-09-27 | 2015-09-23 | 秦建云 | 一种弹丸测速方法 |
CN110455124A (zh) * | 2014-10-24 | 2019-11-15 | Abb瑞士股份有限公司 | 加固感应设备以及用于保护感应设备免受灾难性事件的系统和方法 |
US11914057B2 (en) | 2015-10-07 | 2024-02-27 | Hitachi Energy Ltd | System for detecting an object approaching and/or impacting electrical equipment |
CN109856419A (zh) * | 2019-03-05 | 2019-06-07 | 中北大学 | 一种便携式弹丸速度测量装置 |
CN110470183A (zh) * | 2019-07-22 | 2019-11-19 | 中国人民解放军总参谋部第六十研究所 | 一种基于时差计算的立体靶标部位检测方法及其检测装置 |
CN110470183B (zh) * | 2019-07-22 | 2022-02-18 | 中国人民解放军总参谋部第六十研究所 | 一种基于时差计算的立体靶标部位检测方法及其检测装置 |
CN113607011A (zh) * | 2021-08-17 | 2021-11-05 | 西安工业大学 | 一种基于声光信号触发的弹道参数测量系统及测量方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1011624B (zh) | 1991-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1220131C (zh) | 坐标输入装置及其控制方法 | |
CN85107388A (zh) | 弹丸弹道参数测试的声学方法 | |
CN1152345C (zh) | 光扫描型触摸屏 | |
CN1169001C (zh) | 用于采用像素化面板的小型投影透镜系统的宽视场投影透镜 | |
CN1279334C (zh) | 在管或沟状流道中移动的流体的流量测量方法 | |
CN1428740A (zh) | 三维信息检测装置、三维信息检测传感器装置及三维信息指示装置 | |
CN1293390C (zh) | 雷达安装方向调整方法以及调整装置 | |
CN1084008C (zh) | 坐标输入装置及其信号传输系统 | |
CN1122864C (zh) | 投影透镜和使用投影透镜的图像放大投影系统、投影仪和多画面系统 | |
CN1300573C (zh) | 用于无线装置的相对吸收率测定装置 | |
CN1555482A (zh) | 电磁流量计 | |
CN1658040A (zh) | 照明装置和使用照明装置的显示装置 | |
CN1727641A (zh) | 用于燃气轮机的第二相的高效转子 | |
CN1133069C (zh) | 流量传感器 | |
CN1358270A (zh) | 流量计 | |
CN1667567A (zh) | 坐标输入装置及其控制方法 | |
CN1782662A (zh) | 分光计测装置 | |
CN1096471A (zh) | 气流分粒器,气流分粒方法,调色剂生产方法及装置 | |
CN1503896A (zh) | 位置传感器 | |
CN1658241A (zh) | 信号处理方法与设备以及记录介质 | |
CN1749799A (zh) | 变焦透镜及包含该变焦透镜的图像投影装置 | |
CN1908592A (zh) | 超声波流量计及其原理和技术 | |
CN87102580A (zh) | 电容式测位传感器 | |
CN1401498A (zh) | 信号输出装置,图象形成装置以及信息输出装置 | |
CN1573408A (zh) | 偏心光学系统和使用该偏心光学系统的光学仪器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C13 | Decision | ||
C14 | Grant of patent or utility model | ||
C19 | Lapse of patent right due to non-payment of the annual fee |