Skip to content

SENATOROVAI/MATLAB_Part3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Глава 3. Моделирование радиосистемы голосового оповещения

MATLAB-модель к третьей (практической) главе дипломной работы. Сквозной вычислительный эксперимент проходит сигнал от формирования речи до излучения звука: источник → полосовая фильтрация → кодек G.711 → сеть передачи → радиоканал с замираниями → аварийный контроллер → аудиотракт и резервное питание. Каждая секция строит график и печатает в консоль числовые показатели, которые переносятся в текст главы (рисунки 5–8, значения SNR, SPL, времени реакции и т. д.).

Технологический стек

Компонент Назначение
MATLAB R2018b+ среда моделирования и визуализации
Signal Processing Toolbox (опционально) проектирование фильтра Баттерворта (butter)
Базовый MATLAB FFT, генерация сигналов, графики, конечный автомат

Signal Processing Toolbox не обязателен: при его отсутствии полосовая фильтрация автоматически выполняется через FFT-реализацию (local_fft_bandpass в bp_filter.m), поэтому модель запускается на «голом» MATLAB.

Структура проекта

MATLAB_Part3/
├── README.md
└── модели/
    ├── glava3_model.m   — главный скрипт: 8 секций моделирования (рис. 5–8)
    ├── bp_filter.m      — полосовой фильтр 300–3400 Гц (Баттерворт / FFT)
    ├── g711_encode.m    — кодер G.711 μ-law (8 бит, 64 кбит/с)
    ├── g711_decode.m    — декодер G.711 μ-law
    ├── alarm_fsm.m      — конечный автомат аварийного контроллера
    └── test_glava3.m    — модульные тесты (фильтр, кодек, автомат, формулы)

Что моделируется

Скрипт glava3_model.m разбит на 8 секций:

  1. Общие параметры — частота дискретизации 8 кГц, речевая полоса 300–3400 Гц.
  2. Источник сигнала (рис. 5) — синтез речеподобного сигнала с гармониками, формантами и огибающей.
  3. Фильтрация (рис. 6) — полосовая фильтрация и сравнение спектров до/после.
  4. Кодек G.711 — μ-law кодирование/декодирование, оценка SNR квантования и MOS.
  5. Сеть передачи — модель задержки, джиттера и потерь пакетов с маскированием.
  6. Радиоканал (рис. 7) — расчёт уровня приёма по бюджету линии и замирания.
  7. Аварийный контроллер (рис. 8) — конечный автомат (IDLE → ALARM → EVACUATION / TEST / FAULT) и проверка времени реакции < 1 с.
  8. Аудиотракт и питание — усиление и ограничение, расчёт SPL, резервирование питания с переключением на аккумулятор.

Запуск

cd модели

% Полный эксперимент со всеми графиками и выводом показателей
glava3_model

% Проверка корректности отдельных блоков
test_glava3      % → 'ALL TESTS PASSED'

Тесты

test_glava3.m проверяет ключевые блоки независимо от основного скрипта:

  • test_bp_filter — внутриполосный тон проходит, внеполосные подавляются;
  • test_g711 — тип кода uint8 и достаточный SNR восстановления;
  • test_alarm_fsm — корректные переходы состояний автомата;
  • test_formulas — контрольные расчёты (бюджет линии, SPL, время реакции).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages