Initial Commit
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
// qra64_subs.c
|
||||
// Fortran interface routines for QRA64
|
||||
|
||||
#include "qra64.h"
|
||||
#include <stdio.h>
|
||||
|
||||
static qra64codec *pqra64codec = NULL;
|
||||
|
||||
void qra64_enc_(int x[], int y[])
|
||||
{
|
||||
if (pqra64codec==NULL) pqra64codec = qra64_init(QRA_USERAP);
|
||||
qra64_encode(pqra64codec, y, x);
|
||||
}
|
||||
|
||||
void qra64_dec_(float r[], int* nc1, int* nc2, int* ng2, int* APtype,
|
||||
int* iset, int* ns0, float* b0, int* nf0,
|
||||
int xdec[], float* snr, int* rc)
|
||||
{
|
||||
/*
|
||||
APtype: AP
|
||||
-----------------------------------------------------------------------
|
||||
-1 0 (no AP information)
|
||||
0 [CQ/QRZ ? ? ] 25/37
|
||||
1 [MyCall ? ? ] 25/37
|
||||
2 [ ? HisCall ? ] 25/37
|
||||
3 [MyCall HisCall ? ] 49/68
|
||||
4 [MyCall HisCall grid] 68
|
||||
5 [CQ/QRZ HisCall ? ] 49/68
|
||||
|
||||
rc Message format AP APTYPE Comments
|
||||
------------------------------------------------------------------------
|
||||
-16 Failed sanity check
|
||||
-2 Decoded but CRC failed
|
||||
-1 No decode
|
||||
0 [ ? ? ? ] 0 -1 Decode with no AP info
|
||||
1 [CQ/QRZ ? ? ] 25 0
|
||||
2 [CQ/QRZ ? _ ] 37 0
|
||||
3 [MyCall ? ? ] 25 1
|
||||
4 [MyCall ? _ ] 37 1
|
||||
5 [MyCall HisCall ? ] 49 3
|
||||
6 [ ? HisCall ? ] 25 2 Optional
|
||||
7 [ ? HisCall _ ] 37 2 Optional
|
||||
8 [MyCall HisCall Grid] 68 4
|
||||
9 [CQ/QRZ HisCall ? ] 49 5 Optional (not needed?)
|
||||
10 [CQ/QRZ HisCall _ ] 68 5 Optional
|
||||
11 [CQ/QRZ HisCall Grid] 68 ? Optional
|
||||
*/
|
||||
|
||||
float EbNodBEstimated;
|
||||
int err=0;
|
||||
int nSubmode=*ns0;
|
||||
float b90=*b0;
|
||||
int nFadingModel=*nf0;
|
||||
|
||||
if(pqra64codec==NULL) pqra64codec = qra64_init(QRA_USERAP);
|
||||
err=qra64_apset(pqra64codec,*nc1,*nc2,*ng2,*APtype);
|
||||
if(err<0) printf("ERROR: qra64_apset returned %d\n",err);
|
||||
|
||||
if(*iset==0) {
|
||||
*rc = qra64_decode_fastfading(pqra64codec,&EbNodBEstimated,xdec,r,
|
||||
nSubmode,b90,nFadingModel);
|
||||
*snr = EbNodBEstimated - 31.0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user