Skip to content

Studio 2.2.9: signal analysis and expanded waveform generation - #42

Merged
gaochangw merged 11 commits into
mainfrom
studio-next
Sep 15, 2026
Merged

gaochangw merged 11 commits into
mainfrom
studio-next

Conversation

@gaochangw

Copy link
Copy Markdown
Member

Studio can now inspect generated PA inputs, Virtual PA outputs and real or complex CSV signals in a dedicated Signal Analyzer. Source links preserve dataset versions, and explicit analysis settings produce independent PSD, spectrogram, time/frequency, raw I/Q, CCDF, eye and metric views with JSON/CSV exports.

The generator adds Gray PSK, deterministic payloads, FSK/GFSK, band-limited noise, DFT spreading, burst envelopes and phase controls. RRC span now uses the documented total symbol length, and symbol recovery uses a matched filter. NR/WLAN presets remain continuous uncoded engineering stimuli; the interface and documentation describe the protocol limits. Existing saved samples remain readable.

CSV quarantine validates every numeric field, bounds storage and computation, preserves complex components and prevents cross-workspace source access. Reports are returned without creating training datasets. README, guides, validation notes and actual GUI screenshots are updated for 2.2.9.

Validation: 994 Python tests; 118 final focused checks; 249 frontend tests; strict type/lint/API-contract/documentation checks; real Chromium generation-to-analysis, three CSV formats, report download, all analyzer views, five new custom waveform families and mobile layout. The exercised analyzer page has no runtime errors or axe WCAG 2.1 AA violations. The one-million-sample local analysis benchmark is documented with raw evidence.

@gaochangw gaochangw left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed head de63c96 against main. No remaining blocking findings in the current diff.

Reviewed the numeric definitions and plot reductions, source/version handoffs, preservation of real and complex CSV samples, complete-file rejection and cleanup, workspace ownership, public heavy-request admission, content identity and backward reading of stored signals. An ambiguous single-column I header was corrected during review and covered by real/complex upload cases. The change does not modify PA/DPD metric contracts or training algorithms.

Evidence: full local Python regression (994 passing before the final two header cases), 118 focused checks, 17 upload/source integration cases at this head, 249 frontend tests, strict documentation and API-contract checks, real-browser custom generation and analyzer workflows. CI must pass at this head before merging. Standard-family presets remain explicitly limited to uncoded engineering stimuli, with no protocol-conformance claim.

@gaochangw gaochangw left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the final follow-up at a7007ff. Source-catalog reads now consume the shared heavy-request budget because manifests include bounded diagnostic data. Status and cancellation remain outside that budget. All 52 relevant public/source integration checks pass; no remaining blocking findings. Waiting for CI at this exact head before merge.

@gaochangw
gaochangw added this pull request to the merge queue Sep 15, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to Branch Protection failures Sep 15, 2026
You're not authorized to push to this branch. Visit "About protected branches" for more information.
@gaochangw
gaochangw merged commit 7000097 into main Sep 15, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant