Repository navigation
Releases: almuleev/AMSignal
Release list
v0.17.13
Скачать EXE / Download EXE · SHA-256
Русский
- Открытие участка записи с начального экрана и из меню «Файл»: границы задаются до загрузки, анализ и экспорт ограничены фрагментом.
- Auto адаптивно удерживает исходные данные в RAM; при нехватке бюджета переключается на дисковое чтение с сохранением численного участка.
- Проекты
.AMSigсохраняют настройки АЧХ, рабочий режим, диапазоны, курсор и поддерживаемые готовые результаты FFT/АЧХ. - Параллельная CPU-обработка текстовых записей и АЧХ; GPU-код исключён из текущей программы.
- Обновлены иллюстрированные описания RU/EN и переключение открытых документов.
EXE без цифровой подписи. Фильтр открытого фрагмента начинает состояние с его начала; без индекса предшествующий текст читается последовательно. Новых замеров производительности для v0.17.13 нет.
English
- Open a recording interval from the start screen or File menu: enter boundaries before loading; analysis and export use the fragment.
- Auto retains original samples in RAM adaptively and falls back to disk reads under budget pressure while preserving the numerical range.
.AMSigprojects preserve FRF settings, workspace mode, view ranges, cursor and supported completed FFT/FRF results.- Parallel CPU processing for text recordings and FRF; GPU code has been removed from the current application.
- Updated illustrated RU/EN guides and open-document switching.
Executables are unsigned. Filtering starts at the opened fragment's beginning; without an index, preceding text is read sequentially. No new performance measurements for v0.17.13.
Полный журнал и ограничения / Full changelog and limitations
Поставка v0.17.13 / v0.17.13 distribution
GUI и CLI собираются из чистого коммита e9f942e2d8e7eb56859eef016da0bdd2d0d9f7b3, тег v0.17.13. На GitHub поставляются только AMSignal-0.17.13-x64.exe и SHA256SUMS.txt с хэшем этого EXE. Исходники доступны через тег и архивы Source code; старые теги и вложения сохраняются. Лицензия — GNU GPLv3.
Полные пересобранные тесты тех же исходников: 1413 проверок ядра без ошибок и 7319 GUI-проверок. Числа обозначают утверждения, а не независимые сценарии. Выпускные EXE пересобираются из чистого тега с проверкой версии и упаковки. Область испытаний — до 10 000 000 000 байт включительно; это не программный предел открытия файлов. Нового большого или длительного стресс-прогона для v0.17.13 нет. Прежние ограничения анализа и кэшей сохраняются.
GUI and CLI are built from clean commit e9f942e2d8e7eb56859eef016da0bdd2d0d9f7b3, tagged v0.17.13. GitHub assets contain only AMSignal-0.17.13-x64.exe and SHA256SUMS.txt for that executable. Sources are available through the tag and Source code archives; existing tags and assets are retained. License: GNU GPLv3.
Full rebuilt tests of the same sources passed: 1413 core checks with no failures and 7319 GUI checks. These are assertion counts rather than independent scenarios. Release executables are rebuilt from the clean tag with version and package verification. Test scope remains up to 10,000,000,000 bytes inclusive, not a hard file-opening limit. No new large-file or prolonged stress run was performed for v0.17.13. Existing analysis and cache limitations remain.
Ниже сохранены исходные журналы локальных этапов. Их формулировки о непубликации, dirty-сборках, прежних проверках и замерах относятся к соответствующему этапу, а не к текущей поставке. GPU-исследование сохранено в истории исходников и не входит в действующий EXE.
The original local milestone notes below retain their historical statements about unpublished tags, dirty builds, prior validation and measurements. Those statements describe their respective milestones rather than this distribution. The GPU investigation remains in source history and is absent from the current executable.
v0.17.13
Русский
Добавлено открытие выбранного участка временной записи до полной загрузки файла.
- На начальном экране появилась кнопка «Открыть участок…», а в меню «Файл» —
команда «Открыть участок записи…». Оба входа используют один диалог. - После выбора LVM/TXT/CSV пользователь задаёт начало и конец в секундах,
затем нажимает «Загрузить». Отмена диалога не открывает новый документ. - Окно задаётся по исходной нормализованной временной шкале записи. Документ
содержит реальные отсчёты внутри окна, без обнуления времени и интерполяции;
фактические границы показаны в заголовке. Нужно минимум два отсчёта и канал. - Источник документа, график, FFT/FRF по умолчанию и экспорт ограничены
фрагментом. Переход между RAM и дисковым чтением сохраняет его границы. - Индекс фрагмента не записывается вместо полного индекса файла. Последующее
обычное открытие возвращает полную запись; перетаскивание не меняет поведения. - Обновлены быстрый старт RU/EN и контракт источника. Добавлена GUI-регрессия
реальных значений, границ анализа, дискового режима и повторного полного открытия.
Ограничения: режим предназначен для временных записей, не готовых спектров.
Без индекса текст до участка читается последовательно; быстрый переход по
смещению не гарантируется. Фильтр начинает состояние с начала фрагмента,
поэтому его начальные значения могут отличаться от обработки полного файла.
Большие записи и длительный стресс в рамках этой задачи не проверялись.
Проверки: сборки GUI и CLI, полный набор ядра — 1413 проверок без ошибок,
GUI — 7319 проверок; git diff --check без ошибок. Тестовые EXE пересобраны.
Локальный тег исходников. Публикация GitHub Release и отправка в удалённый
репозиторий не выполнялись; ранее собранный EXE содержит обозначение dirty.
English
Selected intervals of time recordings can now be opened before loading the full file.
- Added “Open interval…” on the start screen and “Open recording interval…”
in the File menu, both using the same dialog. - After selecting LVM/TXT/CSV, enter start and end times in seconds and click
Load. Cancelling the dialog does not open a new document. - Times use the recording's normalized source timeline. The document contains
original samples within the window without interpolation or resetting time;
its title shows actual sample bounds. At least two samples and a channel are required. - The document source, graph, default FFT/FRF and export are bounded by the
fragment. RAM-to-disk transitions preserve these bounds. - Fragment discovery does not overwrite the full-file scan index. Subsequent
ordinary opening restores the complete recording; drag and drop is unchanged. - Updated both quick starts and the source contract. Added GUI regression checks
for sample values, analysis bounds, disk reads and subsequent full-file opening.
Limitations: this mode supports time recordings, not stored spectra. Without an
index, preceding text is read sequentially; fast seeking is not guaranteed.
Filter state starts at the fragment beginning, so initial results can differ
from processing the complete recording. Large-file and prolonged stress testing
were not performed for this change.
Validation: GUI and CLI builds, the full core suite (1413 checks, no failures),
7319 GUI checks, and a clean git diff --check. Test executables were rebuilt.
Local source tag only. No GitHub Release publication or remote push was performed;
the previously built executable carries a dirty version label.
v0.17.12 — адаптивное использование RAM / adaptive RAM use
Русский
Auto больше не ограничивает удержание исходника фиксированной третью доступного
бюджета. Массивы растут по фактической потребности с проверкой свободных RAM/commit
перед расширением, учётом старого буфера в пике и отдельным резервом подготовки.
Исправлено ошибочное отбрасывание данных на блоке, которому не требуется рост.
Ручной бюджет сохраняет загрузочную долю и системную защиту.
Резервирование различает уже выделенные массивы и будущие выделения: свежий
снимок OS не вычитает резидентные кэши дважды. Счётчики освобождаются после
последнего владельца, включая отменённые задания. Отказ выделения при подготовке
обычной записи допускает продолжение через файловый источник.
Перед расчётом освобождаются необязательные кэши, затем исходники неактивных
и активного документов по необходимости. Перевод на диск не меняет численную
ревизию и не объявляет освобождёнными массивы, удерживаемые живым снимком.
Обратная загрузка целого исходника возможна при повторном открытии, что исключает
переключение RAM/диск на каждом пересечении порога.
FFT/АЧХ оценивают выбранное N по полному timeline или индексу, а не seed из двух
строк. Потоковый анализ разделяет владение RAM-источником и не перечитывает файл,
пока исходные массивы доступны. Подготовка АЧХ оставляет место рабочим массивам
оценивателя; численная методика FFT/H1/Direct не изменена.
Проверки: сборки CLI/GUI; 31 проверка бюджета, 171 ресурсов анализа и 296 АЧХ;
7302 GUI-утверждения. На записи ровно 10 000 000 000 байт (47 390 720 отсчётов,
8 каналов) проверены удержание в RAM, полный FFT, H1, повторный H1 и перевод
на файловый источник при бюджете 128 MiB. Частоты и амплитуды FFT выбранного
участка после перевода совпали точно. Проверка перехода повторена после
исправления стенда: первоначально он сравнивал внутренние контейнеры вместо
числовых значений разных способов хранения результата.
Одиночные наблюдения до присвоения тега: открытие 37,3 с, полный FFT 33,0 с,
H1 13,7 с, пик рабочего набора 11,6 GiB. Это не медианы и не доказательство
общего ускорения относительно другой версии. Длительного стресс-теста,
полного core-прогона и испытаний свыше 10 GB не было. Существующая проверочная
сборка имеет маркировку v0.17.11-dirty; тег относится к исходникам. Публикация,
отправка в remote и новый релизный комплект не выполнялись.
English
Auto replaces the fixed one-third source-retention share with incre...
v0.17.7
Скачать EXE / Download EXE · SHA-256
Русский
- Меню и стрелки подменю следуют теме; флажки ролей АЧХ выровнены.
- Прицел точек меняет контраст с темой; размер по умолчанию — 21 px.
- Фигуры различают кривые для Ч/Б-печати; линии и легенда остаются сплошными.
- Обновлены описания и иллюстрации RU/EN.
EXE без цифровой подписи. Новых замеров производительности нет.
English
- Theme-aware popup menus and submenu arrows; centered FRF role checkmarks.
- Point cursor contrast follows the theme; default size is 21 px.
- Grayscale symbols identify curves; paths and legend samples remain solid.
- Updated RU/EN descriptions and illustrations.
Executables are unsigned. No new performance measurements.
Полный журнал и ограничения / Full changelog and limitations
AMSignal v0.17.7 — 2026-10-17
Русский
Выпуск улучшает меню, прицел точек и представление кривых для Ч/Б-печати. Включены сохранённые после v0.17.6 изменения интерфейса, тестов и документации.
Изменения
- Фон всплывающего меню направляющих соответствует активной теме. Системная стрелка подменю больше не перекрывает тематическую.
- Флажки выбора ролей АЧХ имеют размер 16 px и выровнены по центру строки.
- Прицел размещения точек меняет контраст при переключении темы. Размер по умолчанию, сброс и запасное значение — 21 px; допустимый сохранённый пользовательский размер сохраняется.
- В режиме различения кривых для Ч/Б-печати используются фигуры; линии графика и образцы легенды остаются сплошными.
- Обновлены описания возможностей RU/EN, контракт отрисовки и четыре изображения печатного представления с описанием их получения.
- Дополнены GUI-регрессии. Сокращены повторяющиеся проверки сочетаний клавиш и перетаскивания ползунка. Фильтровая часть потокового FRF использует меньший вход; большой вход проверки внешней сортировки сохранён. Число утверждений не является числом независимых сценариев.
- Рабочие инструкции агента согласованы с текущей структурой документации.
Распространение
GUI и CLI собираются из чистого коммита с тегом v0.17.7. Локальный пакет включает GUI, CLI, запускатели, README и GPLv3 LICENSE.
На GitHub публикуются только AMSignal-0.17.7-x64.exe и SHA256SUMS.txt с хэшем этого EXE. Исходники доступны через тег и архивы GitHub Source code. Старые теги и вложения сохраняются. Лицензия — GNU GPLv3.
EXE без цифровой подписи. Новых бенчмарков, испытаний больших записей и гарантий ускорения нет. Область испытаний остаётся до 10 000 000 000 байт включительно; это не программный предел открытия файлов. Прежние ограничения RAM, дискового пути и анализа сохраняются.
English
This release improves menus, the point-placement cursor and grayscale curve presentation. It includes the interface, test and documentation changes committed after v0.17.6.
Changes
- The guide-line popup background follows the active theme. The native submenu arrow no longer overlaps the themed arrow.
- FRF role checkmarks are 16 px and vertically centered in their rows.
- The point-placement cursor changes contrast with the theme. Its default, reset and fallback size is 21 px; valid saved user sizes are retained.
- Grayscale curve identification uses symbols while graph paths and legend samples remain solid.
- Updated RU/EN feature descriptions, the rendering contract and four print-view images with capture provenance.
- Extended GUI regression coverage. Reduced repeated shortcut and slider-drag assertions. The streaming FRF filter fixture is smaller; the external-sort test retains its large input. Assertion counts are not counts of independent scenarios.
- Agent instructions now match the current documentation structure.
Distribution
GUI and CLI are built from a clean commit tagged v0.17.7. The local package contains GUI, CLI, launchers, README files and the GPLv3 LICENSE.
GitHub assets contain only AMSignal-0.17.7-x64.exe and SHA256SUMS.txt for that executable. Sources are available through the tag and GitHub Source code archives. Existing tags and assets are retained. License: GNU GPLv3.
Executables are unsigned. No new benchmarks, large-recording tests or speedup guarantees are claimed. Current test scope remains up to 10,000,000,000 bytes inclusive; this is not a hard file-opening limit. Existing RAM, disk-backed processing and analysis limitations remain.
v0.17.6
Скачать EXE / Download EXE · SHA-256
Русский
- Новая главная: Сигнал, Спектр, АЧХ и пример измерений.
- Полная документация RU/EN с иллюстрациями, переносом окружения и условиями замеров скорости.
- Изображения без курсора; синтетический пример АЧХ с двумя опорами и двумя откликами.
- Обновлённое оформление GitHub и формы обратной связи.
Это документационный выпуск. Исходники приложения и тестов сохранены от v0.17.5; GUI пересобран с версией 0.17.6. Отдельные незавершённые локальные правки интерфейса не включены. EXE без цифровой подписи.
English
- Refreshed main page with Signal, Spectrum, FRF and measurement examples.
- Matching RU/EN documentation with illustrations, portability guidance and benchmark conditions.
- Cursor-free images and a synthetic FRF example with two references and two responses.
- Refreshed GitHub presentation and feedback forms.
This is a documentation release. Application and test sources remain those of v0.17.5; the GUI is rebuilt as 0.17.6. Separate unfinished local interface edits are excluded. Executables are unsigned.
Полный журнал, проверки и ограничения / Full changelog, validation and limitations
AMSignal v0.17.6 — 2026-10-17
Русский
Документационный выпуск: обновлены главная страница, пользовательские инструкции и оформление проекта на GitHub. Исходники приложения, численного ядра и тестов не изменены относительно v0.17.5. GUI и CLI пересобраны из чистого помеченного коммита с версией 0.17.6.
Главная страница и инструкции
- Главная страница показывает три режима: Сигнал, Спектр и АЧХ. Отдельно представлен пример измерительной разметки и кратко описаны отличия программы.
- Пользовательские страницы RU/EN имеют одинаковое содержание: быстрый старт, возможности, анализ и ограничения, галерея, перенос окружения, сборка/CLI и полное руководство.
- Добавлены пояснения фильтров, точек, маркеров, направляющих, участка анализа, фигур для Ч/Б, PNG, имён каналов, множителей и общей формулы.
- Описан перенос EXE, AMS.ini и проектов AMSig. Проект содержит исходные отсчёты; роли FRF, метод и L дополнительно сохраняются в CSV или протоколе опыта.
- Страница производительности использует сохранённые замеры v0.17.3 с исходными условиями; они не обозначаются как новое испытание v0.17.6.
- Технические справочники и история отделены от пользовательских инструкций. Старое руководство сохранено как историческое.
Изображения и демонстрационная запись
- Обновлена выбранная пользователем обложка.
- Изображения интерфейса получены нативной отрисовкой приложения без указателя мыши; PNG графиков сохранены штатным экспортом. Кривые не ретушировались и не генерировались ИИ.
- Синтетическая запись: 32 768 отсчётов при 1024 Гц, две опоры и два отклика, широкополосное возбуждение и 12 тонов. Генератор включён в исходники.
- Пример АЧХ показывает два отклика относительно арифметического среднего двух опор. H1/Welch: L=2048, K=31, Hann, перекрытие 50%, шаг 0,5 Гц. Это общая усреднённая опора, не MIMO-отождествление независимых входов.
- Пример измерений содержит три точки, маркер и вертикальную/горизонтальную направляющие. Отдельные кадры показывают фильтр, участок, обработку каналов и фигуры для Ч/Б.
Оформление GitHub
- Обновлены описание и темы репозитория, добавлены ссылки на документацию.
- Формы сообщений об ошибках и предложениях используют пояснения RU/EN; для ошибки запрашивается версия и параметры анализа.
- Заголовки выбранных исторических страниц совпадают с исходными тегами; полные прежние журналы сохранены, сверху добавлены скачивание и короткие резюме RU/EN.
- Старые теги и вложения не заменяются. Изменения интерфейса и тестов из другой локальной работы в выпуск не включены.
Проверки и распространение
Выпуск публикуется после штатных сборок CLI/GUI, полного прогона core/GUI-регрессий, проверки версии обоих EXE, хэшей и чистоты помеченного checkout. Проверяются локальные ссылки, согласованность RU/EN, изображения, их параметры и отображение главной/страницы возможностей на обычной и мобильной ширине.
На GitHub распространяются GUI EXE и SHA256SUMS.txt с контрольной суммой этого EXE. CLI не публикуется отдельным вложением; его можно собрать из исходников. Исходники соответствуют тегу v0.17.6 и доступны через GitHub Source code. Лицензия — GNU GPLv3.
EXE не подписаны. Новых бенчмарков больших файлов, испытаний 20 GB или новых гарантий производительности нет. Текущая область испытаний — до 10 000 000 000 байт включительно; это не жёсткий программный предел открытия. Прежние ограничения по RAM, дисковому пути и анализу сохраняются.
English
Documentation release: refreshed the main page, user guides and GitHub presentation. Application, numerical-core and test sources are unchanged from v0.17.5. GUI and CLI are rebuilt from a clean tagged commit with version 0.17.6.
Main page and documentation
- The main page presents Signal, Spectrum and FRF together, with a separate measurement-annotation example and a concise explanation of the application's strengths.
- Matching RU/EN user pages cover quick start, features, analysis and limitations, gallery, portability, build/CLI and the full manual.
- Instructions explain filters, points, markers, guide lines, analysis intervals, grayscale curve symbols, PNG export, channel names, multipliers and the global formula.
- Portability guidance covers the EXE, AMS.ini and AMSig projects. Projects contain source samples; FRF roles, method and L must also be recorded in CSV or experiment notes.
- The performance page uses recorded v0.17.3 measurements with their original conditions; these are not presented as a new v0.17.6 benchmark.
- Technical references and historical material are separated from user guides. The earlier manual is retained as history.
Images and demonstration recording
- Updated the user-selected cover.
- Interface images use native application rendering without a mouse pointer; graph PNGs use the production exporter. Curves are neither retouched nor AI-generated.
- Synthetic recording: 32,768 samples at 1024 Hz, two references, two responses, broadband excitation and 12 tones. The generator is included in the sources.
- The FRF example shows two responses against the arithmetic sample mean of two references. H1/Welch: L=2048, K=31, Hann, 50% overlap and 0.5 Hz spacing. This is an averaged shared reference, not independent multiple-input MIMO identification.
- Measurement images contain three points, a marker and vertical/horizontal guides. Other scenes illustrate filtering, interval selection, channel processing and grayscale curve symbols.
GitHub presentation
- Refreshed repository description, topics and documentation links.
- Issue and feature forms include RU/EN guidance; bug reports request the version and relevant analysis settings.
- Selected historical release titles match their original tags; full previous notes are retained below download links and short RU/EN summaries.
- Existing tags and assets are retained. Interface and test changes from separate local work are excluded.
Validation and distribution
Publication follows standard CLI/GUI builds, the full core/GUI regression suites, executable-version and hash verification, and clean tagged-checkout checks. Validation covers local links, matching RU/EN structure, images and scene parameters, and desktop/mobile presentation of the main and features pages.
GitHub downloads contain the GUI EXE and SHA256SUMS.txt for that EXE. CLI is not a separate attachment and can be built from source. Corresponding sources are available from tag v0.17.6 through GitHub Source code. License: GNU GPLv3.
Executables are unsigned. There are no new large-file benchmarks, 20 GB tests or performance guarantees. Current test scope is up to 10,000,000,000 bytes inclusive; this is not a hard file-opening limit. Existing RAM, disk-backed processing and analysis limitations remain.
v0.17.5
Скачать EXE / Download EXE · SHA-256
Русский
- Удобнее правая панель: единый видимый диапазон в «Каналах», исправленные перекрытия и прокрутка.
- Точнее выбор участка: подвижные границы с магнитом к исходным отсчётам, preview и Undo/Redo.
- Больше удобства в разметке: карточки маркеров, размеры прицела и единый диалог точной линии.
- Исправлены ползунки фильтра: без исчезновения дорожки и синих следов при резком движении.
- Приоритет FFT/АЧХ: ненужный фоновый обзор отменяется и возобновляется при возврате к сигналу.
Клавиши режимов: S — Сигнал · F — FFT · R — АЧХ. Включены все изменения после v0.17.2.
EXE без цифровой подписи. Ранее отмеченные затраты RAM и прочие отличия производительности не объявляются устранёнными.
English
- Cleaner side panel: shared visible-range controls in Channels, fixed overlaps and scrolling.
- Precise analysis selection: draggable bounds with original-sample snapping, preview and Undo/Redo.
- Better annotations: marker cards, selectable crosshair sizes and one exact-line dialog.
- Reliable filter sliders: fixed disappearing tracks and blue remnants during abrupt drags.
- FFT/FRF priority: unnecessary overview work is cancelled and resumes when returning to Signal.
Mode shortcuts: S — Signal · F — FFT · R — FRF. Includes every change since v0.17.2.
Executables are unsigned. Previously recorded RAM costs and other performance differences are not claimed fixed.
Полный журнал, проверки и ограничения / Full changelog, validation and limitations
Русский
Выпуск Windows x64 объединяет все изменения после последнего опубликованного
v0.17.2: локальные выпуски v0.17.3, v0.17.4 и v0.17.5. Основные изменения —
управление графиками, правая панель, выделенный участок анализа, фильтр и
приоритет FFT/АЧХ перед ненужным фоновым обзором. Методики FFT, H1/Welch и
coherence, исходные отсчёты и полные длины N/L сохраняются.
Правая панель и видимый диапазон
- Общий блок «Видимый диапазон» расположен снизу вкладки «Каналы» в
Сигнале, FFT и АЧХ. Поля «От» / «До», кнопка «Показать диапазон» и Enter
задают исходное время в секундах либо частоты в герцах. В «Точках» и
«Фильтре» блок скрыт; внизу «Точек» нет пустого места и лишней прокрутки. - Видимый диапазон меняет только просмотр: участок анализа, готовые расчёты
и история разметки сохраняются. Проверяются конечность, порядок и допустимые
границы; поля FFT/АЧХ отключаются до результата и на время вычисления. - Исправлены перекрытия названий каналов, коэффициентов, формул и полей.
Общий layout согласует геометрию, видимость и прокрутку после смены режима,
вкладки и обновления настроек; старые рамки и подписи не остаются на фоне. - Старые отдельные поля диапазона АЧХ удалены. Настройки и общий диапазон
прокручиваются вместе и не перекрывают вкладки в небольшом окне.
Если роли опор/откликов не заполнены, открытие АЧХ раскрывает «Каналы».
Убраны лишняя подсказка и пустая строка параметров ещё не рассчитанной АЧХ.
Участок анализа и навигация
- Рабочая область сохраняет исходные цвета кривых, сетки и фона. Исключённые
области отмечены нейтральной диагональной штриховкой и лёгким затемнением.
Границы контрастны, имеют увеличенные ручки сверху/снизу и подсветку наведения. - Границы можно перетаскивать без Shift, в том числе в режиме точек и при
замке разметки. Движение даёт preview, отпускание — одну запись Undo/Redo.
Escape, ПКМ, потеря capture и смена документа отменяют незавершённый жест.
Явно выбранный инструмент линии/маркера сохраняет приоритет. - Магнит привязывает границу к ближайшему по X/Y исходному отсчёту видимой
обработанной кривой. В дисковом режиме используется отменяемый асинхронный
поиск исходного значения; обзорный экстремум не подменяет отсчёт.
Учитываются скрытые каналы и склейка времени; отменённый ответ не применяется. - Над графиком показаны начало, конец и длительность участка, включая preview
и границы вне экрана. При скрытии разрывов явно указано исходное время. - Исправлены Shift+колесо и горизонтальное колесо для обычной/склеенной оси
и АЧХ. В режиме точек нижний график средней опоры АЧХ снова поддерживает
панорамирование и масштабирование по высоте без постановки лишней точки.
Разметка и инструменты
- Магнит вынесен в общую кнопку для точек, линий и маркеров. Группы
«Курсор / Точки», «Маркер / Линия», «Магнит / Замок» визуально разделены. - Прицел имеет тонкие линии и заметный центр; в настройках доступны размеры
17/21/25/31/41/49/63 px, по умолчанию 31 px. Выбор сохраняется в INI. - После постановки, выбора или наведения текущий маркер показывает компактную
карточку t/Y, f/A или f/|H| с единицами. Она остаётся внутри графика,
скрывается крестиком или через «Вид → Значения маркеров» и использует
сохранённые координаты без повторного чтения записи. - Горизонтальная и вертикальная линии маркера остаются видны независимо,
пока соответствующая координата находится в пределах графика. - Точная вертикальная/горизонтальная линия задаётся одним тематическим
диалогом «Задать линию (точно)» с проверкой числового значения. - «Скрывать разрывы времени» относится к оси документа, а «Отмечать разрывы
времени» — к общей настройке приложения. Показ маркеров разрывов одинаков
для всех файлов, хранится в INI и не подменяется старым проектом.
Фильтр и память
- Ползунки обеих частот оформлены для светлой/тёмной темы. Исправлены пропажа
дорожки/бегунка и синие следы при резком движении с удержанием мыши.
Полный буферизованный кадр обновляется на каждом событии движения. - При пересечении границ сохраняется редактируемая частота, вторая подстраивается.
Обе позиции и подписи согласованы; preview не применяет фильтр и не создаёт
Undo, отпускание создаёт одну запись истории. - RAM и дисковый кэш настраиваются отдельно. Автоматический RAM-бюджет
учитывает свободную RAM/commit и резерв системы, ручной — 64–65536 MiB.
Это бюджет данных и расчётов, а не предел памяти всего процесса. - Дисковая квота: 64–1048576 MiB, по умолчанию 2048 MiB, либо без ограничения
объёма; предел 256 записей сохраняется. Активные lease защищены от удаления,
уменьшение квоты ниже занятого ими размера отклоняется. Исходные записи и
отдельные временные FFT/FRF workspace этой квотой не ограничиваются.
Горячие клавиши
Основные режимы: S — Сигнал, F — FFT, R — АЧХ. Старые стандартные T и
Ctrl+R мигрируют только при свободных S/R. Пользовательские назначения и
явно снятые сочетания сохраняются; конфликты новых стандартных клавиш не
перезаписывают существующие назначения. Все команды доступны в настройках и F1.
| Команда | По умолчанию |
|---|---|
| Курсор / навигация | N |
| Магнит / замок разметки | G / L |
| Точная линия | Shift+L |
| Правая панель | B |
| Каналы / Точки / Фильтр | Ctrl+1 / Ctrl+2 / Ctrl+3 |
| Фильтр / скрытие разрывов времени | Shift+F / Shift+G |
| Значения маркеров / легенда / фигуры кривых | Shift+M / Ctrl+Shift+L / Shift+C |
| Участок анализа / видимый участок / вся запись | Ctrl+I / Ctrl+Shift+I / Ctrl+Alt+I |
Команды вкладок раскрывают панель. Команды фильтра/разрывов работают через
акселераторы; ввод в текстовых полях защищён от команд графика.
Приоритет FFT/АЧХ и очистка
- Переход из Сигнала в FFT/АЧХ кооперативно отменяет ненужный фоновый обзор
перед анализом. Нет ожидания потока в UI; готовые index/view, исходник и
рабочий поток сохраняются. Поздние отменённые результаты отбрасываются. - При возврате в Сигнал отменённое уточнение плотности/каналов запрашивается
заново. Полностью готовый совпадающий вид переиспользуется. Численная ревизия,
участок анализа и Undo не меняются; анализ получает полные исходные данные. - Удалены 20 подтверждённо неиспользуемых элементов: четыре функции, 13 полей
и три таймера, чистое сокращение — 76 строк производственного C++.
Номера команд, тестовые API и поведение старых обработчиков сохранены.
Проверки и измерения
- 1357 проверок ядра и 8654 GUI-проверки прошли. Из чистого тега v0.17.5
выполнены полные штатные сборки CLI/GUI и GUI-регрессия; проверены версии
ресурсов обеих программ, CLI-чтение/FFT/CSV и SHA-256. - Все 28 групп полных FFT/H1 совпали с frozen-эталоном в Auto и Manual
64 MiB: raw/processed, фильтр, выбранный участок и возврат к raw.
При очистке все 11 контрольных PNG совпали побайтово по SHA-256. - Контрольная пара на 58 185 676 байт, N=337132, восемь каналов источника,
FFT одного канала, Manual 64 MiB и незавершённый обзор: первый FFT
8.3187 → 1.9168 с, повторный 2.2120 → 1.9221 с. Полные результаты
совпали. Это отдельные запуски, не медианы и не универсальное ускорение. - Узкий аудит rc.3/v0.17.4 локализовал прежние +52% первого FFT в конкуренции
с фоновым чтением обзора; это не доказанная регрессия математического ядра. - Сохранённая широкая серия rc.3/v0.17.2/v0.17.3: 46 API-сценариев, 2484
вызова, 27 процессов GUI-анализа и 54 процесса навигации; совпали 92 группы
отпечатков. Пять открытий 10 GB — единичные наблюдения, без медиан.
Эти результаты относятся к прежним версиям, новой широкой серии v0.17.5 нет.
Известные ограничения и поставка
- Ранее зафиксированный рост Peak WS и остальные отличия производительности
v0.17.2 не объявляются устранёнными. Бюджет данных не ограничивает весь процесс.
Disk-фильтрация может требовать прогрева префикса, FFT — scratch и времени;
большой Direct/Auto L может вернуть ResourceLimit без уменьшения N/L.
CLI загружает исходную запись в RAM. - Нового полного анализа 10 GB, проверки физического ПК с 8 GiB и сравнения
FAMOS нет. Текущая область испытаний — до 10 000 000 000 байт включительно;
новые 20 GB испытания исключены. Это область проверки, не предел открытия. - EXE этого выпуска не подписаны. Предупреждени...
v0.17.2
Скачать EXE / Download EXE · SHA-256
Русский
- Быстрее первое открытие: метаданные и индекс строятся за один полный проход.
- Быстрее повторная обработка: готовые каналы и состояния фильтра переиспользуются без лишних полных копий.
- Плавнее навигация: крупный фильтрованный график готовится в фоне; готовый вид остаётся доступным.
- Исправлены инструменты: Shift-выделение, таймлайн воспроизведения, курсор точек и сочетания меню.
- Надёжнее работа с данными: исправлены точные временные границы, согласованы версии GUI/CLI и подготовлена инфраструктура подписи.
Включены все изменения после v0.17.0-rc.3, в том числе локальная v0.17.1. Методики FFT/H1 и полные данные анализа сохранены.
EXE без цифровой подписи. Удержание обработанных каналов увеличивает расход RAM; при Manual 64 MiB зафиксированы отдельные замедления. Подробности и условия замеров — ниже.
English
- Faster cold opening: metadata discovery and indexing share one complete pass.
- Faster repeated processing: prepared columns and filter states are reused without redundant full copies.
- Smoother navigation: large filtered views prepare in the background while a ready view remains available.
- Interaction fixes: Shift selection, playback timeline, point cursor and menu shortcuts.
- More reliable data handling: exact time bounds, matching GUI/CLI versions and signing infrastructure.
Includes every change since v0.17.0-rc.3, including local v0.17.1. FFT/H1 methods and complete analysis input are preserved.
Executables are unsigned. Retained processed columns increase RAM use; some Manual 64 MiB disk cases are slower. Details and measurement conditions are below.
Полный журнал, проверки и ограничения / Full changelog, validation and limitations
Русский
Выпуск Windows x64 объединяет все изменения после последнего опубликованного
v0.17.0-rc.3, включая локальный тег v0.17.1 и последующие исправления открытия,
фильтра и навигации. Тег v0.17.1 не перемещается. Методика FFT, H1/Welch и
coherence, исходные отсчёты, длины N/L и область анализа сохраняются.
Открытие и подготовка графика
- При первом открытии metadata discovery и checkpoint ScanIndex выполняются
одним полным проходом parser вместо двух. При готовом индексе сохраняется
discovery всей записи: поздние каналы и точное число отсчётов не теряются.
Ошибка, отмена или изменение файла не публикуют незавершённый индекс. - Сохраняются точные временные границы, секции/X0, сбросы времени, комментарии,
названия каналов и checkpoint. Раздельно учитываются чтение metadata,
подготовка данных и поиск/сохранение индекса; это не ускорение самого FFT. - Полный проверенный шаг временной оси отделён от GUI-шага фильтра. Обзор может
повторно использовать готовый Cadence без лишней сортировки/прохода. При
отсутствии гарантии остаётся прежнее точное определение шага. - RAM-источник строит допущенное дерево min/max непосредственно по исходной
временной оси. Хранятся узлы и якоря склейки, без полной копии времени или
обязательной записи этого обзора на диск. Квота дерева — min(128 MiB, budget/8).
Нехватка допуска или неподдерживаемый источник сохраняют дисковый AMSOIDX2. - Ускорены сбор экстремумов по непрерывным колонкам, чтение RAM-блоков до
65536 строк и поиск разрывов по принадлежащей источнику точной RAM-оси.
Первый равный экстремум, порядок, signed zero, finite_count и края сохранены.
Фильтр, память и численные данные
- Крупный фильтрованный Signal готовится в OverviewWorker; paint/zoom не
запускают повторную полную фильтрацию. Показаны уведомление и ход подготовки;
до уточнения остаётся предыдущая совместимая готовая проекция. - Исходные массивы передаются immutable RecordingSource без полной копии.
Две seed-строки Dataset служат совместимости, FFT/FRF используют полный вход.
Наличие исходного файла отделено от нахождения оригиналов в RAM. - Допущенные обработанные каналы удерживаются в min(512 MiB, budget/4), без
второй временной оси. Фильтр работает непосредственно в конечных массивах
через process_in_place, сохраняя арифметику, коэффициенты и причинные состояния. - Независимые каналы используют общий analysis_executor вместе с FFT/FRF.
Занятый executor, небольшая работа и дисковый источник сохраняют
последовательный путь; дополнительного конкурирующего пула нет. - RAII учитывает переданные оригиналы и новые кэши один раз. Активные snapshot
удерживают данные и допуск после trim/удаления descriptor. preparing/epoch
исключают публикацию частичного результата и возвращение вытесненного кэша.
Перед демоцией оригиналов освобождается idle обработанный кэш. - FSTATE01 сохраняет точные biquad/prev_time/have_segment между процессами:
до 512 продолжений и 2 MiB на рецепт, общий дисковый LRU 2 GiB/256 элементов.
Проверяются файл, диапазон, физические каналы, формулы, фильтр, Fs, checksum
и длины. Повреждение необязательного кэша вызывает точный прогрев префикса;
отмена и изменение файла остаются ошибками. Оформление не меняет численный вход. - Гарантии неизменности времени для processed-источника задаются явно.
Разрывы, NaN/Inf, порядок накопления и спектр средней опоры не заменяются
визуальной огибающей; готовые H1/coherence блоков не усредняются. - Исправлено открытие test1 с первым временем -6.9388939039072284e-18:
численные границы больше не округляются к нулю. Устранён отказ полного
фильтрованного обзора; старые ScanIndex автоматически перестраиваются.
Интерфейс и управление
- В окне Spectrum исправлен обрезанный текст вычисления/ошибки: восстановлено
выравнивание GDI после осей. Обзорные линии рисуются пакетами. - Постановка точек/маркеров/линий использует компактный прицел 17×17 с чёрной
сердцевиной, белой обводкой и центральным hotspot; handle освобождается. - Shift-выделение участка работает в режиме точек и при блокировке разметки.
Явно вооружённые инструменты сохраняют прежний приоритет. - Таймлайн воспроизведения можно выбирать, перетаскивать, удалять/скрывать
через Escape, ПКМ или меню. Исправлены повтор после EOF, пауза/продолжение,
отмена и потеря capture. Транспорт не меняет численную область FFT/FRF. - «Склеивать участки записи» перенесено из общих настроек в «Каналы» каждого
документа. Проекты сохраняют локальное значение, старый глобальный INI-ключ
удаляется при сохранении. Склейка не меняет исходные времена и numerical_revision. - Исправлена обрезанная команда Ctrl+Shift+S: сочетания измеряются текущим
шрифтом. «Анализ → Участок анализа» использует общие тематические поля/кнопки,
измеренные подписи и двухстрочную компоновку.
Очистка, документация и подпись
- Удалены невызываемые SpectrumWorker submit_source/Prepare, всегда истинная
проверка overview, недостижимое предупреждение склейки, неиспользуемые
export/text helpers и поля переводов. Действующие CLI/callback/reader API сохранены. - Обновлены карта архитектуры, правила разработки, CHANGELOG и README.
Внешние устаревшие отчёты архивированы; сравнения сведены в один итоговый
документ с сохранением принадлежности каждого замера конкретному снимку.
Частные стенды и реальные записи не входят в Git или пакет. - GUI/CLI имеют согласованные VERSIONINFO. Подготовлены бесплатный workflow
SignPath, проверка сертификата/timestamp и упаковка после подписи; заявка
Foundation отправлена с разрешения владельца. Одобрение ещё ожидается.
EXE этого выпуска не подписаны. Предупреждение Windows/Edge возможно.
Старые releases и теги не заменяются; будущая подписанная поставка требует
отдельного одобрения и проверки сервиса.
Измерения и проверки
База таблицы — чистая v0.17.1, после — исходники нынешнего выпуска до добавления
версии. Ryzen 5 5600X, 32 GiB, Windows, GCC 14.2, профиль Power Saver;
реальный test2: 1 024 104 009 байт, N=6 832 000, восемь каналов.
Три пары процессов, медианы; загрузка не включена в FFT/FRF.
| Действие | v0.17.1 | Новые исходники |
|---|---|---|
| Первое открытие, новый частный кэш | 44,5460 с | 33,4981 с |
| Полный raw FFT одного канала | 2,8023 с | 2,8355 с |
| Первый raw H1, семь откликов, L=2048 | 1,7976 с | 1,7980 с |
| Готовность фильтра после предыдущего анализа | 4,0620 с | 0,3475 с |
| Первый processed FFT | 4,0623 с | 3,3617 с |
| Повтор processed FFT | 4,3191 с | 3,4220 с |
| Первый processed H1 | 3,7067 с | 2,2176 с |
| Peak WS всей цепочки FFT/FRF/фильтра | 2116,80 MiB | 2545,93 MiB |
- 46 численных сценариев, три пары, 1656 вызовов: N=4096/4093/337132,
один/семь каналов или откликов, mean on/off, Auto, L=2048/2050, Direct.
Fingerprints полных потоков результатов/масок/основных метаданных совпали.
Это контроль потоков, не отдельное измерение максимальной погрешности. - Для всех 54 656 000 фильтрованных значений real test2 проверено точное
совпадение с frozen-контролем (конечные/Inf побитово, NaN по статусу).
Проверены test1, все 16 сочетаний семейства/режима фильтра, разные границы
блоков, разрывы/NaN/Inf/переполнение, отмена, trim, владение и занятый executor. - Семь пар Zoom+PNG на 58,19 MB не показали ухудшения; конечные пиксели совпали.
Начальные +14% в двух численных случаях и короткие GUI-задержки не
воспроизвелись в дополнительных контролях. Универсальное ускорение не заявляется. - Последние регрессии: 1357 проверок ядра и 1036 GUI без ошибок; штатные
CLI/GUI-сборки выполняются из чистого нового тега перед упаковкой.
Исходники тестов входят в репозиторий. Инфраструктура подписи ранее прошла
25 проверок; положительная проверка реальной подписи ожидает доступа к сервису.
Известные ограничения
- Удержание обработанных каналов ускоряет повторную работу ценой RAM: в полной
цепочке Peak WS вырос примерно на 429 MiB. Бюджет «Данные + расчёты» не
является пределом памяти всего процесса. Малый бюджет выбирае...
v0.17.0-rc.3
Скачать EXE / Download EXE · SHA-256
Русский
- Адаптивная память: RAM или дисковое чтение выбираются по доступным ресурсам, а не только размеру файла.
- Чёткий плотный график: исправлены прерывистые линии и чрезмерно широкие маркеры разрывов.
- Удобнее масштабирование: готовый график сохраняется на время уточнения; недавно просмотренные диапазоны кешируются.
- Склейка времени для дискового источника: согласованы просмотр, навигация и магнит к исходным отсчётам.
- Быстрее повторный H1: переиспользуется подготовленный вход; усилены проверки отмены, бюджета и изменения файла.
Предварительный выпуск. Сохраняются полные N/L, исходные данные и общая область анализа FFT/АЧХ.
Дисковый анализ требует свободного временного диска и времени. Бюджет данных не ограничивает всю память процесса; физический ПК с 8 GiB не проверялся.
English
- Adaptive memory: available resources determine RAM or disk access, rather than file size alone.
- Clear dense plots: fixed broken-looking lines and excessively wide gap markers.
- Smoother zooming: the ready plot stays visible during refinement; recent viewports are cached.
- Disk-source time stitching: viewing, navigation and original-sample snapping share a consistent axis.
- Faster repeated H1: prepared input is reused, with stronger cancellation, budget and source-change checks.
Pre-release. Complete N/L, original data and the shared FFT/FRF analysis interval are preserved.
Disk analysis needs temporary storage and time. Data admission is not a process-wide memory cap; physical 8 GiB hardware was not tested.
Полный журнал, проверки и ограничения / Full changelog, validation and limitations
Русский
Предварительный выпуск от 14 октября 2026 года. Включает все изменения после
v0.17.0-rc.2: исправления графика и настроек, адаптацию под доступные RAM/commit
и процессор, ускорение повторного FRF и защиту крайних случаев. При достаточной
памяти программа использует RAM; при недостатке открывает полный источник и
читает блоками. Размер файла сам по себе больше не принуждает к дисковому пути.
Общая область «Вся запись / Участок / Взять видимый участок» сохраняется.
Просмотр, время и настройки
- Исправлено бледное/прерывистое отображение плотного Signal и дискового Spectrum.
Плотные обзоры используют сплошную линию и диапазон конечных экстремумов;
разрешимые разрывы и недействительные значения не соединяются. Узкие маркеры
разрывов больше не окрашивают всю высоту графика оранжевым. - Во время уточнения масштаба остаётся предыдущая совместимая проекция с
уведомлением. Четыре immutable viewport хранятся в ограниченном LRU;
повторное посещение может обходиться без чтения исходных листьев. - AMSOIDX2 сохраняет точное исходное время в листьях: 8N байт плюс 24 байта
на лист. Глобальный GUI-шаг, точный Cadence, карточки разрывов и временные
проходы FFT используют бинарный индекс вместо повторного разбора текста.
Старый управляемый индекс перестраивается один раз по новому ключу. - Склейка времени доступна для дискового источника. Якоря непрерывных участков
сохраняют короткие интервалы после больших пропусков; zoom, pan, drag и Snap
используют согласованную экранную ось. Исходные значения, анализ и экспорт
сохраняют фактическое время; огибающая не становится численным входом. - Исправлена галочка Auto. Настройки показывают бюджет «Данные + расчёты»,
учтённую память, RAM процесса и private commit как отдельные показатели.
Адаптивная память, чтение и расчёт
- Auto использует min(доступные RAM, commit) с системным резервом 20%, не менее
512 MiB при достаточном свободном объёме; при давлении оставляет половину.
Убраны потолки Auto 8 GiB, загрузки 2 GiB и отдельный GUI-предел 384 MiB.
Manual 64…65536 MiB сохраняет тот же безопасный системный резерв. - Порог 512 MiB выбирает discovery, а не обязательное дисковое хранение.
Один полный metadata-проход может собрать оригинальные time/raw X/каналы
в RAM. Кандидат вместе с ростом vector ограничен третью свободного допуска;
отказ освобождает его и продолжает полное source-открытие. - FFT/FRF оценивают вход, подготовку, рабочие массивы, планы и результаты.
Отказ RAM-допуска/выделения FFT освобождает кандидат перед точным дисковым
повтором. Сохранены степенные и произвольные длины, N/L, сетки, интерполяция,
удаление DC, нормировка, правила разрывов, H1/coherence и слабые маски. - Windows выбирает физические ядра с учётом affinity. Общий исполнитель растёт
лениво до 32 участников; число ограничено работой и памятью. Малые задачи,
занятый пул и недостаточный допуск используют последовательный путь.
Welch-перекрытие, общая FFT средней опоры и порядок Sxx/Syy/Sxy сохранены. - FRF удерживает один prepared input в пределах budget/3 RAM и 256 MiB диска,
без дополнительной полной копии. При известном точном N допущенный replay
сразу готовит RAM-вход без промежуточного дискового снимка. Повтор H1 повторно
использует подготовку, но пересчитывает результат. - Idle view/FRF-кэши, неактивные результаты и FFT-планы уступают место новым
заданиям. Registry/pin защищают активные Bluestein-планы при вытеснении.
Снижение бюджета переводит полные replayable документы на диск, сохраняя
диапазон, обработку, разметку, численную ревизию и прежний Fs. Частичные и
нереплеируемые документы не уничтожаются; отмена сохраняет живое владение. - Windows CLI получает автоматический численный допуск, перемещает полный
выбранный Dataset и освобождает ненужный оригинал. Его загрузчик остаётся
резидентным. Default 384 MiB сохранён для внешнего численного API;
GUI/Windows CLI передают явные допуски.
Исправления крайних случаев
- Отдельный cache_epoch запрещает старой подготовке FRF снова заполнить
очищенный или уменьшенный кэш. Queued cached Request сразу владеет shared
PreparedFrf: очистка удержания не лишает повторное задание входа. - Несовпадение точного expected_samples отклоняется как SourceChanged и для
RAM, и для дисковой подготовки FRF; временные файлы и резервы освобождаются. - Неизвестное исключение резервного FFT больше не завершает процесс;
ошибка выделения текста сообщения также перехватывается, worker остаётся жив. - Демоция до первого вычисления Fs фиксирует шаг полной resident оси,
включая неактивный документ, вместо вычисления по двум seed-отсчётам. - Версия исходного файла перепроверяется также для RAM FFT перед/после
расчёта и при публикации. Отмена и смена документа отвергают устаревший результат.
Проверки и измерения
- 1222 проверки ядра и 881 GUI-проверка прошли без ошибок; полные штатные
CLI/GUI-сборки. Новый набор --edge: 38 проверок, 32 повтора FRF с очисткой
кэша без replay, 240 параллельных DFT/trim, рост/ошибки/занятость исполнителя. - Повторный реальный файл 1 024 104 009 байт, N=6 832 000: 29 проверок при
Manual 64 MiB и process commit cap 128 MiB, включая полный disk FFT и
анализ участка. Полный disk FFT 46,22 с, Peak WS 23,96 MiB. - Новое чередующееся сравнение с точной 0.16.7: 22 численных случая, три серии
по первому вызову и пяти повторам; 17 933 600 скалярных значений дампов
побитово равны, ошибка 0, несовпадений NaN/Inf нет. Два парных GUI-прогона
реального файла также дали побитово равные полные FFT и FRF-дампы.
| Реальная запись 1,024 ГБ; RAM | 0.16.7, с | rc.3-код, Auto, с |
|---|---|---|
| Открытие | 33,4561 | 33,7349 |
| FFT одного канала | 2,8660 | 2,7670 |
| Первый H1 семи откликов, L=2048 | 3,1369 | 1,7545 |
| Повтор H1 | 2,9043 | 0,9776 |
Это времена действий, включая подготовку, не только FFT-ядра. Пик WS полного
RAM-сценария практически одинаков: 1669,56/1670,42 MiB. Не все показатели
ускорились: Direct практически равен, нестепенной FFT N=337132/C=7 показал
время +2,1%, zoom малого файла — около +5 мс. Небольшие различия могут быть шумом.
Синтетические ровно 10 000 000 000 байт, N=47 390 720, восемь каналов проверены
на ПК 32 GiB двумя путями. Auto: открытие 311,775 с, полный FFT одного канала
34,398 с, H1 семи откликов L=2048 14,114/повтор 6,207 с, Peak WS 12063,17 MiB.
Manual 64 MiB с hard process commit cap 128 MiB: 46 проверок, открытие 411,887 с,
FFT 319,399 с, H1 211,356 с, Peak WS 32,3594 MiB. Ошибки контрольных бинов FFT
≤5,603e-11, H1/coherence ≤9,833e-16. Настройки mean/кэш различались; это
функциональные испытания, не изолированный парный бенчмарк FFT. Последующий
аудит владения/Fs использовал targeted и реальные 1 ГБ проверки, без нового
прогона 10 ГБ. Измерения получены на исходниках до добавления релизной метки.
Ограничения и поставка
Физический ПК с 8 GiB и слабый CPU не испытаны; Windows Job не заменяет их.
Новый приоритет — записи до 10 GB; 20 GB исключены из текущих испытаний.
Auto не занимает всю физическую память и не является жёстким пределом процесса:
GDI и часть истории вне ledger. Дисковый FFT требует scratch и времени; допуск
scratch до 64 GiB, GUI overview до 1 GiB в общем LRU 2 GiB/256 элементов.
Индекс 8N и дерево могут превысить квоту даже у файла ≤10 GB. Большие Direct/Auto
L могут вернуть ResourceLimit; N/L не сокращаются. Прогрев дальнего фильтра/Snap
и широкий синхронный FFT-Snap могут быть медленными. Дисковый спектр сохраняет
полилинии без визуального сплайна/символов; CLI не получил потоковый загрузчик.
Сопоставимого нового замера FAMOS или обеих версий на 10 GB нет.
В поставке: готовый GUI Windows x64 и SHA256SUMS.txt. Документация,
GPLv3 LICENSE и исходники доступны в репозитории. Версия остаётся предварительной;
0.16.7 сохраняется стабильным выпуском. Новый тег не заменяет старые.
English
Prerelease dated October 14, 2026. Includes all changes since v0.17.0-rc.2:
graph/settings fixes, adaptation to available RAM/commit and CPU resources,
faster repeated FRF, and edge-case protection. When admission per...
v0.17.0-rc.2
Русский
- Большая запись целиком: дисковый обзор заменяет обязательный выбор небольшого фрагмента и Light Mode.
- Общий участок анализа: вся запись, заданный интервал или видимый диапазон для FFT и АЧХ независимо от zoom.
- Полный дисковый FFT: при нехватке RAM сохраняются исходная длина, частотная сетка и нормировка.
- Точные формулы, фильтр и магнит: обработка использует исходные отсчёты, а не визуальную огибающую.
- Потоковый экспорт: CSV/TXT/LVM и проекты сохраняют всю запись или выбранный участок с отменой фоновой операции.
Предварительный выпуск. Участок анализа отделён от просмотра; исходные данные и методика H1/coherence сохраняются.
Склейка дискового времени в этой версии недоступна. Дальний фильтр/Snap может быть медленным; CLI загружает запись в RAM. Временный диск обязателен, физический ПК с 8 GiB не проверялся.
English
- Complete large recordings: disk overviews replace mandatory fragment selection and Light Mode.
- Shared analysis interval: entire recording, explicit interval or visible range for FFT/FRF independently of zoom.
- Complete disk FFT: low-RAM analysis preserves input length, frequency grid and normalization.
- Exact processing and snapping: formulas, filters and Magnet use source samples, not the visual envelope.
- Streaming export: CSV/TXT/LVM and projects save the complete recording or selected interval with background cancellation.
Pre-release. Analysis selection is independent of the viewport; original data and H1/coherence methodology are preserved.
Disk time stitching is unavailable in this version. Distant filtering/snapping can be slow; CLI input remains resident. Temporary disk space is required; physical 8 GiB hardware was not tested.
Полный журнал, проверки и ограничения / Full changelog, validation and limitations
Русский
Большие записи автоматически открываются целиком через дисковый обзор.
«Анализ → Вся запись / Участок / Взять видимый участок» задаёт общую область
FFT и FRF независимо от zoom. Удалены Light Mode из приветствия/настроек,
его флаги, обязательный диалог фрагмента и отдельная команда полного FRF
в меню «Вид». Старый ключ проекта игнорируется, устаревшие INI-ключи удаляются
при сохранении настроек; номера действующих команд сохранены.
- Общий immutable RecordingSource удерживает файл/ScanIndex и проверяет
размер/mtime до/после чтения и перед публикацией. Две seed-строки служат
только UI; N хранится отдельно. Полный состав каналов проверяется по всей
записи, поздние столбцы и каналы, похожие на время только в начале, сохраняются. - Overview хранит точные extrema/позиции/разрывы на диске. Zoom читает нужный
уровень или оригиналы; Signal-Snap читает исходные отсчёты асинхронно.
Отмена, смена документа, Undo/Redo и SourceChanged не публикуют устаревшую точку. - Формулы и причинный фильтр используют общий обработанный источник для
обзора, Snap, FFT/FRF и экспорта. Состояния biquad переносятся между блоками;
участок прогревается от начала записи, Fs определяется по полной временной
оси прежним точным правилом. Нелинейная огибающая строится по значениям,
не преобразованием готовых min/max. Недействительные значения нелинейной
формулы следуют GUI-правилу, включая конечные выражения от Inf. - Полный FFT сохраняет N, сетку, интерполяцию, удаление DC, сжатие разрывов
и нормировку. При недостаточном RAM-допуске выполняется tiled дисковый
radix-2/Bluestein; усреднение FFT блоков не используется. Рабочий резерв
24 MiB, численный максимум 384 MiB с сохранёнными планами; временный диск
до 64 GiB с предварительной оценкой места. После расчёта остаются дисковые
амплитуды и ограниченные summaries; неактивные результаты ограничены 2 GiB. - FRF сохраняет Welch-перекрытие, порядок накопления Sxx/Syy/Sxy, общую FFT
средней опоры, H1/coherence, слабую маску и точное определение Fs.
Spectrum/FRF используют общий исполнитель; дисковый FFT последовательный. - Auto/manual бюджет данных (64…65536 MiB) учитывает capacity документов,
допуски загрузки/анализа и общие индексы, ограничивается доступными RAM/commit.
Отмена удерживает резерв до уничтожения массивов. Это частичный учёт данных,
не лимит всей памяти процесса; N/L не сокращаются при отказе. - Частный дисковый LRU ScanIndex/обзоров: 2 GiB/256 элементов, lease активных
файлов, versioned пути и owner-lock. Повторное открытие использует AMSCIDX1;
повреждённый/недоступный кэш сохраняет ограниченное сканирование.
Если общий каталог занят другим процессом или недоступен, обзор использует
временный частный кэш с той же общей квотой ScanIndex/overview; последний
lease удаляет только собственные файлы. - CSV/TXT/LVM и переносимый проект потоково читают оригиналы всей записи или
выбранного участка, FFT экспортирует настоящие бины. Проект содержит полную
raw запись и настройки. Экспорт выполняется в фоне с отменой и атомарной
заменой назначения; открытый source не перезаписывается. - Уведомление ожидания принадлежит главному окну, не является topmost и не
захватывает фокус фонового приложения. Обновлены README и карта архитектуры.
Проверенные размеры/замеры и ограничения перечислены в описании этого
предварительного выпуска. Физический ПК с 8 GiB не испытывался; Windows
Job Object с ограничением commit — отдельная проверка. Нет нового сопоставимого
замера FAMOS. Склейка дискового времени недоступна, далёкий фильтр/Snap требует
повторного прогрева, широкий FFT-Snap синхронный, временный диск обязателен.
Дисковый спектр пока рисует ломаную без визуального сплайна/символов кривых.
CLI собран, его пользовательское открытие остаётся векторным.
English
Large recordings open automatically as complete disk overviews.
Analysis → Entire recording / Interval / Use visible interval defines one
FFT/FRF area independently of zoom. Light Mode controls/flags, the mandatory
fragment prompt and the separate full-FRF View command are removed. Legacy
project keys are ignored and obsolete INI keys retired on settings save;
active command numbers remain compatible.
- Immutable RecordingSource owns the file/index and checks size/mtime around
reads and publication. Two seed rows are UI-only; N is stored separately.
Whole-source channel discovery preserves late columns and signals that
resemble time only in the prefix. - Disk overview stores exact extrema, positions and gaps. Zoom reads levels
or originals; asynchronous Signal-Snap always reads source samples.
Cancellation, document switching, Undo/Redo and SourceChanged reject stale points. - A shared processed source supplies formulas/causal filters to overview,
Snap, FFT/FRF and exports. Biquad states span blocks, intervals warm up from
the beginning, and filter Fs follows the original exact full-timeline rule.
Nonlinear extrema are built from samples. Non-finite nonlinear inputs
follow the canonical GUI policy, including expressions finite at Inf. - Full FFT preserves N, grid, interpolation, DC removal, gap compression and
scaling. Insufficient RAM admission selects tiled disk radix-2/Bluestein,
never averaged block FFTs. Working admission is 24 MiB; the 384 MiB numerical
cap includes retained plans. Temporary disk allowance is 64 GiB with space
preflight. Only amplitudes/bounded summaries survive; inactive disk results
are limited to 2 GiB. - FRF preserves Welch overlap, Sxx/Syy/Sxy accumulation order, shared averaged
reference FFT, H1/coherence, weak-input masks and exact Fs. Spectrum/FRF
share an executor; disk FFT is sequential. - Auto/manual data budgets (64…65536 MiB) track document capacities, load and
analysis reservations and shared indexes, constrained by available RAM/commit.
Cancellation retains admission until buffers die. This is partial data
accounting, not a process-wide cap; failures never silently reduce N/L. - Private ScanIndex/overview LRU: 2 GiB/256 entries, active leases, versioned
paths and an owner lock. AMSCIDX1 accelerates index reuse; unavailable or
corrupt caches fall back to bounded scanning.
If the shared directory is locked by another process or unavailable, overview
uses a private temporary cache with the same shared ScanIndex/overview quota;
the last lease removes only owned files. - CSV/TXT/LVM and portable projects stream originals for the whole recording
or selected interval; FFT exports exact bins. Projects include all raw samples
and settings. Background export supports cancellation and atomic replacement;
it cannot overwrite a live source. - The owned loading notice is not topmost and does not steal background focus.
README and architecture documentation are updated.
Verified sizes, measurements and limitations are listed in the prerelease
description. Physical 8 GiB hardware was not tested; Windows Job Object commit
limits are a separate test. No new comparable FAMOS benchmark was made.
Disk-source time stitching is unavailable, distant filtered reads/Snap replay
the warm-up prefix, wide FFT-Snap is synchronous, and temporary disk is required.
Disk spectra currently use polylines without visual splines/curve symbols.
CLI builds successfully but its user-facing loading remains vector-based.
RU — Проверки, размеры и измерения
- Полные регрессии: 1157 проверок ядра, 851 GUI-проверка, ошибок нет.
- Точный дисковый FFT против векторного: N=4096/4093, семь каналов;
N=337132, один канал. Измеренная максимальная абсолютная разница амплитуд 0;
частотные сетки и метаданные совпали. - Реальный test2.lvm: 1 024 104 009 байт, N=6 832 000, один канал полного FFT
при Manual 64 MiB: 175,885 с, Peak WS 23,6758 MiB (предыдущая часть,
27 внешних проверок). - Новая синтетическая проверка 10 GB: 46 внешних проверок, Manual 64 MiB,
жёсткий commit-предел процесса 128 MiB через Windows Job Object.
Полный FFT одного канала и H1/cohe...
v0.17.0-rc.1
Скачать EXE / Download EXE · SHA-256
Русский
- Блочная АЧХ для больших записей: H1/coherence рассчитываются через временный дисковый снимок без полной сборки входа в RAM.
- Сохранена численная методика: Welch, окно Hann, перекрытие и порядок накопления применяются ко всей записи.
- Меньше лишних копий: общая FFT опоры и совместный исполнитель Spectrum/FRF ускоряют обработку.
- Надёжнее фоновые задачи: усилены отмена, смена документа, обработка ошибок чтения и завершение потоков.
- Улучшен интерфейс: включены исправления легенды, подписей осей, единиц и компоновки из v0.16.8–v0.16.11.
Предварительный выпуск для проверки на рабочих записях. Подробный отчёт и результаты испытаний приложены к релизу.
Нужен временный диск; бюджет 384 MiB относится к численным данным, а не всему процессу. Дискового алгоритма обычного FFT в этой версии ещё нет. Универсальная поддержка любых больших файлов не заявляется.
English
- Streaming FRF for large recordings: H1/coherence use a temporary disk snapshot without assembling complete input in RAM.
- Preserved numerical method: Welch, Hann window, overlap and accumulation apply across the complete recording.
- Fewer redundant copies: shared reference FFT and a common Spectrum/FRF executor improve processing.
- Stronger background-task handling: improved cancellation, document changes, read errors and thread teardown.
- Interface improvements: includes legend, axis-label, unit and layout fixes from v0.16.8–v0.16.11.
Pre-release for validation on real working recordings. The detailed report and validation results are attached.
Temporary storage is required; the 384 MiB budget covers numerical data, not the entire process. This version does not yet provide a disk algorithm for ordinary FFT. Universal large-file support is not claimed.
Полный журнал, проверки и ограничения / Full changelog, validation and limitations
Русский
AMSignal v0.17.0-rc.1 — предварительный выпуск блочного H1/coherence для
больших записей с ограничением численных рабочих массивов и кэшей.
Исходники выпуска: коммит 17404d7.
Выпуск предназначен для проверки на реальных рабочих записях; универсальная
поддержка любых конфигураций файлов 10–20 ГБ не заявляется.
Изменения
- Выбранные исходные физические столбцы читаются блоками через существующий
индекс и чтение диапазона. Нормализация времени, состояние секций и
соответствие каналов после удаления повторного времени сохраняются.
Численный анализ никогда не использует визуальную min/max-огибающую. - Большой FRF-вход — неизменяемый временный дисковый снимок средней опоры
и откликов. Полные массивы записи предварительно не собираются в RAM.
Для Fs сохранено точное правило типичного шага: полная внешняя сортировка
сериями по 8 MiB и слияние до 32 серий. Сжатая сортировка не внедрена. - Welch перекрывает границы блоков. Hann, длина L, перекрытие, усреднение опор
до FRF, порог слабого входа и спектр средней опоры сохранены. Sxx/Syy/Sxy
накапливаются в прежнем порядке; H1 и coherence финализируются после всей
записи. Готовые FRF блоков не усредняются; FFT опоры общая для всех откликов. - Radix-2 FFT выполняется в рабочих массивах. Произвольные допустимые длины
сохраняют dft/Bluestein. Удалены лишние полные копии общей опоры и времени,
ненужное суммирование при remove_mean=false и повторный разбор числовых
строк. Быстрая проверка комплексных компонент сохраняет abs-проверку
больших значений для обнаружения переполнения модуля. - Spectrum и FRF используют общий исполнитель до четырёх участников,
включая вызывающий поток. Последовательный путь остаётся для малых задач,
занятого исполнителя и недостаточного бюджета параллелизма. FRF допускает
параллелизм при K>=7 и L>=256; Spectrum — при N>=65536 и нескольких каналах. - Бюджет 384 MiB учитывает численные массивы, результаты и фактические
сохранённые планы. Он не ограничивает весь процесс. Auto/Direct не сокращают
L скрыто: слишком большой сегмент даёт ResourceLimit. - Worker хранит один вход до 64 MiB RAM и 256 MiB диска. Более крупный снимок
удаляется после задания. Кэши обработки ограничены 128 MiB на документ,
результаты FFT/FRF неактивных документов — вместе 256 MiB. Большие формулы
имеют поэлементный путь. Данные, настройки и разметка при вытеснении сохраняются. - Численный ключ отделён от поколения задания; учитывает файл, участок,
роли, формулы, фильтр и raw/processed. Оформление и его Undo/Redo не запускают
новый численный расчёт. Изменённый источник требует открытия заново. - Причинный фильтр сохраняет состояния между блоками, сбрасывая их только
по прежним условиям. Участок прогревается от начала загруженной записи;
фильтрация всей записи требует дополнительного прохода определения Fs.
Сложные формулы сохраняют порядок аффинной/тождественной обработки GUI. - Файлы больше 512 MiB сначала индексируются. GUI ограничивает оценку Dataset
512 MiB. «Вид → АЧХ: вся запись» анализирует индексированный источник,
сохраняя маленький фрагмент графика и отдельное выделение FFT. - Перед выпуском усилены проверки временных файлов, диапазонов чтения,
отмены, смены документов и завершения обоих worker. Ошибка дискового снимка
возвращает ResourceLimit и не публикует частичный результат. - На используемой Windows/MinGW сборке стресс воспроизвёл повреждение памяти
при конкурентном завершении коротких FFT-потоков с эмулируемым TLS,
в том числе на исходной v0.16.11. Windows-кэш переведён на системный FLS
с освобождением при выходе потока; остальные платформы сохраняют thread_local. - Относительно предыдущего публичного релиза v0.16.7 также включены изменения
v0.16.8–v0.16.11: терминология и единицы замеров, общий фильтр во вкладке FRF,
управление легендой каналов, внешние пользовательские подписи осей,
компактная компоновка и исправление крайних частотных подписей.
Проверенные результаты
База сравнения производительности — v0.16.11. Windows, Ryzen 5 5600X,
32 GiB RAM, GCC 14.2, -O2 без fast-math, профиль Power Saver.
Малые серии: прогрев и семь чередующихся учитываемых запусков; ниже медианы.
FRF: одна опора, семь откликов, L=2048, remove_mean=false.
| Реальная запись, N=337132, 49 938 563 байта | До | После |
|---|---|---|
| Чтение | 1631,22 мс | 1463,43 мс |
| Подготовка | 8,76 мс | 8,30 мс |
| Численный расчёт | 121,95 мс | 56,44 мс |
| Повтор без чтения | 121,05 мс | 56,86 мс |
| Пик Working Set процесса стенда | 65,70 MiB | 57,03 MiB |
Численная часть ускорилась примерно в 2,16 раза. Она включает перенесённые
проверки и общий исполнитель; это не изолированный замер ускорения FFT.
При N=4096 и семи откликах выигрыш численной части около 5,5%, а пик памяти
увеличился примерно на 0,25 MiB. Универсальное улучшение всех малых задач не заявляется.
| Синтетическая запись | 10 000 000 000 байт | 20 000 000 000 байт |
|---|---|---|
| N | 47 390 720 | 94 785 536 |
| L / K | 2048 / 46 279 | 2048 / 92 563 |
| Индексирование | 97,39 с | 196,45 с |
| Чтение и подготовка | 203,28 с | 407,77 с |
| Численный расчёт | 8,97 с | 19,92 с |
| Свежий повтор с чтением/подготовкой | 214,88 с | 431,85 с |
| Пик Working Set / commit | 17,45 / 16,63 MiB | 26,31 / 25,71 MiB |
| Временный снимок | 3,03 GB | 6,07 GB |
Большие записи — плотные несжатые ASCII-файлы с известными сигналами,
восемью каналами и сбросами локального времени. Пики относятся к отдельному
численному стенду, а не к интерактивному GUI. Размер файла, N и L разделены.
Большие измерения выполнены до последних защитных правок времени жизни,
ошибок I/O и формул; первичные хеши и подробности сохранены в отчёте.
Старый загрузчик остановлен явным лимитом испытания 2 GiB до полного чтения;
полного сопоставимого старого расчёта 10/20 GB нет, кратность для него не вычисляется.
Прошли 457 проверок ядра в 12 полных запусках подряд и 425 GUI-проверок.
Отдельный стресс завершил 3000 FFT-потоков без сбоя и остаточного плана;
штатный набор дополнительно содержит 768 короткоживущих FFT-потоков.
15 362 827 сравнений с замороженной v0.16.11 и 12 434 787 сравнений реальной
записи дали измеренную погрешность 0. Сравнивались комплексный H1, coherence,
спектр опоры, частоты, маски, статусы и метаданные. Проверены N=4096/337132,
один/семь откликов, несколько опор, mean on/off, степенные/произвольные L,
Direct/Auto, gaps, слабая опора, NaN/Inf, переполнение, границы блоков,
16 конфигураций фильтра, отмена, замена задания и смена документа.
На больших синтетических файлах максимальная абсолютная ошибка H относительно
известных коэффициентов — до 4,45×10⁻¹⁵, свежие повторы совпали точно.
Использование и риски предварительного выпуска
Дополнительный контроль текущего ядра коммита 17404d7 прошёл на всём файле
20 GB: N=94 785 536, L=2048, K=92 563, семь откликов. Расчёт и численный
повтор дали 21 564 совпадения, ошибка 0. Пик Working Set стенда — 23,97 MiB.
Этот повтор использовал ещё живой снимок внутри одного контрольного процесса,
а не большой кэш worker; его время не заменяет сравнимые замеры выше.
- Откройте большой файл, выберите небольшой отображаемый фрагмент.
- В FRF выберите опору и отклики, включите «Вид → АЧХ: вся запись».
- Задайте допустимое явное L, например 2048. Auto/Direct всей большой записи
могут превышать численный бюджет; их длина не сокращается автоматически.
- Нужен свободный временный диск для
N*(R+1)*8байт снимка и точной сортировки.
TMP/TEMP выбирают расположение. Большой повтор перечитывает источник.
Аварийное завершение процесса может оставить временные каталоги. - 384 MiB не ограничивают память нескольких Dataset, истории, метаданных
и графических индексов. Большой обычный FFT не получил дискового алгоритма. - Полный интерактивный GUI-прогон и фильтрованный...
v0.16.7
AMSignal-0.16.7-performance-results.json · Скачать EXE / Download EXE · SHA-256
Русский
- Многоканальный FFT и пакетный H1 используют общие вычисления без изменения исходной длины и определения анализа.
- Сохранены параметры и ограничения замеров; рост пика памяти указан в полном журнале.
English
- Multi-channel FFT and batch H1 reuse shared work while preserving input length and analysis definitions.
- Measurement conditions and limitations are retained; the full notes record the higher peak memory cost.
Полный прежний журнал / Full original release notes
Русский
Ускорены многоканальные FFT и пакетный расчёт H1/АЧХ без изменения исходной
длины записи, Fs, частотной сетки или математического определения анализа.
Этот выпуск также включает ранее не опубликованные изменения v0.16.6.
Изменения
- Несколько откликов FRF используют общий расчёт арифметического среднего
выбранных Reference до Welch. Один проход по сегментам переиспользует окно,
удаление среднего и FFT опоры, Sxx, порог слабого входа и спектр опоры.
Syy/Sxy, комплексный H1, coherence, маски и ошибки остаются отдельными.
Преобразования всех сегментов не хранятся. Одиночная пара сохраняет прежний путь.
Для семи откликов и 328 сегментов число FFT уменьшается с 4592 до 2624. - Независимые FFT-каналы при N>=65536 обрабатываются постоянным пулом до четырёх
участников, включая вызывающий поток. Один канал, малые записи и занятый пул
используют последовательный путь. Результаты и исключения собираются в
исходном порядке после завершения всех задач. Входные массивы не меняются. - Число участников учитывает доступные процессоры и оценку рабочих массивов
и сохранённых планов. Бюджет 384 MiB относится к планировщику, а не ко всей
памяти процесса. GUI явно отменяет и завершает FFT-worker до разрушения пула. - Из v0.16.6: проверки отмены radix-2 между блоками максимум 16384 butterfly
без перезапуска рекуррентного twiddle; один завершённый thread_local план
chirp/FFT ядра Bluestein до 64 MiB на поток. Отменённый план не публикуется,
большие планы временные. Математика этих оптимизаций сохранена. - Отрисовка, кэши GUI, библиотека FFT, точность, нормировка, Hann, overlap,
remove_mean и правила масок не менялись. Fast-math не используется.
Проверенные результаты
Медианы семи повторов после семи прогревочных повторов, test1.lvm,
Ryzen 5 5600X, GCC 14.2.0, Release -O2, Windows Power saver.
База этих замеров — v0.16.6, а не предыдущий публичный выпуск v0.16.5.
Таймер FFT включает подготовку шкалы/каналов и амплитуд; таймер FRF включает
by-value копию входа, усреднение/проверки, Welch, H1/coherence и спектр опоры.
Загрузка файла и отрисовка вне таймеров. Ускорения отдельных направлений
не складываются и не гарантируются на другом оборудовании.
| Расчёт | До, мс | После, мс |
|---|---|---|
| FFT, 8 каналов, N=4096 | 1,091 | 1,085 |
| FFT, 8 каналов, N=262144 | 151,05 | 51,59 |
| FFT, 8 каналов, N=337132 | 595,03 | 327,46 |
| H1/coherence, 1 опора / 1 отклик, mean=false | 38,62 | 39,03 |
| H1/coherence, 1 опора / 7 откликов, mean=false | 210,36 | 135,87 |
| H1/coherence, 1 опора / 7 откликов, mean=true | 210,77 | 135,88 |
FRF: N=337132, L=2048, периодический Hann, overlap=50%, K=328.
Пик commit процесса для полного FFT вырос с 122 до 256 MiB (включая загрузку
и исходные массивы). Отмена до join: измеренный максимум 4,77 мс FFT и
2,52 мс FRF; замена полной записи коротким заданием — около 16 мс, только
новое поколение результата. Эти максимумы не являются верхней гарантией задержки.
Все 26 случаев совпали с базой побайтно: частоты, амплитуды, комплексный H1,
coherence, спектр опоры, validity-маски и NaN. Внешний стенд выполнил 7592
точные проверки против замороженных исходников, включая Direct, произвольные
длины, слабую/нулевую опору, NaN/Inf, переполнение, независимые ошибки откликов,
gaps и конкурентные FFT. Контроль одиночных путей в одном процессе не
подтвердил существенного ухудшения: максимум +2,6% FFT и +1,6% FRF.
Отдельные процессы дают больший разброс; причина каждого выброса не установлена.
Прошли 340 численных и 334 GUI-проверки, полные сборки CLI и GUI.
GUI-регрессии охватывают общий участок, роли, секции/разрывы, кэши,
несколько кривых, шкалы, CSV/PNG и завершение worker. Реальная end-to-end
задержка GUI и отрисовка отдельно не измерялись. Системные настройки не менялись.
Файлы выпуска
AMSignal-0.16.7-x64.exe— GUI для Windows x64.AMSignal-0.16.7-performance-results.json— таблица 26 измеренных случаев,
данные памяти и протокол побайтового сравнения; исходная запись не включена.SHA256SUMS.txt— контрольные суммы приложенных файлов.
Соответствующие исходники доступны в теге v0.16.7. Лицензия — GNU GPLv3.
English
Multi-channel FFT and batch H1/FRF are faster while preserving the original
record length, Fs, frequency grid and mathematical analysis definition.
This release also includes the previously unpublished v0.16.6 changes.
Changes
- Multiple FRF responses share the arithmetic sample mean of selected references
before Welch. One segment pass reuses the window, reference mean removal/FFT,
Sxx, weak-input threshold and reference spectrum. Syy/Sxy, complex H1,
coherence, masks and errors remain independent. Segment FFTs are not retained
as a bank. A single pair retains its previous path. Seven responses with
328 segments require 2624 FFTs instead of 4592. - Independent FFT channels at N>=65536 use a persistent pool of up to four
participants, including the caller. Single channels, small inputs and callers
encountering a busy pool use the sequential path. Results and exceptions are
collected in original channel order after all jobs complete; input arrays
remain unchanged. - Scheduling considers available processors and estimated workspaces/retained
plans. Its 384 MiB allowance is not a process memory limit. GUI exit explicitly
cancels and joins the FFT worker before pool destruction. - From v0.16.6: radix-2 cancellation checks between chunks of at most 16384
butterflies without restarting recurrent twiddles; one completed thread_local
Bluestein chirp/kernel FFT plan up to 64 MiB per thread. Cancelled plans are
not published; larger plans are temporary. Arithmetic is preserved. - Rendering, GUI caches, FFT library, precision, normalization, Hann, overlap,
remove_mean and mask rules are unchanged. Fast-math is not enabled.
Measured validation
Medians of seven repeats after seven warm-up repeats, test1.lvm, Ryzen 5 5600X,
GCC 14.2.0, Release -O2, Windows Power saver. The baseline for these
measurements is v0.16.6, not the previous public release v0.16.5.
FFT timing includes timeline/channel preparation and amplitudes; FRF timing
includes the by-value input copy, averaging/validation, Welch, H1/coherence and
reference spectrum. File loading and rendering are outside the timers.
Independent speedups are not added or guaranteed on other hardware.
| Calculation | Before, ms | After, ms |
|---|---|---|
| FFT, 8 channels, N=4096 | 1.091 | 1.085 |
| FFT, 8 channels, N=262144 | 151.05 | 51.59 |
| FFT, 8 channels, N=337132 | 595.03 | 327.46 |
| H1/coherence, 1 reference / 1 response, mean=false | 38.62 | 39.03 |
| H1/coherence, 1 reference / 7 responses, mean=false | 210.36 | 135.87 |
| H1/coherence, 1 reference / 7 responses, mean=true | 210.77 | 135.88 |
FRF: N=337132, L=2048, periodic Hann, 50% overlap, K=328. Full FFT peak
process commit increased from 122 to 256 MiB, including file loading/input
arrays. Maximum observed cancel-to-join: 4.77 ms FFT and 2.52 ms FRF.
Replacing the full record with a short job took about 16 ms and returned
only the new generation. Observed maxima are not guaranteed latency bounds.
All 26 cases matched the baseline byte for byte: frequencies, amplitudes,
complex H1, coherence, reference spectrum, validity masks and NaNs. An external
harness passed 7592 exact checks against frozen sources, including Direct,
arbitrary lengths, weak/zero reference, NaN/Inf, overflow, independent response
errors, gaps and concurrent FFT calls. In-process single-path controls did not
confirm a substantial regression: maximum +2.6% FFT and +1.6% FRF.
Separate processes show more variation; each outlier's cause was not established.
Passed 340 numerical and 334 GUI checks, and full CLI/GUI builds.
GUI regressions cover the common selection, roles, sections/gaps, caches,
multiple curves, scales, CSV/PNG and worker shutdown. Real end-to-end GUI
latency and rendering were not separately benchmarked. System settings were
not changed.
Release files
AMSignal-0.16.7-x64.exe: Windows x64 GUI.AMSignal-0.16.7-performance-results.json: all 26 measured cases, memory
data and bytewise comparison results; the input recording is not included.SHA256SUMS.txt: checksums of attached files.
Corresponding source code is available at tag v0.16.7. Licensed under GNU GPLv3.
v0.16.5
Русский
Исправлено
- После удаления повторяющихся столбцов времени автоматически выданные имена
каналовChannel_Nнумеруются подряд в порядке оставшихся каналов. Имена,
явно заданные в исходном файле, сохраняются без изменений. - Добавлена регрессионная проверка чередующихся столбцов времени и каналов,
включая случай с явно заданными именами.
English
Fixed
- After duplicate time columns are removed, automatically generated
Channel_N
names are numbered consecutively in the order of the remaining channels.
Names explicitly provided by the source file remain unchanged. - Added regression coverage for interleaved time and signal columns, including
explicitly named channels.