Lab050: model fresh-frame SDR video stream
This commit is contained in:
@@ -639,10 +639,13 @@ def decode_candidate_from_memmap(
|
||||
sample_count: int,
|
||||
candidate: CoarseCandidate,
|
||||
detection_number: int,
|
||||
*,
|
||||
read_iq_window: Callable | None = None,
|
||||
) -> CandidateOutcome:
|
||||
"""Строго проверить один candidate локальными IQ-окнами."""
|
||||
|
||||
started = time.perf_counter()
|
||||
window_reader = lab046c._cs8_window if read_iq_window is None else read_iq_window
|
||||
reference = lab046c.lab044._preamble_reference_samples()
|
||||
probe_symbols = lab046c.lab045.PREAMBLE_BIT_COUNT + lab046c.lab045.PHY_HEADER_BIT_COUNT
|
||||
probe_waveform = (
|
||||
@@ -655,7 +658,7 @@ def decode_candidate_from_memmap(
|
||||
sample_count,
|
||||
candidate.sample_offset + probe_waveform + REFINEMENT_MARGIN_SAMPLES,
|
||||
)
|
||||
probe_iq = lab046c._cs8_window(raw, probe_start, probe_end)
|
||||
probe_iq = window_reader(raw, probe_start, probe_end)
|
||||
maximum_window = int(probe_iq.size)
|
||||
local_coarse = candidate.sample_offset - probe_start
|
||||
try:
|
||||
@@ -740,7 +743,7 @@ def decode_candidate_from_memmap(
|
||||
maximum_window=maximum_window,
|
||||
started=started,
|
||||
)
|
||||
full_iq = lab046c._cs8_window(raw, refined_global, full_end)
|
||||
full_iq = window_reader(raw, refined_global, full_end)
|
||||
maximum_window = max(maximum_window, int(full_iq.size))
|
||||
full = lab046b._extract_soft_window(full_iq, 0, frame_symbols)
|
||||
if not full.passed:
|
||||
|
||||
Reference in New Issue
Block a user