Hi Joe, > look suggests to me that line 3507 in mainwindow.cpp (r7328) is probably the > root cause: > > if(m_config.quick_call()) auto_tx_mode(true); > > This statement comes at the end of the long routine > MainWindow::processMessage(). > > Executing the step "auto_tx_mode(true)" probably should happen only if we > entered processMessage() as a result of an operator double-clicking a line of > decoded text. In particular, NOT as a result of a decode with > auto-sequencing activated. > > Revision 7329 has a fix.
Thanks Joe. The statement that you identified would seem to be the likely cause of the reported behavior. Regarding the equalization project — I thought you might be interested in seeing some early results from a pilot analysis of a single 15s recording of your signal. The analysis is based on 24 received data frames from your signal. All frames in the average had SNR of at least 14 dB and decoded to the same message: “CQ K1JT FN20”. None of the frames had any errors in the “hard” bits derived from the received signal. Using the known message, I created a “model” spectrum by creating an ideal constant-envelope passband signal centered on 1500 Hz. Then I used analytic followed by tweak1 to convert the model signal to complex baseband. This ensures that the model is filtered the same way as the received data. The attached plot includes 4 figures: top left: average received spectrum (red) and model spectrum (blue). top right: blue line is difference between model and received spectrum (model-received), in dB. Red curves show the reference spectrum (from refspec.dat) and the reference spectrum squared. The latter is included to show what would be expected if the TX filter on your end was identical to the RX filter on my end. bottom left: normalized coherence spectrum between received and model. bottom right: phase angle derived from average cross-spectrum between model and reference. The phase angle results look believable, if somewhat noisy. This would be a much easier problem if we had the luxury of being able to average over a large ensemble of different messages. The average cross spectrum would then be much smoother. I guess that the next step should be to figure out how to fit a smooth function to the amplitude and phase responses without being unduly biased by the spiky parts of the amplitude ratio. In my professional life, I would probably use vector fitting to find a low-order rational function to approximate the measured complex response function (https://www.sintef.no/projectweb/vectfit/). I don’t know if we’ll want to deal with that level of complexity or not — more playing is necessary! Ideas/suggestions/questions that occur to you will be most welcome! Steve
Equalization_case_study.pdf
Description: Adobe PDF document
due to the noise floor that is present only in the received spectrum.
------------------------------------------------------------------------------
_______________________________________________ wsjt-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wsjt-devel
