home *** CD-ROM | disk | FTP | other *** search
/ World of Ham Radio 1997 / WOHR97_AmSoft_(1997-02-01).iso / cw / cw_19 / amsoft.iii next >
Text File  |  1997-02-01  |  14KB  |  371 lines

  1. cwspeed.doc                                            Mar 12, 1994
  2.  
  3.          CWSPEED - CW SPEED MEASURING PROGRAM DOCUMENTATION
  4.  
  5.  
  6. CWSPEED.EXE was written to establish a computerized and definitive
  7. method for calculating CW speed by two different methods.  (5 letters
  8. per word, and 50 bits per word)
  9.  
  10. The program was specially written for use at the Palm Beach County
  11. Hamfest High Speed International Morse Code Contest, held every
  12. October.
  13.  
  14. The program is written in Power Basic (tm) which is an updated version
  15. of a fast compiler type BASIC, formerly known as Turbo Basic.
  16.  
  17. The author's computer is an IBM Clone, running DOS 6.0, at 12 MHZ.,
  18. using 80286 architecture without a math coprocessor.
  19.  
  20. I will be happy to furnish the source code to anyone who sends me a
  21. SASE large enough to hold 6 computer output pages of text.
  22. My address is:
  23.                           Ted Herrman,  AE8G
  24.                           2827 Finch Drive
  25.                           Holiday, Fla. 34690
  26.  
  27.  
  28.                         NOTES ON CALCULATIONS:
  29.  
  30. 1.  One may calculate CW speed by counting the number of characters in
  31.     a continuous block of "copy".  Letters have a weight factor of 1,
  32.     numbers and punctuation have a weight factor of 2 since they tend
  33.     to take longer to send.  The total number of words is defined to be
  34.     the above sum counted in 60 seconds, divided by 5.
  35.  
  36.     While this method is easy, it is imprecise.  Any given piece of
  37.     text may contain more or less numbers or punctuation, or an uneven
  38.     distribution of words with easy or difficult letters.
  39.  
  40.     Nevertheless, this figure is calculated, displayed and labelled as:
  41.  
  42.                            "Apparent Speed".
  43.  
  44. 2.  A second, more precise way to calculate CW speed is to count every
  45.     dot and dash and every piece of time between them and between
  46.     words.  In this program, the methodology assumes the classical
  47.     structure for CW.  That is, a strict definition for how the
  48.     characters are built, as follows:
  49.  
  50.     The length of time required to send one dot is called a bit.
  51.  
  52.     The length of time required to send one dash is 3.0 bits.
  53.  
  54.     The length of time between adjacent parts of a character is devoid
  55.     of sound and has the exact length of one bit.
  56.  
  57.     The length of time between adjacent letters is 3.0 bits.
  58.  
  59.     The length of time between adjacent words (a space) is 4.0 bits.
  60.  
  61.     With this architecture, a word is defined to be 50.0 bits.
  62.  
  63.     (It so happens that the word "PARIS" followed by a 4 bit space
  64.     contains exactly 50 bits. )
  65.  
  66.     P .--.   11 bits + 3 = 14    cum 14
  67.     A .-      5      + 3 =  8        22
  68.     R .-.     7      + 3 = 10        32
  69.     I ..      3      + 3 =  6        38
  70.     S ...     5      + 3 =  8        46
  71.     space     0      + 4 =  4        50
  72.  
  73. Note that from the instant the end of the last dot of the "s" is sent
  74. to the instant the first dot of the following "p"  is sent, 7 bits of
  75. soundless time exist.
  76.  
  77. The program calculates speed on the 50 bit per word principle by
  78. counting every bit in a body of text copied by a contestant, dividing
  79. by the amount of time required to take down the copy, and then
  80. dividing by 50 and declaring this to be:
  81.  
  82.                            " Actual Speed".
  83.  
  84. The program displays both figures ( 5 char/word, and 50 bits/word) on
  85. the screen.
  86.  
  87. If you use a computer to send the text, you will find that its
  88. precision is very great.  Under those conditions, if you know the real
  89. rate the computer is sending versus the speed you tell it to send, you
  90. will find that the result of the calculation method above will agree
  91. with the real rate that you have measured.
  92.  
  93. To measure the real rate your computer sends copy at, create or use the
  94. PARIS.ASC file also appearing on this disk.  The file consists of the
  95. word PARIS, followed by a single blank space, repeated many times.
  96. Using a stop watch, count the number of times the word is sent in
  97. exactly one minute.  Set a very high speed rate from your computer or
  98. keyboard to get as much precision from this experiment as possible.
  99. Estimate right down to the part of a word if you reach 60 seconds in
  100. the middle of the word.  Divide the actual counted number of PARIS's by
  101. the speed you told the computer to send at, to calculate a ratio.  You
  102. will find that this ratio remains constant even at other speeds.
  103.  
  104. To use the program CWSPEED, a contest official keys in verbatim copy
  105. provided by a contestant.  Once entered, the computer checks every
  106. character to insure that only acceptable characters were taken down by
  107. a contestant.  The ARRL Rules are well known and inflexible for the
  108. conditions under which copy is to be taken down.  One part of them
  109. describes exactly what characters are allowed or disallowed.  The rules
  110. also spell out that a contest must provide at least 1 minute (60.0)
  111. seconds of continuous copy.  Harry Lewis, W7JKJ gave me a copy of the
  112. ARRL rules.  These rules must be followed to the letter in case a new
  113. world CW speed record should be attempted.
  114.  
  115. In a contest, the officials announce the speed to be used to send
  116. characters.  In the West Palm Beach Contest, a computer program is
  117. used to send the copy. The computer is told the speed to send at by
  118. touching the ALT + W key combination and then entering the desired
  119. number of words per minute.  The program is called CW and was written
  120. by Dave Freese, W1HKJ.  One can obtain it from Shareware sources.
  121.  
  122. The program refers to the above ALT W speed.  Based on this number, the
  123. program also calculates exactly how much time the contestant required
  124. to take down his or her copy.  The computer program checks to see if
  125. the contestant actually provided a full 60 seconds of continuous copy
  126. as required by contest rules.
  127.  
  128.  
  129.  
  130.  
  131.  
  132. WALK THROUGH OF SCREENS AND EXPLANATION
  133.  
  134.  
  135.  
  136.  
  137.  
  138. Display:
  139. ***********************************************************************
  140. *          INTERNATIONAL MORSE CODE SPEED MEASURING PROGRAM           *
  141. *                            Written by                               *
  142. *                         Ted Herrman, AE8G                           *
  143. *                          2827 Finch Drive                           *
  144. *                       Holiday, Florida 34690                        *
  145. *                          Tel 813-937-5931                           *
  146. *                      Version 2.0  Mar 9, 1994                       *
  147. *                                                                     *
  148. *   Push CTRL + BREAK key combination for immed exit at any time.     *
  149. *                                                                     *
  150. *                Touch any key to proceed:                            *
  151. ***********************************************************************
  152.  
  153. Explanation:  The authors ego line
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164. Display:
  165. ***********************************************************************
  166. *  Enter bits per word. (PARIS = 50) is standard. <CR> = default = 50 *
  167. *                            Written by                               *
  168. *  <CR> means:  Touch CARRIAGE RETURN or ENTER key.                   *
  169. ***********************************************************************
  170.  
  171. Explanation:
  172.  
  173. Unless you use a military standard or some other alphabet, 50 bits is
  174. the standard number of bits in use throughout the United States.
  175. Touching the ENTER key will cause the program to use 50 as a default.
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187. Display:
  188. ***********************************************************************
  189. *  Do you wish to produce calculations or exit the program?           *
  190. *  Enter either <CR> for calculations or 'EXIT".                      *
  191. ***********************************************************************
  192.  
  193. Explanation:
  194.  
  195. This is an opportunity to gracefully exit the program.  There are other
  196. ways to exit the program, and no harm will result from the use of any
  197. of them.
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209. Display:
  210. ***********************************************************************
  211. *  Enter computer CW program average speed setting - (Alt W speed.)   *
  212. *  This must be an integer from 5 thru 100.                           *
  213. ***********************************************************************
  214.  
  215. Explanation:
  216.  
  217. Enter the number of words per minute that the transmission was sent at.
  218. If you use program CW, then enter the number you keyed in after first
  219. touching ALT + the W key.
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232. Display:
  233. ***********************************************************************
  234. *  Enter  ACTUAL  /  REQUESTED  speed ratio.  Use a decimal point.    *
  235. *  No. of times PARIS in 60 seconds  /  Requested computer speed.     *
  236. *  For example:  Actual speed   58.0 wpm                              *
  237. *                               ----          then ratio = .96667     *
  238. *             Requested speed    60                                   *
  239. *                                                                     *
  240. *  You only have to enter this once per program execution.            *
  241. ***********************************************************************
  242.  
  243. Explanation:
  244.  
  245. If you use a computer or keyboard, determine the actual number of times
  246. it sends the word PARIS, (followed by a single blank), with as much
  247. precision as you can.  Divide this number by the speed you told it to
  248. send at, to make a ratio.  You will find that in the case of a
  249. computer, this RATIO will hold constant later on, even if you change
  250. the requested speed.
  251.  
  252. Because of the constancy of the rate, you need only enter this ratio
  253. once.  Program logic will avoid subsequent requests for you to enter
  254. the number again.  If for some strange reason, the ratio does not hold
  255. constant, you will have to start the program from scratch so the logic
  256. is executed fresh, and asks you for the ratio.  (Programmers would
  257. probably want to modify the code in this event, and I will make it
  258. available to you, if you send a SASE.)
  259.  
  260. Suppose for example, you ask your computer to send the PARIS file at a
  261. rate of 95 wpm.  By actual count, you count 98 occurrences of the word
  262. PARIS and PA of the 99th word.  PA contains 22 bits of the total 50
  263. bits and is .44 of a PARIS.  Then the ratio is 98.44 / 95
  264.  
  265. Enter 1.0362 at the ratio prompt.  5 significant digits are more than
  266. enough to preserve accuracy.
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277. Display:
  278. ***********************************************************************
  279. *  Enter the contestant's lines of copy, including multiple spaces.   *
  280. *  Take as many separate lines as necessary.                          *
  281. *  Enter as many as 80 characters per line.                           *
  282. *  For multiple line input, change lines in the MIDDLE of a word.     *
  283. *  Signify end of input with 1 asterisk on a separate line.           *
  284. ***********************************************************************
  285.  
  286. Explanation:
  287. Re key in exactly what the contestant copied.  Note that the contestant
  288. apparently made an error in the last word (antenna).  See below.  You
  289. must scan the input for errors and stop keying in at that point.  Look
  290. for long strings of good consecutive copy.  Make your input IDENTICAL
  291. in every regard to what the contestant copied with the exception that
  292. you will make your carriage returns in the middle of a contestants
  293. word.  This will insure that no extra blanks appear where they should
  294. not.  This would penalize the contestant unfairly.  Also note in the
  295. example below that the contestant put two blank spaces after the end of
  296. the first sentence and one blank space after the end of the second.
  297. FOR EXAMPLE: The following is a picture of what a contestant wrote:
  298.  
  299. "Although the extended double Zepp antenna has been in just about
  300. every antenna handbook since the year one, hams seldom use it.  Its
  301. overall length is 1.28 wavelengths, and it radiates bidirectionally
  302. broadside. Fed with open wire line and a balanced antenna tuner, it
  303. also makes a fine multi band anten"
  304.  
  305. HERE IS WHAT YOU KEY IN: NOTE THE LONE ASTERISK AS THE LAST LINE.
  306.  
  307. Although the extended double Zepp antenna has been in just ab
  308. out every antenna handbook since the year one, hams seldom us
  309. e it.  Its overall length is 1.28 wavelengths, and it radiate
  310. s bidirectionally broadside. Fed with open wire line and a bal
  311. anced antenna tuner, it also makes a fine multi band anten
  312. *
  313.  
  314.  
  315.  
  316.  
  317. The computer will ask you to verify that what you have keyed in, is an
  318. exact match for the contestants copy.  Reply "YES" or "y", otherwise
  319. you will have to re-enter the contestants entire copy again.
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337. PROGRAM OUTPUT
  338.  
  339. 1.  The computer checks each and every character to verify that no
  340.     illegal characters were sent and/or copied.
  341.  
  342.     Legal characters are:  alphabet, digits, comma, period, question
  343.     mark and fraction bar (slash).  Nothing else is legal, according to
  344.     ARRL Rules.
  345.  
  346.     If no illegal characters are found, the screen will show:
  347.     "All input is legal."
  348.  
  349.     If illegal characters are found, the entire text is put on the
  350.     screen and the illegal characters are identified.
  351.  
  352. 2.  The program displays the total number of bits counted, the total
  353.     words counted, the total characters counted, and the amount of time
  354.     the contestant needed to copy the text entered.  From these
  355.     statistics, one may manually verify the displayed, calculated
  356.     speeds that follow on the same screen.
  357.  
  358.  
  359.  
  360.  
  361. I wish to acknowledge the assistance given to me by Harry Lewis, W7JKJ.
  362. Harry is a living legend and a goldmine of advice about CW contests and
  363. procedures and CW speed measuring algorithms.
  364.  
  365. Any inaccuracies or omissions in the program are my responsibility
  366. alone.  Please write with your comments and criticisms and etc.
  367. 73 and di di di dah di dah.
  368.  
  369.                             Ted  Herrman,  AE8G.
  370.  
  371.