(C) 2013,2014  AG1LE Mauri Niininen 
2014-JUN-22
	Removed most static variables to reduce size of .bss segment in order to be able to run in Raspberry Pi. 
	
2014-JUN-14
	Added TCL/sqlite3 based testing framework to capture and process CER vs SNR test data.
	See test/cer_vs_snr_test.tc  and test/sqlite.db 

2014-JUN-13
	Added GIT version tagging feature   bmorse -ver  returns the tag+version number 
	Use git tag -a v0.1.02 -m "Release v0.1.02"  to update tag  - 
	see http://stackoverflow.com/questions/1704907/how-can-i-get-my-c-code-to-automatically-print-out-its-git-version-hash
 

2014-MAY-25 
	Fixed bugs and syncronized with FLDIGI 3.21.77 Bayesian v3  version 

2014-JAN-22
	Fixed bug in savep.cxx - check if psum is zero before trying to divide by it.
	I think is is the root cause of bug mentioned in Sep-26-2013 - Pmax growing to huge values
	

2014-JAN-02  
	New release bmorse-0.1.01
	Added FFT filtering code from FLDIGI cw.cxx and fftflt.cxx 
	Converted all files from C to C++.  
	Found a workaround for P(max) bug - see Sept 26. Adjusting dur[] initialization value from 1000.0 to 9000.0 in proces.cxx worked in most test files so far. 
	

2013-DEC-29
	Added more options to enable debugging and testing bmorse decoder while using WAV audio files as source. 
	Bit filter (-bfv) option does envelope smoothing - 10 msec rise time assumption based on experiences with FLDIGI.
	Plot option (-plt) enables piping such as  "bmorse -plt <sndfile> | xplot" to visualize the CW envelope. 
	AGC  option (-agc) has fast rise and slow decay in case original signal has very large dynamic range. 
	AMP option  (-amp) allows to multiply envelope signal with a constant. 
	DUR option  (-dur) allows manually to set Bayesian decoder sample duration (used in path.c). 
	FFT option  (-fft) enables either FFT based signal recovery or just low pass filtering. 
		- FFT has also peak_detection() to find if there are multiple signals in the audio frequency range. 
		- Parameter "delta" sets peak detection threshold 
		- Width (-wid) and length (-len) parameters can be used to set FFT size and chunking 
	

2013-DEC-28   
	Renamed this program as "bmorse" - it stands for Bayesian Morse code decoder.  
	Built new functionality and options for testing both sound files and text files. 
	
	

2013-SEP-26 
	enabled decoding from FLDIGI data feed. clamping x value to 1.0 max as FLDIGI sends values over 20.0 during startup before AGC kicks in.
	BUG: P(dah) abruptly goes from near 1.0 down and the bounces back => P(max) jumps to huge values 
	too long dahs?  
	
2013-SEP-25 
	BUG: missing word space /pause between words QUICK BROWN  when < 30 db SNR ?
	FOUND: enabled  noise.c processing in morse.c 
	changed to: 
			noise_(&x, &rn, &zout);
			retstat = proces_(&zout, &rn, &xhat, &px, &elmhat, &spdhat, &imax, &pmax);
	much better decoding with low SNR test signals.

2013-SEP-25  
	run "./morse t test/test20db.in | less"
	BUG: QUICD  and FOB  when high 20 dB SNR?  
	D should be K  and  B should be X 
	for some reason last 'dah' following word space gets decoded as 'dit'.
	FOUND:  Initl.c - line 123    1, 1, 0, 0, 0, 0,   // mauri 2013-09-25 bugfix
	had 0 instead of 1 in state k=4 
	

2013-SEP-02	Morse decoding works on C++ version. Added decoding struct TREE in transl.c 
			and logic to translate incoming morse symbols. This is marked as version v01.


2013-SEP-01  	Initial version. Original Fortran sources compiled with  
			gfortran -g  *.f 
		produces a.out  executable program.  

		Based on initial testing the element state estimation works, but translating letters 
		has still problems. Produces a sequence of letter states but translation to actual 
		characters produces incorrect letters. 

 		Compilation of C-sources produced by f2c is done with following commands:

			gcc -c *.c 
			gcc  *.o -lf2c -lm

		produces a.out executable program. The output of both versions of a.out is in 
			output_c.txt
			output_f.txt 

		These have minor differences - source still unknown. 

