Compare the decoded messages from two WSJT-X clients operating in a 77-bit mode (FST4, FT4, FT8, MSK144, Q65). This application will correlate decoded messages from both clients by DECall, DXCall, QSO State, and Decode time to create the data needed to compare and characterize receiver and decoder behavior.
Matched decodes are written to the CSV file correlated-decodes-ab.csv
. Any decode that is not correlated between clients and has been in the buffer for longer than the configurable parameter AmountOfSecondsInBufferWithNoMatchIsUncorrelated
is written to the file uncorrelated-decodes-a.csv
or uncorrelated-decodes-b.csv
based on its source.
For pre-compiled releases:
To compile from source:
For pre-compiled releases:
- Ensure that you have the .NET 7 runtime installed
- Download the package for your OS
- Extract the archive to your desired location
- Run the executable file
- Windows
WjtxUtils.Compare.Console.exe
- Linux & OSX
WsjtxUtils.Compare.Console
- Windows
- CTRL-C in the console to exit
- Edit the config.json file to customize available options
To compile from source:
- Ensure that you have the .NET 7 SDK installed
- Clone or download the source code
dotnet publish -c release src/WsjtxUtils.Compare.Console/WsjtxUtils.Compare.Console.csproj --output <OUTPUT_DIRECTORY>
Options can be configured by editing the config.json file or by overriding specific parameters by command-line.
{
"PeriodicTimerSeconds": 1,
"AmountOfSecondsInBufferWithNoMatchIsUncorrelated": 30.0,
"IsCorrelatedDecodeWiggleTimeInSeconds" : 12,
"CorrelatedDecodesFile": "correlated-decodes-ab.csv",
"UncorrelatedDecodesFileSourceA": "uncorrelated-decodes-a.csv",
"UncorrelatedDecodesFileSourceB": "uncorrelated-decodes-b.csv",
"Server": {
"Address": "127.0.0.1",
"Port": 2237
},
"Serilog": {
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "Console",
"Args": {
"theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console",
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {NewLine}{Exception}"
}
}
]
}
}