
- •Пояснительная записка
- •Исходные данные
- •Обозначения и сокращения
- •1 Исследование параметров случайного процесса
- •1.1 Расчет числовых характеристик
- •1.2 Спектральный анализ сигнала
- •2 Выбор метода предварительной обработки сигнала
- •1.Спецификация требований к фильтру
- •2.1 Спецификация требований к фильтру
- •2.2 Вычисление коэффициентов фильтра
- •2.3 Реализация фильтра в среде Matlab
- •3 Разработка алгоритма обнаружения сигнала
- •4 Разработка блок-схемы устройства цифровой обработки сигнала
- •4.1 Расчет параметров аналого-цифрового тракта:
- •4.2 Расчет объема внутренней памяти для хранения данных
- •Основные результаты и выводы.
- •Список литературы
3 Разработка алгоритма обнаружения сигнала
Критерием обнаружения полезного сигнала будет одновременное наличие во всех интервалах спектральных составляющих, удовлетворяющих заданному соотношению:
, (3.1)
где:
нижний порог;
верхний порог;
значение гармоники с номером i.
Значения
и
рассчитываются на основании значений
таблицы 2.3:
(3.2)
где
количество
значений частот в таблице 2.3.
Таблица 3.1 –Пороговые значения для поиска
№ |
Центральная частота, Гц |
Интервал поиска, Гц |
Пороговое
значение
|
Пороговое
значение
|
f1 |
2658 |
2558-2758 |
0,0011385 |
0,0013915 |
f2 |
4772 |
4672-4872 |
0,0019953 |
0,0024387 |
Начало
Загрузка
данных
Фильтрация
сигнала
Расчёт
спектра с помощью дискретного
преобразования Фурье
Поиск
максимумов в интервалах
Нет
Полезный
сигнал не обнаружен
Да
Полезный
сигнал обнаружен
Конец
Рисунок 3.1 – Алгоритм обнаружения полезного сигнала
Текст программы для обнаружения полезного сигнала в среде Matlab. Y1l=0.0011385; Y1h=0.0013915; Y2l=0.0019953; Y2h=0.0024387; data = load('fx165.mat'); k = load('b_filt.mat'); fd=44100; s_in = data.fx; s_out =filter(k.b_filt,1,s_in); N = length(s_in); dt=1/fd; T=dt*(N-1); Y = fft(s_out); Y = 2 * abs(Y(1:N/2)) / N; fl1=round(2558*T); fh1=round(2758*T); fl2=round(4672*T); fh2=round(4872*T); Ym1=max(Y(round(2558*T):round(2758*T))); Ym2=max(Y(round(4672*T):round(4872*T))); if Y1l<Ym1 && Ym1<Y1h && Y2l<Ym2 && Ym2<Y2h res = 1; else res=0; end |
Программа обнаружения сигнала тестируется на выборке фрагментов неизвестных сигналов. Результат проверки по всем фрагментам записан в таблице 3.2.
Таблица 3.2 – Сводная таблица результатов тестирования алгоритма
Название фрагмента |
Значения гармоник на интервале |
Решение |
|
f1 |
f2 |
||
Fx165 |
0.0017 |
1.0576e-05 |
0 |
Fx196 |
0.0347 |
3.9334e-04 |
0 |
Fx236 |
3.4981e-04 |
3.5173e-04 |
0 |
Fx385 |
8.6548e-04 |
2.8178e-05 |
0 |
Fx402 |
0.0012 |
5.7420e-04 |
0 |
Fx422 |
2.9091e-04 |
2.6666e-04 |
0 |
Fx757 |
0.0036 |
6.7661e-04 |
0 |
Fx804 |
2.5749e-05 |
1.6421e-05 |
0 |
Fx808 |
0.0022 |
4.9610e-05 |
0 |
Fx823 |
2.2431e-05 |
1.0428e-05 |
0 |
Fx1198 |
3.1755e-06 |
2.5006e-06 |
0 |
Fx1216 |
0.0013 |
0.0022 |
1 |
Fx1292 |
5.7560e-06 |
4.6923e-06 |
0 |
Fx1489 |
3.5012e-05 |
3.8655e-04 |
0 |
Fx1697 |
0.0358 |
8.9879e-04 |
0 |
Fx1749 |
3.1434e-04 |
3.3142e-04 |
0 |
Fx1836 |
0.0096 |
8.8891e-04 |
0 |
Fx1889 |
2.7640e-04 |
7.9296e-04 |
0 |
Fx2420 |
0.0075 |
2.9180e-04 |
0 |
Fx2588 |
0.0135 |
3.5809e-05 |
0 |
Fx3351 |
0.0204 |
2.1202e-04 |
0 |
где 0 – полезный сигнал не обнаружен, 1 – полезный сигнал обнаружен