- •Цифровая обработка сигналов и изображений
- •Лабораторный практикум по цифровой обработке сигналов и изображений
- •Тема 1. Спектральный анализ и синтез сигналов
- •Краткие теоретические сведения.
- •Лабораторная работа №1 Расчет спектра центрированного прямоугольного импульса
- •Нахождение амплитудного спектра в среде математического пакета Mathcad
- •Лабораторная работа №2 Расчет спектра прямоугольного импульса, начинающегося в нулевой момент времени
- •Нахождение амплитудного и фазового спектра в среде математического пакета Mathcad
- •Тема 2. Построение и моделирование цифровых нерекурсивных фильтров
- •2.1. Краткие теоретические сведения о цифровых фильтрах Классификация сигналов
- •Связь между аналоговыми и дискретными сигналами. Теорема Котельникова. Связь между дискретными и цифровыми сигналами
- •Вопросы для самопроверки
- •Динамические характеристики цифровых фильтров: передаточная функция, частотная передаточная функция, импульсная переходная функция, связь между ними с помощью преобразования Фурье
- •Понятие рекурсивных и нерекурсивных цифровых фильтров, ких и бих фильтров
- •Понятие устойчивости фильтров
- •Синтез нерекурсивных цифровых фильтров
- •Второй рассмотрим введение весовой функции Фейера:
- •Лабораторная работа №4 Расчет и моделирование нерекурсивного низкочастотного фильтра с высокочастотным синусоидальным шумом в среде математического пакета Mathcad
- •Пример программы в Mathcad.
- •Лабораторная работа №5 Расчет и моделирование нерекурсивного низкочастотного фильтра с высокочастотным псевдобелым шумом в среде математического пакета Mathcad
- •Пример программы в Mathcad.
- •Вопросы для самопроверки
- •Понятие устойчивости фильтров.
- •Тема 3. Построение и моделирование цифровых рекурсивных филитров
- •3.1. Краткие теоретические сведения о цифровых фильтрах. Синтез рекурсивных фильтров
- •Полиномиальные цифровые фильтры нч
- •Синтез цифровых фильтров нч Баттерворта Для фильтра Баттерворта справедливо записать:
- •Лабораторная работа №6 Расчет и моделирование рекурсивного низкочастотного фильтра Баттерворта с высокочастотным псевдобелым шумом в среде математического пакета Mathcad
- •Вопросы для самопроверки
- •Понятие устойчивости фильтров.
- •Тема 4. Цифровая обработка сигналов с помощью вейвлет-преобразований
- •Тема 5. Цифровая обработка изображений в matlab
- •1. Краткие теоретические сведения
- •Задание и порядок выполнения работы
- •Вопросы для самопроверки
- •Тема 6. Цифровая обработка сигналов и изображений с помощью нейронных сетей Краткие теоретические сведения
- •Классификация и свойства нейронных сетей
- •Обучение искусственных нейронных сетей
- •Обучение с учителем
- •Обучение без учителя
- •Нечеткие (гибридные) нейронные сети
- •Алгоритмы обучения и использования нечетких нейронных сетей
- •Лабораторная работа № 10. Низкочастотная фильтрация с помощью нейронных сетей
- •Порядок выполнения работы
- •Программа моделирования нч фильтра на основе нейронной сети
- •Вопросы для самопроверки
- •Литература
Порядок выполнения работы
Зададим исходные данные: частоту среза fc НЧ фильтра, минимальную fwmin и максимальная fwmax частоты шума; fd=4fwmax -частоту дискретизации fd; T=1/fd - величину дискрета T; N=500 - число дискретов сигналов N.
Сформируем псевдобелый шум x(n) в полосе пропускания НЧ фильтра.
Сформируем высокочастотный псевдобелый шум v(n), подавляемый НЧ фильтром.
Сформируем: полезный сигнал + шум и обучающее множество.
Сформируем нейронную сеть.
Обучим нейронную сеть.
Для тестирования сети зададим полезный сигнал - полином 2-го порядка.
Сформируем аддитивную смесь полезного полиномиального сигнала и шума.
Проведем моделирование работы сети.
Выведем результаты на экран.
В качестве примера была синтезирована нейронная сеть с количеством элементов задержки равным 20. В качестве обучающего множества входных сигналов использовалась одна дискретная последовательность длиной N=500 отсчетов, представляющая собой полезный сигнал - псевдо-белый шум в ограниченном диапазоне частот от 0 до 30 герц, на который аддитивно была наложена высокочастотная помеха. Полезный сигнал был получен с помощью ряда Фурье, коэффициенты которого выбирались случайным образом в соответствии с нормальным законом распределения.
На Рис.12 представлены две кривые - полезный сигнал (красный) и полезный сигнал, искаженный высокочастотной помехой (синий).
Рис.12.
Далее нейронная сеть обучалась, причем на вход сети подавался полезный сигнал и высокочастотная помеха. В качестве эталонного сигнала был взят полезный сигнал.
Качество работы сети проверялось путем подачи на вход сети полиномиального сигнала, искаженного высокочастотным шумом. На Рис.13 приведены полезный полиномиальный (красный) и зашумленный сигнал (синий).
Рис.13.
На Рис.14 приведены результаты работы цифрового фильтра, реализованного с помощью нейронной сети. На этом рисунке представлены две кривые – искаженный полезный сигнал, поступающий на вход сети (синий) и сигнал на ее выходе (красный). Для оценки качества работы фильтра была рассчитана относительная ошибка в соответствии с выражением
,
где
и
- соответственно реальный и идеальный
сигналы на выходе нейронной сети.
Рис.14.
Необходимо отметить, что если на входе фильтра ошибка составила 17,2%, то на его выходе ошибка уменьшилась до 7,5%.
Программа моделирования нч фильтра на основе нейронной сети
fc=30; % Задание исходных данных: частоты среза fc НЧ фильтра
fwmin=50; % Минимальная fwmin и максимальная fwmax частоты шума,
fwmax=250;
fd=4*fwmax; % Частота дискретизации fd
T=1/fd; % Величина дискрета T
N=500; % Число дискретов сигналов N
for k=1:fc % Формирование псевдобелого сигнала x(n) в полосе пропускания НЧ фильтра
A=randn(1,1);
B=randn(1,1);
for n=1:N
y(k,n)=A*cos(2*pi*k*n*T)+B*sin(2*pi*k*n*T));
end
end
for n=1:N
x1(n)=0;
end
for n=1:N
for k=1:fc
x1(n)=x1(n)+y(k,n);
end
end
K1=10; % Задание нормирующего коэффициента из условия σ (x) =1.
for n=1:N
x(n)=x1(n)/K1;
end
for k=fwmin:fwmax % Формирование высокочастотного псевдобелого шума v(n), подавляемого НЧ фильтром.
C=randn(1,1);
D=randn(1,1);
for n=1:N
z(k,n)=C*cos(2*pi*k*n*T)+D*sin(2*pi*k*n*T));
end
end
for n=1:N
v1(n)=0;
end
for n=1:N
for k=fwmin:fwmax
v1(n)=v1(n)+z(k,n);
end
end
K2=40; % Задание нормирующего коэффициента из условия σ (v) =0.5.
for n=1:N
v(n)=v1(n)/K2;
end
for n=1:N % Формирование полезного сигнала + шум.
f(n)=x(n)+v(n);
end
P1=con2seq(f); % Формирование обучающего множества
T1=con2seq(x);
net=newlin([-2 2],1,[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20],0.001); % Формирование нейронной сети
net=train(net,P1,T1); % Обучение нейронной сети
a=0.005; b=-0.25; c=0.2 % Задание значений коэффициентов полинома
K=1000 %Нормирующий коэффициент выбирается из условия 1≤s(n)≤2
for n=1:N
s(n)=(a*n^2-b*n+c)/K; % Полезный сигнал - полином 2-го порядка
end
for n=1:N
s1(n)=s(n)+v(n); % Полезный сигнал + шум
end
plot(s1), grid % График полезного сигнала и шума
P2=con2seq(s1); % % Формирование входного множества сети
w=sim(net,P2); % Моделирование нейронной сети
hold on
plot(cat(2,w{:}),'r'),grid % Сигнал на выходе нейросети (красный)
plot(s1,'g'), grid % Сигнал на входе нейросети (зеленый)
Заметим, что на практике задачу синтеза цифрового нерекурсивного фильтра целесообразнее решать не с помощью нейронной сети, а так, как это было показано выше в разделе синтез нерекурсивных фильтров. В противном случае, для минимизации ошибки на выходе фильтра, потребуется очень большое количество элементов задержки и весовых коэффициентов сети.
Таблица 1 индивидуальных заданий студентам.
№ вар |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
fc |
10 |
15 |
20 |
30 |
25 |
20 |
15 |
25 |
10 |
15 |
fwmin |
20 |
25 |
30 |
40 |
45 |
50 |
25 |
40 |
30 |
25 |
fwmax |
200 |
250 |
300 |
400 |
450 |
500 |
250 |
400 |
300 |
250 |
N |
400 |
500 |
300 |
400 |
450 |
500 |
300 |
600 |
400 |
500 |
r-колич. элем. задерж. |
20 |
15 |
25 |
15 |
10 |
25 |
15 |
10 |
20 |
30 |
a |
0,006 |
0.002 |
0.001 |
0.003 |
0.001 |
0.002 |
0.006 |
0.009 |
0.001 |
0.002 |
b |
-0.25 |
-0.2 |
-0.25 |
-0.35 |
-0.1 |
-0.2 |
-0.35 |
-0.1 |
0.25 |
0.3 |
c |
0.1 |
0.2 |
0.3 |
0.4 |
0.5 |
0.4 |
0.3 |
0.2 |
0.1 |
0.5 |
