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,198 @@
{
"stage": "LAB048_OFFLINE_RECEIVER_PERFORMANCE",
"baseline": {
"capture_seconds": 15.0,
"full_processing_seconds": 37.423910000012256,
"strict_stage_seconds": 32.45996900013415,
"average_strict_candidate_seconds": 0.47043433333527757,
"approximate_peak_bytes": 1545755352
},
"optimized": {
"capture_seconds": 15.0,
"full_processing_seconds": 12.978691199910827,
"coarse_search_seconds": 4.4797875001095235,
"strict_stage_seconds": 8.487128499895334,
"average_strict_candidate_seconds": 0.12300186231732368,
"approximate_peak_bytes": 1545755352,
"stage_measurements": {
"cs8_to_complex64": {
"calls": 113,
"cumulative_seconds": 1.306003100471571
},
"refine_start": {
"calls": 69,
"cumulative_seconds": 2.930933100869879
},
"matched_filter": {
"calls": 105,
"cumulative_seconds": 2.9355400999775156
},
"timing": {
"calls": 105,
"cumulative_seconds": 1.2902987005654722
},
"cfo_phase_soft": {
"calls": 105,
"cumulative_seconds": 0.039461099775508046
},
"phy_header": {
"calls": 105,
"cumulative_seconds": 0.00410620030015707
},
"post_preamble_fec_crc": {
"calls": 36,
"cumulative_seconds": 0.6347944003064185
},
"viterbi": {
"calls": 36,
"cumulative_seconds": 0.6168836002470925
}
},
"memory_arrays": [
{
"name": "coarse_iq_window",
"dtype": "complex64",
"shape": [
16000000
],
"bytes": 128000000,
"mib": 122.0703125
},
{
"name": "coarse_decimated",
"dtype": "complex64",
"shape": [
800000
],
"bytes": 6400000,
"mib": 6.103515625
},
{
"name": "coarse_downconversion_vector",
"dtype": "complex64",
"shape": [
800000
],
"bytes": 6400000,
"mib": 6.103515625
},
{
"name": "coarse_correlation_scores",
"dtype": "float32",
"shape": [
773561
],
"bytes": 3094244,
"mib": 2.9509010314941406
},
{
"name": "strict_full_iq_window",
"dtype": "complex64",
"shape": [
2306400
],
"bytes": 18451200,
"mib": 17.596435546875
},
{
"name": "strict_cached_carrier_vector",
"dtype": "complex64",
"shape": [
2306400
],
"bytes": 18451200,
"mib": 17.596435546875
},
{
"name": "strict_baseband",
"dtype": "complex64",
"shape": [
2306400
],
"bytes": 18451200,
"mib": 17.596435546875
},
{
"name": "strict_matched_output",
"dtype": "complex64",
"shape": [
2310400
],
"bytes": 18483200,
"mib": 17.626953125
},
{
"name": "matched_filter_taps",
"dtype": "float32",
"shape": [
4001
],
"bytes": 16004,
"mib": 0.015262603759765625
}
]
},
"speedup": 2.883488745018403,
"processing_to_capture_ratio": 0.8652460799940551,
"real_time_capable": true,
"threshold": 0.030964473262429237,
"threshold_changed": false,
"coarse": {
"total_local_peaks": 185828,
"first_stage_candidates": 32414,
"skipped_as_owned_event": 32345,
"exact_duplicates": 0
},
"strict": {
"candidates_processed": 69,
"rejected_during_refinement": 0,
"refinement_pass": 69,
"timing_pass": 69,
"carrier_pass": 69,
"phy_header_pass": 36,
"phy_header_fail": 33,
"fec_attempts": 36,
"fec_pass": 36,
"fec_fail": 0,
"protocol_parse_pass": 36,
"crc_pass": 36,
"crc_fail": 0,
"valid_frames": 36
},
"object": {
"valid_fragments": 36,
"missing_fragments": [],
"object_complete": true
},
"after_independent_verdict": {
"stage": "AFTER_COMPLETED_INDEPENDENT_VERDICT_ONLY",
"expected_tx_frames": 36,
"matched_valid_frames": 36,
"missed_tx_frames": [],
"false_crc_pass": 0,
"duplicate_valid_detections": 0,
"total_pre_fec_coded_bit_errors": 19,
"total_post_fec_protocol_bit_errors": 0,
"jpeg_size": 8724,
"recovered_sha256": "e913dab9ac32795250880a4be67fbbbf89a4f96536842476ab591d1acaafc02a",
"tx_sha256": "e913dab9ac32795250880a4be67fbbbf89a4f96536842476ab591d1acaafc02a",
"sha_match": true,
"byte_errors": 0,
"bit_errors": 0,
"jpeg_decode": "PASS",
"width": 320,
"height": 240
},
"receiver_oracles": {
"expected_frame_count": false,
"tx_coded_bits": false,
"tx_fragment_indexes": false,
"tx_frame_offsets": false,
"tx_image": false,
"tx_packets": false
},
"phy_changed": false,
"fec_changed": false,
"bpsk_changed": false,
"rf_tx": 0
}