Lab051: accelerate 500 ksymbol/s streaming receiver

This commit is contained in:
LittleSam129
2026-09-08 16:04:09 +03:00
parent 60691a09f1
commit 9f33607d3a
13 changed files with 9695 additions and 0 deletions

View File

@@ -0,0 +1,209 @@
{
"benchmark": {
"symbol_rate": 500000,
"samples_per_symbol": 16,
"detection_decimation": 8,
"input_images": 3,
"tx_rf_packets": 24,
"accepted_rf_packets": 24,
"completed_images": 3,
"all_sha_match": true,
"packets_before_finish": 24,
"images_before_finish": 3,
"capture_seconds": 0.323744625,
"payload_airtime_seconds": 0.276768,
"processing_seconds": 49.61432680033613,
"processing_per_rf_second": 153.25143019852803,
"processing_per_payload_airtime_second": 179.26323419013804,
"coarse_seconds": 0.4982285003643483,
"strict_seconds": 49.04027030314319,
"assembly_jpeg_decode_seconds": 0.0013099998468533158,
"processing_seconds_per_rf_packet": 2.067263616680672,
"peak_iq_buffer_samples": 424309,
"iq_buffer_limit_samples": 424864,
"working_arrays_estimate_bytes": 74928288,
"memory_is_process_rss_measurement": false,
"peak_object_payload_bytes": 1821,
"candidate_count": 2374,
"peak_candidates_in_block": 2114,
"rejected_reasons": {
"PHY_HEADER_MAGIC_MISMATCH": 2298,
"TRUNCATED_SYMBOLS": 38,
"TRUNCATED_IQ_WINDOW": 14
},
"buffer_release_delay_upper_seconds": 0.052608,
"noisy": true,
"coded_bit_ebn0_db": 7,
"cfo_hz": 10,
"candidate_threshold": 0.030964473262429237,
"completed": [
{
"image_id": 1,
"sha256": "15723773a8788c9d610c874707ad2d513582322ee1d42009b0b39d3de336e10d",
"bytes": 1740,
"dimensions": [
128,
96
],
"first_sample": 4321,
"last_sample": 747682,
"emitted_after_sample": 1025782
},
{
"image_id": 2,
"sha256": "66404b14ca9e3a6627871ad9d3b5dd4311915d7820a99dfa182fc3a20fbe9d85",
"bytes": 1790,
"dimensions": [
128,
96
],
"first_sample": 747989,
"last_sample": 1491022,
"emitted_after_sample": 1742690
},
{
"image_id": 3,
"sha256": "166d33d72820bf3385e0d30823d991b453147c84ca75f788ab8819ad5e3c3ced",
"bytes": 1821,
"dimensions": [
128,
96
],
"first_sample": 1491425,
"last_sample": 2234130,
"emitted_after_sample": 2496773
}
],
"rf_tx": 0
},
"profile": {
"shared_stages": {
"phy_header": {
"calls": 24,
"seconds": 0.0005645002238452435,
"exclusive_seconds": 0.0005645002238452435
},
"coarse_localization": {
"calls": 36,
"seconds": 0.4980395002057776,
"exclusive_seconds": 0.4980395002057776
}
},
"valid": {
"count": 24,
"mean_seconds": 0.07296675831700365,
"median_seconds": 0.07252859993604943,
"total_seconds": 1.7512021996080875,
"stages": {
"refinement": {
"calls": 24,
"seconds": 0.028973900014534593,
"exclusive_seconds": 0.028973900014534593
},
"matched_filter": {
"calls": 48,
"seconds": 0.1906564999371767,
"exclusive_seconds": 0.1906564999371767
},
"timing": {
"calls": 48,
"seconds": 0.9146315004909411,
"exclusive_seconds": 0.0007350004743784666
},
"timing_fallback": {
"calls": 48,
"seconds": 0.9138965000165626,
"exclusive_seconds": 0.9138965000165626
},
"phase_diagnostics": {
"calls": 48,
"seconds": 0.019832400372251868,
"exclusive_seconds": 0.008994300849735737
},
"cfo_gain": {
"calls": 48,
"seconds": 0.010838099522516131,
"exclusive_seconds": 0.010838099522516131
},
"phy_header": {
"calls": 48,
"seconds": 0.0017112999921664596,
"exclusive_seconds": 0.0017112999921664596
},
"body_pipeline": {
"calls": 24,
"seconds": 0.49711450026370585,
"exclusive_seconds": 0.011535500641912222
},
"viterbi": {
"calls": 24,
"seconds": 0.4843809995800257,
"exclusive_seconds": 0.4843809995800257
},
"crc_parser": {
"calls": 24,
"seconds": 0.0002698999596759677,
"exclusive_seconds": 0.0002698999596759677
}
}
},
"false": {
"count": 2350,
"mean_seconds": 0.02009875251049612,
"median_seconds": 0.019996499991975725,
"total_seconds": 47.23206839966588,
"stages": {
"refinement": {
"calls": 2350,
"seconds": 2.7974041998386383,
"exclusive_seconds": 2.7974041998386383
},
"matched_filter": {
"calls": 2336,
"seconds": 0.9339654004434124,
"exclusive_seconds": 0.9339654004434124
},
"timing": {
"calls": 2336,
"seconds": 41.83316580078099,
"exclusive_seconds": 0.028656100272201
},
"timing_fallback": {
"calls": 2336,
"seconds": 41.80450970050879,
"exclusive_seconds": 41.80450970050879
},
"phase_diagnostics": {
"calls": 2336,
"seconds": 0.910528302541934,
"exclusive_seconds": 0.4247559007490054
},
"cfo_gain": {
"calls": 2336,
"seconds": 0.4857724017929286,
"exclusive_seconds": 0.4857724017929286
},
"phy_header": {
"calls": 2298,
"seconds": 0.06713570095598698,
"exclusive_seconds": 0.06713570095598698
}
}
}
},
"rf_tx": 0,
"array_observation": {
"valid": {
"observed_array_objects": 14361,
"observed_owned_arrays": 8704,
"observed_owned_bytes_total": 16681890,
"tracemalloc_retained_bytes": 1842,
"tracemalloc_peak_bytes": 4787123,
"array_count_is_lower_bound": true
}
},
"process_memory_after_profiling": {
"rss_bytes": 156041216,
"peak_rss_bytes": 169754624
}
}