Main Menu

search

You are here

Farnsworth Calculations

[last updated: 2022-07-22]
go to: ham radio home page
go to: Morse Code
-----

This page under construction. There may be errors ...

  • Given:
    You want to learn code at some target speed: T-WPM,
    but you're going to slow it down to some actual A-WPM to make practice and learning easier.

  • The goal is to find equations that use just T-WPM and A-WPM to calculate the 5 necessary parameters:
      ditDuration
      dahDuration
      betweenElements
      betweenChars
      betweenWords

  • Boundary Conditions:
    • The Farnsworth method starts with T-WPM timing (length of dits, dahs),
      and stretches the betweenChars and betweenWords timing to slow things down,
      so that the net WPM is what you can copy and send, that being the actual, A-WPM.
    • It does this by keeping the dit and dah durations, and the betweenElements duration the same as your T-WPM
      and increasing the betweenChars and betweenWords timing,
      to give you more time to recognize and copy the faster code.
    • The theory is that learning a given Morse char at your desired speed (ie. fast)
      will train your brain to recognize it more effectively than if you just slowed down everything including dit and dah durations.

    -----------------------------------------------------------

  • So let's get started:
    Recall that the definition of F-S specifies that:
      ditDuration, dahDuration and betweenElements timing are all defined by your target T-WPM, based on Standard Timing rules
      Further, since dahDuration and betweenElements are defined in terms of ditDuration,
      it follows that we only need to specify ditDuration, and we've captured the first 3 of the 5 needed parameters.

  • Find ditDuration:
    • Consider the Standard Word: "PARIS ":
      . _ _ .     . _     . _ .     . .     . . .


      That is: 10 dits, 4 dahs, 9 betweenElements, 4 betweenChars, and 1 betweenWords (the space at the end)

    • Given the Standard Timing rules, where everything is specified based on some number of dits:
        dah = 3 dits
        betweenElements = 1 dit
        betweenChars = 3 dits
        betweenWords = 7 dits

    • The result is, for the Standard Word "PARIS ":
        10 dits
        4 dahs = 12 dits
        9 betweenElements = 9 dits
        4 betweenChars = 12 dits
        1 betweenWords = 7 dits


      for a total of 50 dits/word

    • Calculating:
      T-WPM words/min x 50 dits/word = (50 x T-WPM) dits/min
      then: (50 x T-WPM) dits/min x (1 min / 60 sec)
      = (50 x T-WPM / 60) dits/sec
      = (T-WPM / 1.2) dits/sec

    • But we want ditDuration, which is sec/dit, so we must invert the last equation (dits/sec) to get:


      ditDuration(sec/dit) = 1.2 / T-WPM

      Note this will be the same whether using Standard Timing or Farnsworth Stretching.
      --------------------------------------------------------------------------

    • So now we have calculated ditDuration, which as we see above is sufficient to fully specify the first 3 of the 5 needed parameters.
  • Now we must calculate the last two parameters:


    Find the (stretched) betweenChars and betweenWords timing:

    • This calculation is more complicated, because both A-WPM and T-WPM must be included.
    • We can start with a simplification, however, because recall that the Farnsworth Stretching rules require
      that the 3/7 ratio (betweenChars-to-betweenWords) be preserved.
      • We will calculate betweenWords in terms of betweenChars:
        • betweenChars = 3 * ditDuration (1)
          betweenWords = 7 * ditDuration (2)
        • Juggling some algebra:
          from equation (1): ditDuration = betweenChars / 3
          plugging this into equation (2): betweenWords = 7 * (betweenChars/3)
          gives: betweenWords = (7/3) * betweenChars
      • From this we see that, if we find betweenChars, we can also calculate betweenWords,

      -------------------------------------

    • Calculate betweenChars:
      • We will use a test case of transmitting the single Standard Word: "PARIS "
        We'll be sending this one word at a speed of A-WPM words/min.
        The calculation procedure will be:
        • Calculate the timeTotal needed to transmit the entire word.
        • Recognize that we already know the timing of parts of that word's transmission, namely:
          ditDuration, dahDuration, and betweenElements.
          So we will calculate the timeForKnownElements needed to transmit those known parts.
        • We will calculate timeRemaining:
          timeRemaining = timeTotal - timeForKnownElements
        • Recognize that timeRemaining will be used to transmit the unknown parameters:
          betweenChars and betweenWords.
          (These are the parameters that are stretched by this Farnsworth method.)

      • Do the Calculation:
        • Calculate timeTotal:
          • Recall this word contains 50 unit time periods, or the equivalent to 50 dits
          • timeTotal(min) = (1 word) / (A-WPM words/min)
                  = (1/A-WPM) min
            or - timeTotal(sec) = (60 / A-WPM)
        • Calculate timeForKnownElements:
            Recall this word contains 10 dits, 4 dahs, and 9 betweenElements,
            all of which have already been determined based on T-WPM.
            • We will calculate the time consumed by transmitting these elements:
              first recall that 4 dahs = 12 dits, and 9 betweenElements = 9 dits,
              so we want to find the time consumed by sending 10 + 12 + 9 = 31 dits
            • ditDuration(sec) = (1.2 / T-WPM)
              so the time consumed by sending these 31 dits will be:
              timeConsumed = 31 * (1.2 / T-WPM)
                      = (37.2 / T-WPM)
        • Calculate timeRemaining, that which will be used to transmit the betweenChars and betweenWords:
          RemainingTime (sec) = TotalTime - timeConsumed
                  = (60 / A-WPM) - (37.2 / T-WPM)
        • This remaining time will be used for the remaining items:
          4 betweenChars = 12 dits
          1 betweenWords = 7 dits
            Note these dits are Farnsworth Stretched, that is, they are longer than the dits calculated with Standard Timing.
            Accordingly, we'll call them FS-dits.
        • In summary, the RemainingTime will be used to transmit 12 + 7 = 19 FS-dits
          So FS-dits (sec) = 19 / ( (60 / A-WPM) - (37.2 / T-WPM) )

        • Finally, from above:
          betweenChars = 3 FS-dits = 3* (19 / ((60/A-WPM) - (37.2/T-WPM))
          and - betweenWords = (7/3) * betweenChars

    .

    .

    .

    eof