|
Минобрнауки России
Санкт-Петербургский государственный политехнический университет
Факультет технической кибернетики
Кафедра «Информационные и управляющие системы»
ОТЧЕТ
по расчётной работе №3
по предмету «Цифровая обработка многомерных сигналов»
Подготовила
студентка гр.6084/12 Е.А.Козлова
Преподаватель
С.Э.Сараджишвили
«__» __________ 2012 г.
Санкт-Петербург
Формулировка задания:
Отфильтровать 2 точечные помехи в матрице сигнала двумя способами:
· Методом статистической пороговой фильтрации с заданным настроечным параметром m=1,30;
· Методом анизотропной фильтрации с .
Исходная матрица
0 0 12 24 12 0 0 0 0 0 0
16 28 36 52 28 0 0 0 0 0 0
36 64 58 68 41 9 9 12 9 0 0
28 58 70 113 104 53 32 34 24 0 0
18 52 111 155 132 117 81 55 37 0 0
14 46 111 153 165 157 117 101 74 12 0
4 26 70 147 195 212 174 161 115 28 18
2 16 49 117 167 190 200 199 128 62 24
2 8 21 67 101 136 183 190 186 82 36
0 2 6 25 34 85 154 208 160 94 54
0 0 0 0 14 57 96 137 140 88 36
0 0 0 3 10 28 58 119 98 54 30
0 0 0 0 3 10 38 42 45 24 18
Матрица с помехами
0 0 12 24 12 0 0 0 0 0 0
16 28 36 52 28 0 0 0 0 0 0
36 64 58 68 41 9 9 12 9 0 0
28 58 70 113 104 53 32 34 24 0 0
18 52 111 200 132 117 81 55 37 0 0
14 46 111 153 165 157 170 101 74 12 0
4 26 70 147 195 212 174 161 115 28 18
2 16 49 117 167 190 200 199 128 62 24
2 8 21 67 101 136 183 190 186 82 36
0 2 6 25 34 85 154 208 160 94 54
0 0 0 0 14 57 96 137 140 88 36
0 0 0 3 10 28 58 119 98 54 30
0 0 0 0 3 10 38 42 45 24 18
Результат прямой статистической пороговой фильтрации
0.00 0.00 12.00 24.00 12.00 0.00 0.00 0.00 0.00 0.00 0.00
16.00 28.00 36.00 52.00 28.00 0.00 0.00 0.00 0.00 0.00 0.00
36.00 64.00 58.00 68.00 41.00 9.00 9.00 12.00 9.00 0.00 0.00
28.00 58.00 70.00 113.00 104.00 53.00 32.00 34.00 24.00 0.00 0.00
18.00 52.00 111.00 128.78 132.00 117.00 81.00 55.00 37.00 0.00 0.00
14.00 46.00 111.00 153.00 165.00 157.00 170.00 101.00 74.00 12.00 0.00
4.00 26.00 70.00 147.00 195.00 181.11 174.00 161.00 115.00 28.00 18.00
2.00 16.00 49.00 117.00 167.00 190.00 200.00 199.00 128.00 62.00 24.00
2.00 8.00 21.00 67.00 101.00 136.00 183.00 190.00 186.00 82.00 36.00
0.00 2.00 6.00 25.00 34.00 85.00 154.00 161.56 160.00 94.00 54.00
0.00 0.00 0.00 0.00 14.00 57.00 96.00 137.00 140.00 88.00 36.00
0.00 0.00 0.00 3.00 10.00 28.00 58.00 119.00 98.00 54.00 30.00
0.00 0.00 0.00 0.00 3.00 10.00 38.00 42.00 45.00 24.00 18.00
Результат прямой анизотропной фильтрации
0.00 0.00 12.00 24.00 12.00 0.00 0.00 0.00 0.00 0.00 0.00
16.00 27.47 38.00 37.20 26.07 10.73 3.40 3.20 2.20 1.20 0.00
36.00 44.80 60.93 62.93 51.20 30.53 16.93 13.33 8.73 3.80 0.00
28.00 55.60 87.87 97.67 95.93 63.13 43.93 33.13 19.07 7.73 0.00
18.00 55.67 100.40 133.93 128.93 114.40 87.13 67.87 37.20 16.33 0.00
14.00 49.80 104.20 139.87 165.60 153.27 140.87 105.13 65.00 31.87 0.00
4.00 37.73 80.47 130.67 167.33 183.73 170.60 147.73 98.93 49.53 18.00
2.00 21.80 57.80 103.67 148.53 172.73 182.93 172.80 124.53 77.20 24.00
2.00 11.93 34.20 65.13 102.73 138.47 172.87 175.33 149.60 90.40 36.00
0.00 4.40 14.40 30.27 56.47 94.93 138.27 165.00 140.13 97.47 54.00
0.00 0.93 4.40 9.47 28.33 60.40 104.93 127.60 123.53 84.80 36.00
0.00 0.00 0.20 3.53 14.13 34.73 63.13 88.67 82.27 58.67 30.00
0.00 0.00 0.00 0.00 3.00 10.00 38.00 42.00 45.00 24.00 18.00
Разности исходной и полученных матриц:
· Первым методом
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 -71.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 -30.89 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 -46.44 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
· Вторым методом
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 -0.53 2.00 -14.80 -1.93 10.73 3.40 3.20 2.20 1.20 0.00
0.00 -19.20 2.93 -5.07 10.20 21.53 7.93 1.33 -0.27 3.80 0.00
0.00 -2.40 17.87 -15.33 -8.07 10.13 11.93 -0.87 -4.93 7.73 0.00
0.00 3.67 -10.60 -66.07 -3.07 -2.60 6.13 12.87 0.20 16.33 0.00
0.00 3.80 -6.80 -13.13 0.60 -3.73 -29.13 4.13 -9.00 19.87 0.00
0.00 11.73 10.47 -16.33 -27.67 -28.27 -3.40 -13.27 -16.07 21.53 0.00
0.00 5.80 8.80 -13.33 -18.47 -17.27 -17.07 -26.20 -3.47 15.20 0.00
0.00 3.93 13.20 -1.87 1.73 2.47 -10.13 -14.67 -36.40 8.40 0.00
0.00 2.40 8.40 5.27 22.47 9.93 -15.73 -43.00 -19.87 3.47 0.00
0.00 0.93 4.40 9.47 14.33 3.40 8.93 -9.40 -16.47 -3.20 0.00
0.00 0.00 0.20 0.53 4.13 6.73 5.13 -30.33 -15.73 4.67 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Выводы и анализ результатов:
Метод статистической пороговой фильтрации дает новые локальные помехи. В данной задаче он не отфильтровал вторую помеху, породив новую рядом с ней. Также создал еще одну помеху в другом месте.
Метод анизотропной фильтрации полностью меняет всю матрицу сигнала.
Метод пороговой фильтрации может применять для устранения локальных помех в гладких сигналах.
Метод анизотропной фильтрации подходит для применения в случаях, когда весь сигнал сильно зашумлен.
Листинг программы:
· Программа написана в среде MatLab 7.14;
· Все матрицы в программе индексируются от 1;
%--------------Расчётное задание #3----------------%
clear y1 y2
y1= [
0 0 12 24 12 0 0 0 0 0 0;
16 28 36 52 28 0 0 0 0 0 0;
36 64 58 68 41 9 9 12 9 0 0;
28 58 70 113 104 53 32 34 24 0 0;
18 52 111 155 132 117 81 55 37 0 0;
14 46 111 153 165 157 117 101 74 12 0;
4 26 70 147 195 212 174 161 115 28 18;
2 16 49 117 167 190 200 199 128 62 24;
2 8 21 67 101 136 183 190 186 82 36;
0 2 6 25 34 85 154 208 160 94 54;
0 0 0 0 14 57 96 137 140 88 36;
0 0 0 3 10 28 58 119 98 54 30;
0 0 0 0 3 10 38 42 45 24 18];
row_Y=size(y1,1);
col_Y=size(y1,2);
% вывод данных в файл out.txt
[F,mes]=fopen('out.txt', 'wt');
fprintf(F,'**************************************************\n');
fprintf(F,' Расчётное задание #3 \n');
fprintf(F,'**************************************************\n');
fprintf(F,'\n');
fprintf(F,' Исходные данные:\n');
fprintf(F,'\n');
fprintf(F,'Матрица y(n1,n2):\n');
fprintf(F,'\n');
for i=1:row_Y
for j=1:col_Y
fprintf(F,'%5d',y1(i,j));
end
fprintf(F,'\n');
end
%Визуализация исходной матрицы%
figure;
[x_gr,y_gr]=meshgrid(1:1:col_Y,1:1:row_Y);
surf(x_gr,y_gr,y1);
colorbar;
colormap(cool);
title('Исходная матрица y(n_{1},n_{2})');
xlabel('n_1{1}');
ylabel('n_2{1}');
figure;
imagesc(y1);
colormap(gray);
colorbar;
title('Исходная матрица y(n_{1},n_{2})');
xlabel('n_1{1}');
ylabel('n_2{1}');
fprintf(F,'Введем помеху: у(5,4) = 200, у(6,7) = 170\n');
y1(5,4)=200;
y1(6,7)=170;
fprintf(F,'\n');
fprintf(F,'Матрица с помехами y(n1,n2):\n');
fprintf(F,'\n');
for i=1:row_Y
for j=1:col_Y
fprintf(F,'%5d',y1(i,j));
end
fprintf(F,'\n');
end
fprintf(F,'\n');
% Визуализация матрицы c помехами%
figure;
[x_gr,y_gr]=meshgrid(1:1:col_Y,1:1:row_Y);
surf(x_gr,y_gr,y1);
colorbar;
colormap(cool);
title('Матрица с помехами y(n_{1},n_{2})');
xlabel('n_1{1}');
ylabel('n_2{1}');
figure;
imagesc(y1);
colormap(gray);
colorbar;
title('Матрица с помехами y(n_{1},n_{2})');
xlabel('n_1{1}');
ylabel('n_2{1}');
fprintf(F,'\n');
fprintf(F,'+++++ Статистическая пороговая фильтрация +++++\n');
fprintf(F,'\n');
fprintf(F,'Задано значение m=1.30\n');
fprintf(F,'\n');
fprintf(F,'Вывод результатов:\n');
fprintf(F,'\n');
m=1.30;
N=3;
y2=y1;
for j=2:(col_Y-1)
for i=2:(row_Y-1)
Disp=0;
Gij=0;
%Подсчитываем среднее значение элементов окна NxN
for k1=(-(N-1)/2):((N-1)/2)
for k2= (-(N-1)/2):((N-1)/2)
Gij=Gij+y1(i+k1, j+k2);
end
end
Gij=Gij/(N^2);
%Вычисляем дисперсию и среднеквадратичное отклонение
for k1=(-(N-1)/2):((N-1)/2)
for k2= (-(N-1)/2):((N-1)/2)
Disp=Disp+(y1(i+k1, j+k2)-Gij)^2;
end
end
Disp=Disp/(N^2-1);
Sigma=sqrt(Disp);
Threshold=m*Sigma;
Diff=y1(i,j)-Gij;
if (abs(Diff)>Threshold)
y2(i,j)=Gij;
fprintf(F,' Заменен элемент y(%d,%d)\n', i,j);
end
end
end
fprintf(F,'\n');
fprintf(F,'Отфильтрованная матрица 1 y(n1,n2):\n');
fprintf(F,'\n');
for i=1:row_Y
for j=1:col_Y
fprintf(F,'%7.2f',y2(i,j));
end
fprintf(F,'\n');
end
fprintf(F,'\n');
% Визуализация%
figure;
[x_gr,y_gr]=meshgrid(1:1:col_Y,1:1:row_Y);
surf(x_gr,y_gr,y2);
colorbar;
colormap(cool);
title('Отфильтрованная матрица y2(n_{1},n_{2})');
xlabel('n_1');
ylabel('n_2');
figure;
imagesc(y1);
colormap(gray);
colorbar;
title('Отфильтрованная матрица y2(n_{1},n_{2})');
xlabel('n_1');
ylabel('n_2');
fprintf(F,'\n');
fprintf(F,'D1 = y2 - y1:\n');
fprintf(F,'\n');
for i=1:row_Y
for j=1:col_Y
fprintf(F,'%7.2f',y2(i,j)-y1(i,j));
end
fprintf(F,'\n');
end
fprintf(F,'\n');
fprintf(F,'\n');
fprintf(F,'+++++ Анизотропная фильтрация +++++\n');
fprintf(F,'\n');
fprintf(F,'Задано \n');
W= [2 1 2;
1 3 1;
2 1 2];
W=(1/15)*W;
row_W=size(W,1);
col_W=size(W,2);
fprintf(F,'W = \n');
for i=1:row_W
for j=1:col_W
fprintf(F,'%7.3f',W(i,j));
end
fprintf(F,'\n');
end
fprintf(F,'\n');
fprintf(F,'Вывод результатов:\n');
fprintf(F,'\n');
y3=y1;
for j=2:(col_Y-1)
for i=2:(row_Y-1)
Gij=0;
%Подсчитываем новый центральный элемент окна NxN
for k1=(-(N-1)/2):((N-1)/2)
for k2= (-(N-1)/2):((N-1)/2)
Gij=Gij+y1(i+k1, j+k2)*W(k1+(N-1),k2+(N-1));
end
end
y3(i,j)=Gij;
end
end
fprintf(F,'\n');
fprintf(F,'Отфильтрованная матрица 2 y(n1,n2):\n');
fprintf(F,'\n');
for i=1:row_Y
for j=1:col_Y
fprintf(F,'%7.2f',y3(i,j));
end
fprintf(F,'\n');
end
fprintf(F,'\n');
% Визуализация%
figure;
[x_gr,y_gr]=meshgrid(1:1:col_Y,1:1:row_Y);
surf(x_gr,y_gr,y3);
colorbar;
colormap(cool);
title('Отфильтрованная матрица y3(n_{1},n_{2})');
xlabel('n_1');
ylabel('n_2');
figure;
imagesc(y1);
colormap(gray);
colorbar;
title('Отфильтрованная матрица y3(n_{1},n_{2})');
xlabel('n_1');
ylabel('n_2');
fprintf(F,'\n');
fprintf(F,'D2 = y3 - y1:\n');
fprintf(F,'\n');
for i=1:row_Y
for j=1:col_Y
fprintf(F,'%7.2f',y3(i,j)-y1(i,j));
end
fprintf(F,'\n');
end
fprintf(F,'\n');
fclose(F);
Вывод программы:
**************************************************
Расчётное задание #3
**************************************************
Исходные данные:
Матрица y(n1,n2):
0 0 12 24 12 0 0 0 0 0 0
16 28 36 52 28 0 0 0 0 0 0
36 64 58 68 41 9 9 12 9 0 0
28 58 70 113 104 53 32 34 24 0 0
18 52 111 155 132 117 81 55 37 0 0
14 46 111 153 165 157 117 101 74 12 0
4 26 70 147 195 212 174 161 115 28 18
2 16 49 117 167 190 200 199 128 62 24
2 8 21 67 101 136 183 190 186 82 36
0 2 6 25 34 85 154 208 160 94 54
0 0 0 0 14 57 96 137 140 88 36
0 0 0 3 10 28 58 119 98 54 30
0 0 0 0 3 10 38 42 45 24 18
Введем помеху: у(5,4) = 200, у(6,7) = 170
Матрица с помехами y(n1,n2):
0 0 12 24 12 0 0 0 0 0 0
16 28 36 52 28 0 0 0 0 0 0
36 64 58 68 41 9 9 12 9 0 0
28 58 70 113 104 53 32 34 24 0 0
18 52 111 200 132 117 81 55 37 0 0
14 46 111 153 165 157 170 101 74 12 0
4 26 70 147 195 212 174 161 115 28 18
2 16 49 117 167 190 200 199 128 62 24
2 8 21 67 101 136 183 190 186 82 36
0 2 6 25 34 85 154 208 160 94 54
0 0 0 0 14 57 96 137 140 88 36
0 0 0 3 10 28 58 119 98 54 30
0 0 0 0 3 10 38 42 45 24 18
+++++ Статистическая пороговая фильтрация +++++
Задано значение m=1.30
Вывод результатов:
Заменен элемент y(5,4)
Заменен элемент y(7,6)
Заменен элемент y(10,8)
Отфильтрованная матрица 1 y(n1,n2):
0.00 0.00 12.00 24.00 12.00 0.00 0.00 0.00 0.00 0.00 0.00
16.00 28.00 36.00 52.00 28.00 0.00 0.00 0.00 0.00 0.00 0.00
36.00 64.00 58.00 68.00 41.00 9.00 9.00 12.00 9.00 0.00 0.00
28.00 58.00 70.00 113.00 104.00 53.00 32.00 34.00 24.00 0.00 0.00
18.00 52.00 111.00 128.78 132.00 117.00 81.00 55.00 37.00 0.00 0.00
14.00 46.00 111.00 153.00 165.00 157.00 170.00 101.00 74.00 12.00 0.00
4.00 26.00 70.00 147.00 195.00 181.11 174.00 161.00 115.00 28.00 18.00
2.00 16.00 49.00 117.00 167.00 190.00 200.00 199.00 128.00 62.00 24.00
2.00 8.00 21.00 67.00 101.00 136.00 183.00 190.00 186.00 82.00 36.00
0.00 2.00 6.00 25.00 34.00 85.00 154.00 161.56 160.00 94.00 54.00
0.00 0.00 0.00 0.00 14.00 57.00 96.00 137.00 140.00 88.00 36.00
0.00 0.00 0.00 3.00 10.00 28.00 58.00 119.00 98.00 54.00 30.00
0.00 0.00 0.00 0.00 3.00 10.00 38.00 42.00 45.00 24.00 18.00
D1 = y2 - y1:
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 -71.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 -30.89 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 -46.44 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
+++++ Анизотропная фильтрация +++++
Задано
W =
0.133 0.067 0.133
0.067 0.200 0.067
0.133 0.067 0.133
Вывод результатов:
Отфильтрованная матрица 2 y(n1,n2):
0.00 0.00 12.00 24.00 12.00 0.00 0.00 0.00 0.00 0.00 0.00
16.00 27.47 38.00 37.20 26.07 10.73 3.40 3.20 2.20 1.20 0.00
36.00 44.80 60.93 62.93 51.20 30.53 16.93 13.33 8.73 3.80 0.00
28.00 55.60 87.87 97.67 95.93 63.13 43.93 33.13 19.07 7.73 0.00
18.00 55.67 100.40 133.93 128.93 114.40 87.13 67.87 37.20 16.33 0.00
14.00 49.80 104.20 139.87 165.60 153.27 140.87 105.13 65.00 31.87 0.00
4.00 37.73 80.47 130.67 167.33 183.73 170.60 147.73 98.93 49.53 18.00
2.00 21.80 57.80 103.67 148.53 172.73 182.93 172.80 124.53 77.20 24.00
2.00 11.93 34.20 65.13 102.73 138.47 172.87 175.33 149.60 90.40 36.00
0.00 4.40 14.40 30.27 56.47 94.93 138.27 165.00 140.13 97.47 54.00
0.00 0.93 4.40 9.47 28.33 60.40 104.93 127.60 123.53 84.80 36.00
0.00 0.00 0.20 3.53 14.13 34.73 63.13 88.67 82.27 58.67 30.00
0.00 0.00 0.00 0.00 3.00 10.00 38.00 42.00 45.00 24.00 18.00
D2 = y3 - y1:
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 -0.53 2.00 -14.80 -1.93 10.73 3.40 3.20 2.20 1.20 0.00
0.00 -19.20 2.93 -5.07 10.20 21.53 7.93 1.33 -0.27 3.80 0.00
0.00 -2.40 17.87 -15.33 -8.07 10.13 11.93 -0.87 -4.93 7.73 0.00
0.00 3.67 -10.60 -66.07 -3.07 -2.60 6.13 12.87 0.20 16.33 0.00
0.00 3.80 -6.80 -13.13 0.60 -3.73 -29.13 4.13 -9.00 19.87 0.00
0.00 11.73 10.47 -16.33 -27.67 -28.27 -3.40 -13.27 -16.07 21.53 0.00
0.00 5.80 8.80 -13.33 -18.47 -17.27 -17.07 -26.20 -3.47 15.20 0.00
0.00 3.93 13.20 -1.87 1.73 2.47 -10.13 -14.67 -36.40 8.40 0.00
0.00 2.40 8.40 5.27 22.47 9.93 -15.73 -43.00 -19.87 3.47 0.00
0.00 0.93 4.40 9.47 14.33 3.40 8.93 -9.40 -16.47 -3.20 0.00
0.00 0.00 0.20 0.53 4.13 6.73 5.13 -30.33 -15.73 4.67 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Дата добавления: 2015-11-04; просмотров: 19 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Данное обращение предназначено для того, чтобы обратить внимание СМИ на ряд очевидных правонарушений, допущенных в деле Мирзаева в ходе состоявшихся судебных заседаний Замоскворецкого суда и | | | Phone number: +82 10-7405-5526 Nationality: Kazakhstan |