CWMonitor – Ricezione CW con modem Baycom (Software MS-DOS)

Aperto da INFORADIO, Lun 30 Aprile, 15:21 2018

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

Senza nome 1

"In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei" (Disclaimer)

INFORADIO

CWMonitor – Ricezione CW con modem Baycom (Software MS-DOS)

Disponibile alla seguente pagina: http://www.forumradioamatori.it/download/download-dos/Baycom/Baycom.html


      CWMONITOR ver 2.3 by LA0FX
      ============================

      It is very simple program to decode CW signals by using PACKET RADIO
      modem 'BAYCOM'. Of course any other interface which keys the one of
      those lines:  CTS/DSR/RI or DCD of serial port, can be used.
      Build-in correction procedure does correct some of the human errors
      during CW keying.
      Auto-synchro routine will synchronize loop speed to the different
      CW speed. It may happen, that in case of receiving very slow CW
      (around 20-30WPM) and very fast jump to the station sending fast CW -
      dot and (or) dash will not be recognized correctly. Synchro
      will hang - use HOME key to retrive loop again or swich to the MANUAL
      (F9) and adjust the speed until correct decoding is achived.
      You may connect modem to COM1..4  and keying line to CTS,DSR,RI or DCD.
      Default for receiving is COM3 and CTS (BAYCOM uses CTS).
      To get it run, set receiver on the edge of CW signal (just red LED
      should flash with CW).
      Length of the SPACE in principle is defined to 7 'units'.
      Due to very bad keying of many operators this can be adjusted from
      3 until 20 (!)   ( LEFT_ or RIGHT_ARROW keys)



      By the way - Is quite significant how bad CW-signals most of us sending
      on the 'air'. Without build-in correction procedure receiving is simply
      impossible from more than 50% of CW operators (!!)

      This program is still experimental one, I done it during few evenings,
      so don't be disappointed if something missing or working unsuitably...
      However, program decodes CW 100% error-free with one condition:
      CW keying has to be correct. To prove this I have connected two PC's:
      first one running LAZY TELEGRAPHIST (my program for CW-sending) or
      CWMONITOR 2.0(up) and CWMONITOR on the other end. During 5 hours of
      continuous test no error has been encountered (abt 40 000 char with no
      miss!).

                P C 1 (TX)                         P C 2 (RX)
   LAZY TELEGRAPHIST or CWMONITOR2.0/up       CWMONITOR  (any version)
   ====================================      ==========================

            (25pins)  |  (9pins)               (25pins)  |   (9pins)
      ----------------|-------------      ---------------|---------------
      DTR    pin.20   |   pin.4    -------->    pin.5    |    pin.8   CTS
      SG     pin.7    |   pin.5    -------->    pin.7    |    pin.5   SG
      ----------------|-------------      ---------------|---------------
    CWMONITOR has been tested even on very slow PC's as 386/16 and run OK.


      RECEIVER:

      ARROW UP/DN  -  synchro speed UP/DOWN
      ARROW L/R    -  word separation
      ENTER        -  new correspondent
      ALT-1..4     -  RX port COM1..4
      ALT-5..7     -  RX modem to CTS/DSR/RI/DCD
      ALT-B        -  buffers file menu
      ALT-H        -  help
      ALT-M        -  macros file menu
      F9           -  autosynchro ON/OFF
      F10          -  toggle TX mode
      HOME         -  retrive synchro loop
      DEL          -  clear text window
      ESC/ALT-X    -  exit


      TRANSMITTER:

      ALT-1..4                  -  TX port COM1..4  (always DTR)
      ARROW UP/DN               -  CW speed UP/DOWN
      F1..8 or MOUSE_LEFT_B     -  send buffer/macro 1..8
      ARROW UP/DN               -  CW speed UP/DOWN
      MOUSE_RIGHT_B             -  show text in buffer/macro
      DEL                       -  clear transmit window
      ESC                       -  TX stop/toggle RX mode



   FORMAT OF MACROS FILE (example).
#----------------- BEGIN --------------------
# macro %3   (you dont need to write those lines)
LA0FX
# macro %4
JP40LM
# macro %5
NESBYEN
# macro %6
TED
# macro %7
TS830S PA 6TT WATTS
# macro %8
ANT 3EL YAGI 11M UP
# macro %9  etc...
# macro %A
# macro %B
# macro %C
# macro %D
# macro %E
# -------------- END ------------------------
NOTE! Macros %0 until %2 are defined in the program NEW CORESPONDENT window:
      %0  => HIS CALL      %1  => HIS RST      %2  => HIS NAME
      %F  => GM/GA/GE (system time depend)



   FORMAT OF BUFFERS FILE (example).
#--------- BEGIN ----------------------------
!1
CQ CQ DE %3 %3 PSE K
!2
%0 %0 DE %3 %3 %3 PSE K
!3
%0 %0 DE %3 = %F DR OM TNX FOR THE CALL
UR RST IS %1 %1 MY NAME IS % TED QTH IS %5 =
HW? %0 DE %3 PSE KN
!4
THIS IS TEXT IN BUFFER 4
!5
THIS IS TEXT IN BUFFER 5
!6
THIS IS TEXT IN BUFFER 6
!7
THIS IS TEXT IN BUFFER 7
!8
THIS IS TEXT IN BUFFER 8
#---------------- END -----------------------


Comments lines begins  #  are ignored - remember to use this char.
Otherwise text will be loaded to the buffer/macro  (total mess HI)!
You may create up to 20 different macro- buffer- files.

CWMONIT.CFG is the configuration file.
EXAMPLE of cfg file:

TXPORT2               ->   COM2 set as the transmitter port
RXPORT3               ->   COM3 set as the receiver port
CTS                   ->   keying to CTS
LA0FX.MAC             ->   macros from this file will be loaded on start-up
EXAMPLE.BUF           ->   buffers                   -"-



      TX-INTERFACE.
      -------------
      You may send CW by very simple interface (function invoked by F10).
      The circuit needed to key positive(!) keyed radios from COM's
      is a 10K resistor from DTR to the base of an NPN small signal
      transistor. The emitter of the transistor and the ground lead
      of the TX keying cable are connected to SG.
      The collector  is connected to the hot side of the TX keying
      cable.

      For negativ keyed radios (some older models with tubes) circuit
      required is the same + one more transistor and two resistors.
      Since interface is a very simple one, it can be assembled inside
      of the RS232 or 9pin. connector.

                                                            RADIO
      RS 232 (25pin.) |  9 pin.         10k      C         =======
      ================|===========      ___  B  / ------------->   hot lead
       DTR pin. 20    |  pin. 4    ----|___|---|
      ----------------|-----------              \ E
       SG  pin. 7     |  pin. 5    -------------|-------------->  TX-ground
      ----------------|-----------            NPN

      Due to some question how this works I will try to explain the
      principles.
      Basic part is the INTERRUPT 08H (clock) which  runs with resolution
      15 times faster than normal (18.2 1/sec divided 15). Timer has to be
      reprogrammed by sending two-words-order to the port 40H.
      Of course standard service of INT 08H has to be executed each 15-th
      clock tick, otherwise timing of whole system will be totaly wrong.
      During each tick, COM port is checked for presence of 'high/low
      status' on it.
      If status is high then corresponding bit of such 4-byte-long variable
      is set '1' otherwise '0' and index increased to point to the next bit.
      After three of '0's beside, the flag 'DECODE' is set and reading of
      current character is ended.
      By using this method binary record of letter  B  looks like this
      (in reversed order):  101010111     (- - - ---)
      letter "C"  :         10111010111   (- --- - ---)     etc.
      When binary record is converted to integer We get value 343 for "B",
      1495 for "C" etc. Easy to assign character to each particular value.
      All looks simple in case of correct CW keying, but what happen
      when f.example char B "produced" by poor CW operator looks like this:
      (--- - - --) or (----  -- -- --) or (---  -- - --). Correction converts
      deformed binary record to it right form: (--- - - -). This function
      analysing arrays of bits and cut-out those which does the 'harm'.
      But there is no way to decode characters without obligatory space of
      three low bits.   I.e.  text "ABC" is send like this:
      - ---  --- - - -  --- - --- -
       A   ^     B     ^     C
            just 2 bits of space

      Program is simply unable to recognize each char because space between
      them is less than 3 bits. No DECODE flag is set, all three letters
      will be recorded as long-single-one, and to do the mess even worse,
      finaly corrected. This is the common error of many operators...
      It should be like this:
      - ---   --- - - -   --- - --- -
            ^ 3 bits    ^ 3 bits

      Now about synchronization.
      Loop should run with speed similar to the apperance of characters
      elements. For example during receiving "A" (- ---), loop should
                                                  12345
      run 5 times. If the speed is to fast this character will look
      like(---   --------) if to slow like(- --).
           12345678901234                  1234
      After each 20-th bit procedure selects the longest record of 11111...
      and if less than 3 then speed-up, otherwise slow-down the loop.



      I'am fully aware that exists better and more effective methods of
      receiving CW, but I simply didn't found them yet....hi.

      Thanks for all comments about previous versions !
      Comments / suggestions vy welcome .

  Nesbyen 20.10.96                                Ted (LA0FX/SP9CSO)
Guarda articoli radio su Amazon https://amzn.to/3PV90GL

-

Prodotti interessanti da acquistare

Sezione articoli utili da avere

 

free countersfree countersfree counters