Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf5bad58

Browse files
committed
Fix code_equiv.
1 parent68994ab commitf5bad58

File tree

2 files changed

+4
-86
lines changed

2 files changed

+4
-86
lines changed

‎include/swiftnav/signal.h‎

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -309,38 +309,6 @@ typedef enum sbas_system_e {
309309

310310
typedefbool (*sid_eq_fn)(constgnss_signal_ta);
311311

312-
/** Are tracking codes equal or being treated as equivalent? L2CM/L1CA
313-
* observations on the rover, and L2P/L1P observations on the base are treated
314-
* as equivalent signals.
315-
*
316-
* \remark pcode_equiv and is_l2_sid are related to handling of L2P and L2CM
317-
* observations here:
318-
* https://github.com/swift-nav/estimation_team_planning/issues/215. In
319-
* the future, we'll want to correct/canonicalize L2P signals using
320-
* has_mixed_l2_obs in signal.h.
321-
*
322-
* \param a code a
323-
* \param b code b
324-
* \return True if a and b are both in the same frequency band, but have
325-
* different tracking modes.
326-
*/
327-
staticinlineboolcode_equiv(constcode_ta,constcode_tb) {
328-
/* TODO GLO: Check GLO status. */
329-
if (a==b) {
330-
return true;
331-
}elseif (a==CODE_GPS_L2CM&&b==CODE_GPS_L2P) {
332-
return true;
333-
}elseif (a==CODE_GPS_L2P&&b==CODE_GPS_L2CM) {
334-
return true;
335-
}elseif (a==CODE_GPS_L1P&&b==CODE_GPS_L1CA) {
336-
return true;
337-
}elseif (a==CODE_GPS_L1CA&&b==CODE_GPS_L1P) {
338-
return true;
339-
}else {
340-
return false;
341-
}
342-
}
343-
344312
boolis_gps(constcode_tcode);
345313
boolis_sbas(constcode_tcode);
346314
boolis_glo(constcode_tcode);
@@ -417,7 +385,7 @@ static inline int sid_compare(const gnss_signal_t a, const gnss_signal_t b) {
417385
* constellation/frequency/satellite */
418386
if ((code_valid(a.code))&&code_valid(b.code)) {
419387
if (sid_to_constellation(a)==sid_to_constellation(b)) {
420-
if (code_equiv(a.code,b.code)) {
388+
if (a.code==b.code) {
421389
returna.sat-b.sat;
422390
}else {
423391
returna.code-b.code;
@@ -426,7 +394,7 @@ static inline int sid_compare(const gnss_signal_t a, const gnss_signal_t b) {
426394
returnsid_to_constellation(a)-sid_to_constellation(b);
427395
}
428396
}else {
429-
if (code_equiv(a.code,b.code)) {
397+
if (a.code==b.code) {
430398
returna.sat-b.sat;
431399
}
432400
returna.code-b.code;

‎tests/check_signal.c‎

Lines changed: 2 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -277,10 +277,8 @@ START_TEST(test_signal_compare) {
277277
qsort(sids,NUM_SIGNALS,sizeof(gnss_signal_t),cmp_sid_sid);
278278

279279
for (u32i=1;i<NUM_SIGNALS;i++) {
280-
fail_unless(!(sid_is_equal(sids[i],sids[i-1])&&
281-
!code_equiv(sids[i].code,sids[i-1].code)),
282-
"signal index %d not unique",
283-
i);
280+
fail_unless(
281+
!(sid_is_equal(sids[i],sids[i-1])),"signal index %d not unique",i);
284282
fail_unless(sid_compare(sids[i],sids[i-1]) >=0,
285283
"signal index %d not in order",
286284
i);
@@ -311,53 +309,6 @@ START_TEST(test_signal_construction) {
311309
}
312310
END_TEST
313311

314-
START_TEST(test_code_equivalence) {
315-
conststructtest_case {
316-
gnss_signal_tsid_a;
317-
gnss_signal_tsid_b;
318-
boolequiv;
319-
charstr[20];
320-
}test_cases[]= {
321-
{.sid_a= {.code=CODE_GPS_L2P, .sat=1},
322-
.sid_b= {.code=CODE_GPS_L2P, .sat=1},
323-
.equiv= true,
324-
.str="GPS L2P GPS L2P"},
325-
{.sid_a= {.code=CODE_GPS_L1P, .sat=1},
326-
.sid_b= {.code=CODE_GPS_L1P, .sat=1},
327-
.equiv= true,
328-
.str="GPS L1P GPS L1P"},
329-
{.sid_a= {.code=CODE_GPS_L2P, .sat=1},
330-
.sid_b= {.code=CODE_GPS_L2CM, .sat=1},
331-
.equiv= true,
332-
.str="GPS L2P GPS L2CM"},
333-
{.sid_a= {.code=CODE_GPS_L1P, .sat=1},
334-
.sid_b= {.code=CODE_GPS_L1CA, .sat=1},
335-
.equiv= true,
336-
.str="GPS L1P GPS L1CA"},
337-
{.sid_a= {.code=CODE_GPS_L1P, .sat=1},
338-
.sid_b= {.code=CODE_GPS_L2CM, .sat=1},
339-
.equiv= false,
340-
.str="GPS L2P L1P GPS L2CM"},
341-
{.sid_a= {.code=CODE_GPS_L2P, .sat=1},
342-
.sid_b= {.code=CODE_GPS_L1CA, .sat=1},
343-
.equiv= false,
344-
.str="GPS L2P GPS L1CA"},
345-
{.sid_a= {.code=CODE_GLO_L1OF, .sat=0},
346-
.sid_b= {.code=CODE_GPS_L1CA, .sat=0},
347-
.equiv= false,
348-
.str="GLO L1CA GPS L1CA"},
349-
};
350-
for (u32i=0;i<sizeof(test_cases) /sizeof(test_cases[0]);i++) {
351-
conststructtest_case*t=&test_cases[i];
352-
fail_unless(code_equiv(t->sid_a.code,t->sid_b.code)==t->equiv,
353-
"Signal test for %s failed! Expected %d, got %d",
354-
t->str,
355-
t->equiv,
356-
code_equiv(t->sid_a.code,t->sid_a.code));
357-
}
358-
}
359-
END_TEST
360-
361312
staticvoidglo_map_lock(void) {}
362313
staticvoidglo_map_unlock(void) {}
363314

@@ -562,7 +513,6 @@ Suite *signal_test_suite(void) {
562513
tcase_add_test(tc_core,test_signal_properties);
563514
tcase_add_test(tc_core,test_signal_compare);
564515
tcase_add_test(tc_core,test_signal_construction);
565-
tcase_add_test(tc_core,test_code_equivalence);
566516
tcase_add_test(tc_core,test_signal_sid_to_carr_freq);
567517
tcase_add_test(tc_core,test_signal_code_to_chip_count);
568518
tcase_add_test(tc_core,test_signal_code_to_chip_rate);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp