Wykres commitów

68 Commity (master)

Autor SHA1 Wiadomość Data
John Phelps 51535ff236 Add 8PSK 125FL 250FL
* Lowered CPU requirements to allow for use on Android/Netbook devices:
   - Added modes 125FL and 250FL with constraint length 13 FEC
   - Adjusted maximum traceback memory for viterbi decoder
   - Set traceback to an optimally-high value in viterbi.cxx constructor
   - 8PSK - 500F 1000F & 1200F now use only 1 viterbi decoder without voting
   - Assigned secondary RsID codes to 125FL and 250FL.

 * Code cleanups in psk.cxx
2015-10-19 15:42:25 -05:00
David Freese ed3b09d2b6 ifkp modem
* Incremental Frequency Keyed + modem
    - wide band, moderate speed differential MFSK signal
      with offset +1.
    - sample rate 16000
    - symbol length 4096
    - 33 tones spaced 3xSR/symlen apart approximately 398 Hz
      bandwidth.
    - multiple image transfer formats similar to FSQ
      . Avatar (59x74 WxH pixel) image transfers
    - tunable modem subcarrier (center freq)
      . may be configured fixed at 1500 Hz or
      . set to Psk sweet spot
    - raw data received written to audit log - if enabled
    - heard list entries written to heard log - if enbled
    - assigned fldigi secondary RSID code, (56, 1171)
2015-09-12 15:02:06 -05:00
David Freese 15ca512524 8psk modes
* Combined effort of W1HKJ, KK5VD and KL4YFD
  * Corrected 8psk1333 symbol rate to 12
  * Added no-fec and fec for each 8psk modem type
  * Assigned RsID codes to new modem types
    - backward compatible with previous 8psk implementation
  * Reset interleaver at the start of PSK TX.
  * Add init() routines to encoder:: and viterbi:: in order to reset
    internals without reallocation.
  * Remove string length variance 'n' when measuring char timing.
  * 8PSK soft decoder
    - 8PSK soft bits now use the phase error as a measure of received-bit quality
    - phase error is applied in combination with the a-priori mapped softbits
    - hard-coded the gray-unmapping of incoming bits (reduced CPU load slightly)
  * AFC using vestigial carrier for all 8psk modes
    - enable using "PSK pilot" on psk config tab
    - level controllable on psk config tab
    - use increases cpu usage
    - use can improve low s/n decoding
  * Updated 8psk mode and configuration documention
2015-03-21 08:59:00 -05:00
David Freese 4371ed3502 EmComm 8PSK modes
* Reverted 8PSK-1000
    - 1000 baud, 3kbps (no FEC)

  * Modified 8PSK-1200
    - Now uses 1/2 rate K=7 FEC
    - 1200 baud, 1.8kbps

  * Added mode 8PSK-1333
    - 1333 baud, 4kbps (no FEC)
2014-10-30 22:21:15 -05:00
David Freese 6fcf11ddde KISS interface
* New configuration panel 'IO'
  * Add power density zones.
  * Query and Set Kiss hardware commands
  * Support bcast rsid over kiss socket
  * limit selectable modem options to 8 bit versions only (kiss i/o mode)
  * Employs simple HDLC encapsulation frame for transmit/receive CRC data
    verification.
  * Uses histogram based threshold detection.
  * Include manual squelch button for KISS op's.
  * User configurable inhibit transmit on busy frequencies for nn seconds
  * Impose transmit wait on valid frame reception
  * Uses dual UDP ports for concurrent operation of programs using the
    same IP address.
  * Clears the transmit buffer when data is available for more then 10
    mins and has not been transmitted.
  * Provides ax25 decoding. Code hijacked from the FLDIGI packet modem co
    - redirect character data display on the RX panel
  * Add non standard KISS frame to handle ARQ data.
    -  interface can handle both ARQ data and HDLC ax25 frames on
       the same port.
  * Squelch related command and control functions to the KISS hardware
    interface.
  * User configuration item to disable CSMA from config panel and kiss
    hardware frame.
  * Additional KISS command to adjust KPSQL detection gain (for testing).
  * Removed unused function in sockets.cxx not compatible with LINUX OS.
    (from John, G8BPQ)
  * New command 'BUSY:<T|F>'
  * Custom bindUDP() for UDP support.
  * Waterfall display gain adjusted based on sample rate changes.
  * Expanded conditions that indicate BUSY:T on command request.
  * Log loopback condition to event log.
  * Restore KPQSL set level position on start up.
  * Conditionally log of the KISS data path strings
  * Added debug filter 'KISS control' to event log.
  * KPSQL threshold button indicator remains ON during transmit inhibit.
    indication of active 'Busy Channel'.
  * Added DEBUG Logging command LOG_HEX(const char *buf, int len);
    D:,... ReadFromHostSocket: ..BUSY:. C0 06 42 55 53 59 3A C0
  * Added thread locks to waterfall.cxx:
    - powerDensity()
    - peakFreq(),
    - powerDensityMaximum()
    These are being accessed by more then one thread.
  * Swapped hash.m4 swapped test case to std::tr1::hash from std::hash
    - Updated pskrep.cxx to handle the change in hash.m4
  * 8PSK2000 removed.
  * Coordination merge with branch kiss21.
  * Code clean up
  * Updated Documentation. Remove unused png's.
  * Request from Jim, W2XO: Add log.set_rst_in and log.set_rst_out xmlrpc
    commands.
  * Compiler warning pacification (global in scope).
  * New XMLRPC commands to query and set active IO port.
  * Documentation update for XMLRPC commands
  * WSAStartup and WSACleanup one for one issue.
  * Update Docs for 3.22 release. New png's added.
2014-10-14 20:19:34 -05:00
David Freese 7448535a32 RsID time out
* Changed secondary time out to use real time vice
    RsID symbols
    - required when actual modem sample rate is greater
      than RsID sample rate, such as 8PSK modem types
2014-10-14 20:19:33 -05:00
David Freese e7d9cc472d 8PSK/16PSK modes
* Added new 8PSK modes
    - mode/baud: 125  250  500   1000  symbols/sec
    - bitrates:  375  750  1500  3000  bits/sec (FEC off)
    - bitrates:  187  375  1000  2000  bits/sec (FEC on)
    - Mode speeds with Forward Error Correction ON (default):
      .   Mode   Baud  WPM  BW     ITU    RSID-1 RSID-2
      . 8PSK125   125  310  125  125HG1B    56    1037
      . 8PSK250   250  620  250  250HG1B    56    1038
      . 8PSK500   500 1650  500  500HG1B    56    1043
      . 8PSK1000 1000 3300 1000 1000HG1B    56    1047
  * All modes use 1/2 rate FEC
    - Constraint length 16 FEC for 1/2 rate non-punctured modes
    - Contraint length 13 FEC for 2/3 & 3/4 rate punctured modes
    - See 1992 IEEE paper "On good Convolutional Codes..."
    - Implemented Punctured FEC for 8PSK and 16PSK
      . 8PSK is 2/3 Rate FEC (3-of-4 FEC bits transmitted: MSB dropped)
      . 16PSK is 3/4 Rate FEC (4-of-6 FEC bits transmitted: LSB and MSB dropped)
  * xPSK mode puncturing unimplemented
  * xPSK, 8PSK, & 16PSK interleaver unimplemented
  * 8PSK Bit-based interleaver - improve robustness on HF channels
    - 8PSK125:  1024ms / 384  bits
    - 8PSK250:  682ms  / 512  bits
    - 8PSK500:  436ms  / 640  bits
    - 8PSK1000: 341ms  / 1024 bits
2014-10-14 20:19:12 -05:00
David Freese d244947923 Headers update
* updated all headers to reflect correct licensing
2014-08-29 02:49:51 -05:00
John Phelps 45fc67910e MFSK HF Long Modes
* Added MFSK64L and MFSL128L new modes
 * 6.25 Second interleaver for very-robust HF reception
 * Assigned new RSIDs
  * Mode MFSK-64L : 1026
  * Mode MFSK-128L : 1029
2013-10-29 04:48:25 -05:00
David Freese 1a89352d43 Cfft removal
* removed source files for Cfft, the original fast fourier
    transform used in fldigi.  Cfft has been replaced by
    g_fft, the fast fourier transform C++ template based on
    public domain code by 
    John Green <green_jt@vsdec.npt.nuwc.navy.mil>
2013-10-19 08:48:59 -05:00
David Freese 59b16c4c81 rsid fft
* Changed rsid fft from Cfft to g_fft
2013-10-19 08:36:02 -05:00
David Freese 2112e85e64 RsID Error Control
* Changed from slider to 3 position selector
    to avoid confusion among the users
2013-09-22 07:10:06 -05:00
David Freese 97ffdb05f9 RsID, Macro Queue, DTMF transmit management
* Added LOG_DEBUG statement to indicate when an
    rsid code is not assigned to a modem type.
  * Added code to disallow
      <!MODEM:SSB> and <!MODEM:ANALYSIS>
    macro tags.
  * Added code to clear macro queue when T/R returns
    to receive using the T/R button.
  * Added assigned(trx_mode m) method to class cRsId
    - used for testing whether Tx loop should invoke
      the cRsID::send(...) method
  * Corrected position of dtmf->send() in tx loop
2013-09-22 06:56:32 -05:00
David Freese 034bc3e16c RsID fo computation
* Added rounding factor to rsid center frequency
    computation
  * Added Blackman filter to input data
2013-09-22 06:55:50 -05:00
David Freese 262053bb95 RSID update
* Changes needed to improve double RsID detection
  * Removed resample test and dependent code
  * Reimplemented FFT bucket array
    - removed array pointer arithmetic
    - memory copy and initializers used to update
      the bucket array
    - modified search routine to insure that all elements
      of FFT bucket array are tested.
  * Deprecated use of hash tables for initial RsID search
    - search sensitivity and hash table use were incompatible
2013-09-22 06:48:13 -05:00
David Freese 04bcbf94fe Pskmail Notify RsID
* Call to socket not within a REQ(...) inter-thread
    message - possible cause of random failure when
    running with pskmail server
2013-08-02 18:34:00 -05:00
David Freese aca2b0bf2d * Changed extended rsid iaw doc/rsid_codes.gnumeric 2013-08-02 18:34:00 -05:00
David Freese 2140c90cf7 RSID logic
* Corrected tool tips on ID config tab
  * Changed logic used for RsID conditionals
  * Original patch submitted by: Kamal Mostafa <kamal@whence.com>
    - BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705431
2013-05-20 20:32:27 -05:00
David Freese ffcdeb18aa PSKMAIL
* write s2n / rsid encapsulated within required mutex to
    correct misalignment of ARQ strings.
2013-05-20 20:11:09 -05:00
David Freese b03bde83d4 RsID Timeout
* Modified rsid detection time out for secondary rsid sequence
    - removes reliance on OS timing
    - time out now dependent on sound card sampling only
2013-05-20 19:41:18 -05:00
David Freese ac83021957 MT63 mode selection
* Changed to specifed short/long MT63 mode selection
    ie:  MT63-500S / MT63-500L
         MT63-1000S / MT63-1000L
         MT63-2000S / MT63-2000S
  * Interleave no longer a configuration item, but fixed
    by mode selection
         S - short, 32 bit
         L - long, 64 bit
2013-05-20 18:46:45 -05:00
David Freese 860444bca3 Misc NBEMS mods
* Add function modem->rx_flush() to flush receiver buffer to the
    receive window on RSID modem reset/change.
  * Repetitive conditional statements removed by reordering code flow
    rsid::apply(). This also fixes reported bug by garylinnrobinson
    "RxID bug that affects Olivia, Contestia, MFSK, RTTY"
  * Add widget and control to retain frequency lock during a modem
    reset/change.
  * Add widget and control to disable/enable frequency change during
    a RSID request while allowing modem change.
  * Add widget and control to disable/enable Contestia FEC Block reset
    on modem change/reset.
  * Moved data flush function above RSID message output
2013-05-19 18:11:33 -05:00
David Freese 14329e533d High Speed / Multi-Carrier Modems
* This commit contributed to by:
    - John Douyere <vk2eta@gmail.com>
    - Dave Freese <w1hkj@w1hkj.com>
    - John Phelps <kl4yfd@gmail.com>
    - Andrej Lajovic <s57ln@hamradio.si>
  * New high speed and multi carrier modems
    - psk, pskr
    - DominoEX
    - Thor
  * Added separate modem initialization for
    Olivia tone / bandwidth pairs:
    - 4/250, 8/250
    - 4/500, 8/500, 16/500
    - 8/1000, 16/1000, 32/1000
    - 64/2000
  * RSID changes
    - Added secondary RsID code set
    - RsID code 263 enables detection of the secondary
      RsID code burst.
  * MFSK UTF-8 tx
    - corrected transmit of two-byte UTF-8 characters
  * PSK-UTF-8 tx
    - corrected transmit of two-byte UTF-8 characters
  * Changed PSK multicarrier bandwidth markers to show full
    extent of signal in the waterfall.
  * THOR modem updates
    - Added Thor high speed modes
      25x4, 50, 50x2, 100 Baud, all < 1800 Hz bandwidth
    - IFK+ Softdecode function for THOR
      dynamically detects and suppresses CWI
      Rx printing is disabled when "File IO only" is selected for
      soundcard.  Decoder uses puncture in this condition.
    - THOR FEC confidence indicator
      Uses the actual path-metrics from the Viterbi decoder.
      Displays next to the S/N in the main dialog.
2013-01-10 13:46:52 -06:00
David Freese 07d5d89b5e Restore post signal rsid
* Restored ability to send rsid at end of transmission
2012-08-02 14:45:04 -05:00
David Freese bcdc9cff24 RSID limit fault
* Set upper and lower bounds to RSID limited search
2011-10-24 13:41:45 -05:00
David Freese 81ebe81736 Carrier Squelch
* Added pre-signal tone which allows triggering
    carrier detect / amplifier enable.  Used primarily
    for VHF/UHF power bricks.
  * Reduced pre and post RsID silence periods to 1 RsID
    symbol length (~0.0988 sec).
2010-11-29 19:50:44 -06:00
David Freese d6583d8fe7 RSID new mode
Added Contestia 128-2000 RsID code
2010-11-27 09:20:59 -06:00
David Freese 6c6f6e005d RsID
* Added support code for RSID code additions

        RSID  MODE
        203   OLIVIA-4-125
        204   CONTESTIA-4-125
        211   OLIVIA-64-2000
        214   OLIVIA-8-2000
        221   OLIVIA-32-2000
        229   OLIVIA-4-1000
        234   OLIVIA-16-2000
        238   OLIVIA-4-2000
        247   CONTESTIA-8-2000
        254   CONTESTIA-4-2000
        255   CONTESTIA-4-1000
        259   CONTESTIA-16-2000
2010-07-30 02:49:53 -05:00
David Freese 809b218b13 Revert "RSID silence period"
This reverts commit 7f7aeab2b9.
2010-07-16 19:51:48 -05:00
David Freese 7f7aeab2b9 RSID silence period
Removed silence periods between RSID transmission and start
  of modem signal.
2010-07-15 10:23:43 -05:00
David Freese c5f12bbb14 RSID code base
Reverted to 3.20.nn code.
    removed wefax RSID identifiers
    restored conditional rx/tx RSID functions
2010-06-06 14:38:42 -05:00
David Freese a7f6d85635 RSID new codes
* CONTESTIA 32-2000
  * CONTESTIA 64-500
  * CONTESTIA 64-1000
  * CONTESTIA 64-2000
2010-06-05 21:10:12 -05:00
David Freese d46b8a4108 RSID squelch
* Added user setting in seconds to allow RSID to open squelch in
    decoder.
  * Changed default to Extended Characters for Olivia, Contestia
    and MT63
  * Change default to "Capture wrapped messages"
2010-06-04 13:45:42 -05:00
David Freese 03f1ba743c RSID tx suppression
Suppress RsID transmit for unsupported RTTY, OLIVIA and
  CONTESTIA modes.
2010-06-03 06:38:17 -05:00
David Freese c3fbd31a8a RSID DomEX-FEC
Resolve RSID for DominoEX / DominoEX-FEC modes
2010-05-15 07:16:24 -05:00
Remi Chateauneu 2508852b03 WEFAX addition
Merger of all work submitted by Remi which was based on
  3.13BY.  Merge accomplished by reducing mulitple commits
  to a single and then cherry-picking that commit to the
  master branch.  No merge conflicts were experienced.

  Modified fl_digi.cxx / wefax items to comply with post
  3.13BY changes.
2010-05-03 08:15:11 -05:00
David Freese 02767b0ba4 Contestia
Added Contestia modem with Rx/Tx support of RSID.  This mode is
  not suitable for use with flarq, flwrap or flics.  It is very
  suitable for contesting or conversational QSOs.
2010-04-08 18:25:12 -05:00
Stelios Bounanos cc957f37cf Update copyright headers
* Relicense: GPLv2+ -> GPLv3+
  * Update authors' copyright notices
2010-03-01 13:09:16 +00:00
John Douyere 8cea906f79 Extended Pskmail messaging
* Decoded RSID message for Pskmail
  * PSK, THOR, MFSK signal over noise reporting for Pskmail
2010-03-01 06:00:49 -06:00
Stelios Bounanos b3eda4503e Add init_modem frequency argument
Add frequency argument to init_modem and related functions.  This makes
it simpler to correctly change modem and frequency on RSID reception.
2010-02-17 13:38:26 +00:00
Stelios Bounanos 78b515c6b1 Add verbose log level
* Add new "Verbose" log level
  * Change numerous LOG_INFO calls to LOG_VERBOSE
  * Change the default log level to "Info"
2010-01-28 04:05:10 +00:00
David Freese 93bedef1ca RSID fft processing
Replaced Sorensen real fft with Cfft implementation. Cfft also
    used for the waterfall fft.
2010-01-20 20:11:54 -06:00
Stelios Bounanos af78f3465f Improve RSID QSY functionality
The qsy() function will now change the rig frequency when it notices
that the modem is permanently frequency-locked (e.g., MT-63).

  * Remove modem_frequency argument and associated code from the various
    rig control set_qsy functions, this is now done by qsy().
  * Make modem::set_freq() virtual and override it in mt63 in order to
    better prevent frequency changes.
  * Use qsy() in the RSID decoder and notifier "Go to freq" callback.
2010-01-11 16:58:17 +00:00
Stelios Bounanos 0ec66d1c77 Add ID mode exceptions
Add menus to select
  * modes that will be switched to on RSID reception
  * modes for which to transmit RSID / VideoID / CWID

The defaults are:
  * Receive RSID: all modes
  * Transmit RSID & VideoID: all except CW, PSK31, RTTY
  * CWID: all except CW

Also add option to choose which modes are shown in the main OpMode
menu.
2010-01-05 22:38:30 +00:00
Stelios Bounanos 56afe38a60 Add new RSID codes
* Reorganise RSID data declarations
  * Synchronise with F6CTE's RSID list
  * Decode and transmit RSID for Olivia 8/1000 and 8/250
  * Print message when decoding RSID for unimplemented modes
2009-12-18 14:53:30 +00:00
John Douyere 58d86f6fa0 PSKR - PSK63F - new modem types
* Added new modem types PSK-125R, PSK-250R, PSK-500R,
      which use the following for additional noise and phase
      multipath immunity:
        . convolutional coding
        . bit interleaving
        . soft decoding
    * Added modem type PSK63F, compatible with MultiPsk PSK63FEC
    * Added RSID codes for PSKR and PSK63F
    * Changed naming convention of MODEM_BPSK31 to MODEM_PSK31 to be
      consistent with other PSK baud rates
2009-12-18 04:53:45 -06:00
John Douyere db836ccf41 PSK500 Addition
* Added PSK500 mode at the request of the pskmail users
      Patch created by John Douyere, VK2ETA
      Submitted by Rein Couperus, PA0R
2009-10-26 06:59:08 -05:00
David Freese a318522100 Code cleanup
Fixed various pedantic compile warnings
2009-09-22 10:29:15 -05:00
David Freese df650031bd RSID eot change
Added configuration item for RSID at end of transmission
2009-09-01 13:04:37 -05:00
Stelios Bounanos b09cea25ff Enable concurrent RSID decoding
* Change Sound*::Read methods to float
* Enable RSID upsampling for 8 KHz modems
* Add main.{get,set,toggle}_rsid XML-RPC methods
* Add option to disable RSID decoding on reception
* RSID may be enabled during transmit or tune
2009-09-01 01:05:51 +01:00