#lm7001
Веб-приложение для RF-инженеров (React 18 + TypeScript + Vite + Recharts) с тремя калькуляторами: фильтр петли ФАПЧ, выходной ФНЧ и активный фильтр на BJT-транзисторе. Развёрнуто на https://lm7001.vercel.app.
Кодировать все входные параметры в строку запроса URL для создания ссылок на конкретный расчёт. Декодировать при загрузке.
URLSearchParamsчтение/запись,history.replaceStateпри изменении параметров- Файлы:
LoopFilterCalculator.tsx,OutputLPFCalculator.tsx,ActiveFilterCalculator.tsx
Кнопка «Копировать» в ResultsPanel.tsx — экспорт в форматированный текст или CSV для лабораторных записей.
После расчёта R, C, L — показывать ближайшее значение из ряда E12/E24/E96 и погрешность в %.
- Новый файл:
src/lib/eseries.ts - Отображать оба значения (точное и стандартное) в
ResultsPanel.tsx
Сворачиваемый блок «Показать формулы» в каждом калькуляторе с ключевыми уравнениями.
- Новый компонент:
FormulaPanel.tsx
Сейчас вкладка 1 показывает только разомкнутую петлю. Добавить H_cl(jω) = L(jω) / (1 + L(jω)) как второй ряд данных.
- Файлы:
loopFilter.ts,FrequencyPlot.tsx,LoopFilterCalculator.tsx
Добавить оценку t_lock ≈ 1/fc к результатам фильтра петли ФАПЧ.
- Файлы:
loopFilter.ts,types/index.ts
Свип одного параметра (напр., fc от 1 до 10 кГц) с отображением влияния на R, C1, C2, запас по фазе.
- Новый компонент:
SweepPanel.tsx
Чистый однострочный CSS для печати: входные данные + таблица результатов + топологическая схема + график.
- Новый файл:
src/styles/print.css
Перечень с обозначениями (R1, C1, C2, L1), расчётными значениями и значениями из стандартного ряда.
- Новый файл:
src/lib/bom.ts
Диапазон удержания (Δf_H), диапазон захвата (Δf_P), диапазон вхождения в синхронизм (Δf_L).
- Новые файлы:
src/lib/pllRanges.ts,src/components/PLLRangesCalculator.tsx
Уровень паразитных в дБн от подавления фильтром петли на частоте fref.
- Spur ≈ 20·log10(|H(j·2π·fref)|)
- Файлы:
loopFilter.ts(расширение результата),LoopFilterCalculator.tsx
Добавление второго RC-звена для лучшего подавления паразитных. Переключатель порядка фильтра на вкладке 1.
- Новый файл:
src/lib/loopFilter3rd.ts
Оценка интегрального фазового шума (СКО джиттера в полосе) на основе упрощённой модели уровня шума.
- Новый файл:
src/lib/phaseNoise.ts
Статическая вкладка или модальное окно: таблица распространённых ПЧ-фильтров 10,7 МГц для FM-приёмников.
Тесты для всех чистых математических функций. Эталонный тест: проверенный пример с запасом по фазе 45°.
- fRF=90 МГц, fIF=10,7 МГц, fref=25 кГц → N=4028, C1=10,06 нФ, R=15,28 кОм, C2=1,73 нФ
- Файлы:
src/lib/__tests__/loopFilter.test.ts,outputLpf.test.ts,activeFilter.test.ts
Разработка компонентов ResultsPanel, FrequencyPlot и SVG-схем в изоляции.
role="table"+aria-labelв ResultsPanel<title>+<desc>в SVG-схемах- Навигация с клавиатуры для вкладок
| # | Функция | Эффект | Сложность |
|---|---|---|---|
| 3 | Округление до E-ряда | Высокий | Низкая |
| 1 | Поделиться через URL | Высокий | Низкая |
| 5 | График замкнутой петли | Высокий | Средняя |
| 6 | Оценка времени захвата | Средний | Низкая |
| 2 | Копирование результатов | Средний | Низкая |
| 4 | Панель с формулами | Средний | Низкая |
| 7 | Параметрический анализ | Высокий | Средняя |
| 10 | Диапазон захвата/удержания | Высокий | Средняя |
| 11 | Паразитные на fref | Высокий | Средняя |
| 8 | Экспорт в PDF | Средний | Средняя |
| 9 | Перечень компонентов | Средний | Средняя |
| 15 | Модульные тесты | Высокий (DX) | Средняя |
| 12 | Фильтр 3-го порядка | Высокий | Высокая |
| 13 | Фазовый шум | Средний | Высокая |
| 14 | Справочник по ПЧ-фильтрам | Средний | Низкая |