Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работы / Kursach_OiFS.docx
Скачиваний:
10
Добавлен:
05.08.2022
Размер:
617.21 Кб
Скачать

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 представлен алгоритм обнаружения полезного сигнала на основе анализа амплитудного спектра.

Загрузка данных

Фильтрация сигнала

Расчёт спектра с помощью дискретного преобразования Фурье

Поиск максимумов в интервалах

Нет

Полезный сигнал не обнаружен

Да

Полезный сигнал обнаружен

Конец

Рисунок 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 – полезный сигнал обнаружен

Соседние файлы в папке Работы