kopia lustrzana https://github.com/M17-Project/M17_Implementations
update
rodzic
dbb1405363
commit
e385c2bd69
|
@ -159,7 +159,7 @@ void pack_LSF(uint8_t* dest, struct LSF *lsf_in, uint8_t crc_too)
|
|||
|
||||
//pack Frame
|
||||
//arg1: output array of packed bytes
|
||||
//arg2: frame counter (16-bit)
|
||||
//arg2: FN (frame number, 16-bit)
|
||||
//arg3: LSF struct
|
||||
//arg4: payload (packed array of bytes)
|
||||
void pack_Frame(uint8_t* dest, uint16_t frame_cnt, struct LSF *lsf_in, uint8_t *payload)
|
||||
|
@ -206,18 +206,35 @@ void pack_Frame(uint8_t* dest, uint16_t frame_cnt, struct LSF *lsf_in, uint8_t *
|
|||
break;
|
||||
}
|
||||
|
||||
packed_LSF_chunk[5]=lich_cnt<<5;
|
||||
packed_LSF_chunk[5]=lich_cnt<<5; //5 LSBs are reserved (don't care)
|
||||
|
||||
//time to Golay encode the LICH contents (48->96 bits)
|
||||
uint8_t golay_encoded_LICH[12];
|
||||
uint32_t g_enc[4];
|
||||
uint8_t golay_encoded_LICH[12]; //packet bytes, 96 total
|
||||
uint32_t g_enc[4]; //24-bit parts
|
||||
|
||||
g_enc[0]=golay_coding(packed_LSF_chunk[0]|((packed_LSF_chunk[1]&0x0F)<<8));
|
||||
g_enc[1]=golay_coding(((packed_LSF_chunk[1]&0xF0)>>4)|(packed_LSF_chunk[2]<<4));
|
||||
g_enc[2]=golay_coding(packed_LSF_chunk[3]|((packed_LSF_chunk[4]&0x0F)<<8));
|
||||
g_enc[3]=golay_coding(((packed_LSF_chunk[4]&0xF0)>>4)|(packed_LSF_chunk[5]<<4));
|
||||
|
||||
;
|
||||
//the byte order is just my guess...
|
||||
golay_encoded_LICH[0]=g_enc[0]&0xFF;
|
||||
golay_encoded_LICH[1]=(g_enc[0]>>8)&0xFF;
|
||||
golay_encoded_LICH[2]=(g_enc[0]>>16)&0xFF;
|
||||
golay_encoded_LICH[3]=g_enc[1]&0xFF;
|
||||
golay_encoded_LICH[4]=(g_enc[1]>>8)&0xFF;
|
||||
golay_encoded_LICH[5]=(g_enc[1]>>16)&0xFF;
|
||||
golay_encoded_LICH[6]=g_enc[2]&0xFF;
|
||||
golay_encoded_LICH[7]=(g_enc[2]>>8)&0xFF;
|
||||
golay_encoded_LICH[8]=(g_enc[2]>>16)&0xFF;
|
||||
golay_encoded_LICH[9]=g_enc[3]&0xFF;
|
||||
golay_encoded_LICH[10]=(g_enc[3]>>8)&0xFF;
|
||||
golay_encoded_LICH[11]=(g_enc[3]>>16)&0xFF;
|
||||
|
||||
//move to the destination
|
||||
memcpy(&dest[0], golay_encoded_LICH, 12);
|
||||
memcpy(&dest[12], (uint8_t*)&frame_cnt, 2);
|
||||
memcpy(&dest[14], payload, 16);
|
||||
}
|
||||
|
||||
uint16_t CRC_LSF(struct LSF *lsf_in)
|
||||
|
|
|
@ -1,93 +1,88 @@
|
|||
#ifndef RRC_TAPS
|
||||
#define RRC_TAPS
|
||||
|
||||
//taps below are for f_s=48kHz
|
||||
//10 samples per symbol
|
||||
//calculated by Rob Riggs, WX9O
|
||||
|
||||
const float rrc_coeffs[81]={
|
||||
-0.0031957,
|
||||
-0.00293028,
|
||||
-0.00194067,
|
||||
-0.000356088,
|
||||
0.00154701,
|
||||
0.00338955,
|
||||
0.0047619,
|
||||
0.00531086,
|
||||
0.00482475,
|
||||
0.00329792,
|
||||
0.000958711,
|
||||
-0.00174991,
|
||||
-0.00423869,
|
||||
-0.00588178,
|
||||
-0.00615026,
|
||||
-0.00474538,
|
||||
-0.00170419,
|
||||
0.00254785,
|
||||
0.00721558,
|
||||
0.011231,
|
||||
0.013422,
|
||||
0.0127305,
|
||||
0.00844955,
|
||||
0.000436744,
|
||||
-0.0107354,
|
||||
-0.0237269,
|
||||
-0.036498,
|
||||
-0.0465009,
|
||||
-0.0509791,
|
||||
-0.0473407,
|
||||
-0.0335549,
|
||||
-0.00851382,
|
||||
0.0276965,
|
||||
0.0736645,
|
||||
0.126689,
|
||||
0.182991,
|
||||
0.23808,
|
||||
0.287236,
|
||||
0.32604,
|
||||
0.350896,
|
||||
0.359453,
|
||||
0.350896,
|
||||
0.32604,
|
||||
0.287236,
|
||||
0.23808,
|
||||
0.182991,
|
||||
0.126689,
|
||||
0.0736645,
|
||||
0.0276965,
|
||||
-0.00851382,
|
||||
-0.0335549,
|
||||
-0.0473407,
|
||||
-0.0509791,
|
||||
-0.0465009,
|
||||
-0.036498,
|
||||
-0.0237269,
|
||||
-0.0107354,
|
||||
0.000436744,
|
||||
0.00844955,
|
||||
0.0127305,
|
||||
0.013422,
|
||||
0.011231,
|
||||
0.00721558,
|
||||
0.00254785,
|
||||
-0.00170419,
|
||||
-0.00474538,
|
||||
-0.00615026,
|
||||
-0.00588178,
|
||||
-0.00423869,
|
||||
-0.00174991,
|
||||
0.000958711,
|
||||
0.00329792,
|
||||
0.00482475,
|
||||
0.00531086,
|
||||
0.0047619,
|
||||
0.00338955,
|
||||
0.00154701,
|
||||
-0.000356088,
|
||||
-0.00194067,
|
||||
-0.00293028,
|
||||
-0.0031957,
|
||||
-0.003195702904062,
|
||||
-0.002930279157647,
|
||||
-0.001940667871554,
|
||||
-0.000356087678024,
|
||||
0.001547011339078,
|
||||
0.003389554791180,
|
||||
0.004761898604226,
|
||||
0.005310860846139,
|
||||
0.004824746306020,
|
||||
0.003297923526849,
|
||||
0.000958710871219,
|
||||
-0.001749908029792,
|
||||
-0.004238694106631,
|
||||
-0.005881783042102,
|
||||
-0.006150256456781,
|
||||
-0.004745376707652,
|
||||
-0.001704189656474,
|
||||
0.002547854551540,
|
||||
0.007215575568845,
|
||||
0.011231038205364,
|
||||
0.013421952197061,
|
||||
0.012730475385624,
|
||||
0.008449554307304,
|
||||
0.000436744366018,
|
||||
-0.010735380379192,
|
||||
-0.023726883538258,
|
||||
-0.036498030780605,
|
||||
-0.046500883189991,
|
||||
-0.050979050576000,
|
||||
-0.047340680079891,
|
||||
-0.033554880492652,
|
||||
-0.008513823955726,
|
||||
0.027696543159614,
|
||||
0.073664520037517,
|
||||
0.126689053778116,
|
||||
0.182990955139334,
|
||||
0.238080025892860,
|
||||
0.287235637987092,
|
||||
0.326040247765297,
|
||||
0.350895727088113,
|
||||
0.359452932027608,
|
||||
0.350895727088113,
|
||||
0.326040247765297,
|
||||
0.287235637987092,
|
||||
0.238080025892860,
|
||||
0.182990955139334,
|
||||
0.126689053778116,
|
||||
0.073664520037517,
|
||||
0.027696543159614,
|
||||
-0.008513823955726,
|
||||
-0.033554880492652,
|
||||
-0.047340680079891,
|
||||
-0.050979050576000,
|
||||
-0.046500883189991,
|
||||
-0.036498030780605,
|
||||
-0.023726883538258,
|
||||
-0.010735380379192,
|
||||
0.000436744366018,
|
||||
0.008449554307304,
|
||||
0.012730475385624,
|
||||
0.013421952197061,
|
||||
0.011231038205364,
|
||||
0.007215575568845,
|
||||
0.002547854551540,
|
||||
-0.001704189656474,
|
||||
-0.004745376707652,
|
||||
-0.006150256456781,
|
||||
-0.005881783042102,
|
||||
-0.004238694106631,
|
||||
-0.001749908029792,
|
||||
0.000958710871219,
|
||||
0.003297923526849,
|
||||
0.004824746306020,
|
||||
0.005310860846139,
|
||||
0.004761898604226,
|
||||
0.003389554791180,
|
||||
0.001547011339078,
|
||||
-0.000356087678024,
|
||||
-0.001940667871554,
|
||||
-0.002930279157647,
|
||||
-0.003195702904062
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue