
Белорусский государственный университет
информатики и радиоэлектроники
Кафедра РТС
Лабораторная работа №4
Теоретико-числовые преобразования
Выполнил: Проверил:
Ст. гр. 941201 Ходыко Д. Л.
Зарецкий Д. В.
Минск 2012
Цель работы:
1. Изучить алгоритмы цифровой обработки сигналов на основе теоретико-числовых преобразований в конечном поле или кольце целых чисел по модулю чисел Ферма и по методу чисел Мерсенна.
2. Получить навыки моделирования теоретико-числовых преобразований в среде Matlab.
Ход работы:
1)Определение параметров ТЧП
По полученным параметрам N=7 и ε=2 определили модуль M ТЧП :
Рассчитаем модуль для N=8 и ε=4.
В
нашем случае i=1.
Значение i
подставим формулу, которая написана
выше для N.
Решив данное уравнение, получим, t=3.
Подставив в Ft=2b+1, b=2t наше значение t, вычислим модуль М.b=8 F3=28+1=257. N-1=225
3) Построение матрицы прямой и обратной ТЧП
Текст программы для N=7 и ε=2 :
M=127;
N=7;
eps=2;
Q=[1 0 0 0 0 0 0;
0 0 0 0 0 0 1;
0 0 0 0 0 1 0;
0 0 0 0 1 0 0
0 0 0 1 0 0 0;
0 0 1 0 0 0 0;
0 1 0 0 0 0 0] ;
for i=1:N;
for j=1:N;
T(i,j)=mod(eps^((i-1)*(j-1)),M);
end
end
T
IT=T*Q
Результат:
T =
1 1 1 1 1 1 1
1 2 4 8 16 32 64
1 4 16 64 2 8 32
1 8 64 4 32 2 16
1 16 2 32 4 64 8
1 32 8 2 64 16 4
1 64 32 16 8 4 2
IT =
1 1 1 1 1 1 1
1 64 32 16 8 4 2
1 32 8 2 64 16 4
1 16 2 32 4 64 8
1 8 64 4 32 2 16
1 4 16 64 2 8 32
1 2 4 8 16 32 64
Текст программы для N=8 и ε=4:
N=8;
eps=4;
M=257;
for k=0:(N-1)
for n=0:(N-1)
T(n+1,k+1)= mod(eps^(n*k),M);
end
end
T
Q = [1 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 1 0;
0 0 0 0 0 1 0 0;
0 0 0 0 1 0 0 0;
0 0 0 1 0 0 0 0;
0 0 1 0 0 0 0 0;
0 1 0 0 0 0 0 0];
IT=T*Q
Результат:
T =
1 1 1 1 1 1 1 1
1 4 16 64 256 253 241 193
1 16 256 241 1 16 256 241
1 64 241 4 256 193 16 253
1 256 1 256 1 256 1 0
1 253 16 193 256 4 0 0
1 241 256 16 1 0 0 0
1 193 241 253 0 0 0 0
IT =
1 1 1 1 1 1 1 1
1 193 241 253 256 64 16 4
1 241 256 16 1 241 256 16
1 253 16 193 256 4 241 64
1 0 1 256 1 256 1 256
1 0 0 4 256 193 16 253
1 0 0 0 1 16 256 241
1 0 0 0 0 253 241 193
4). Вычисление автосвёртки для заданной (сформированной случайным образом) последовательности отсчётов сигнала.
Текст программы для N=7 и ε=2:
M=127;
N=7;
eps=2;
Q=[1 0 0 0 0 0 0;
0 0 0 0 0 0 1;
0 0 0 0 0 1 0;
0 0 0 0 1 0 0
0 0 0 1 0 0 0;
0 0 1 0 0 0 0;
0 1 0 0 0 0 0] ;
for i=1:N;
for j=1:N;
T(i,j)=mod(eps^((i-1)*(j-1)),M);
end
end
T;
IT=T*Q ;
s= floor(rand(N,1)*10)
S= mod(T*s,M);
A= mod(S.*S,M);
y= mod(109*IT*A,M)
Результат программы:
s =
8
9
1
9
6
0
2
y =
81
57
6
59
5
3
125
Текст программы для N=8 и ε=4:
M=257;
N=8;
eps=4;
Q=[1 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 1 0;
0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0;
0 0 0 1 0 0 0 0;
0 0 1 0 0 0 0 0;
0 1 0 0 0 0 0 0]
for i=1:N;
for j=1:N;
T(i,j)=mod(eps^((i-1)*(j-1)),M);
end
end
T;
IT=T*Q ;
s= floor(rand(N,1)*10)
S= mod(T*s,M);
A= mod(S.*S,M);
y= mod(225*IT*A,M)
Результат:
s =
5
9
9
1
9
9
4
8
y =
210
253
105
122
15
249
160
199
5.) Проверка свойств базисных функций и ТЧП 1-5 из п.1.3.
5.1. Ортогональность
7
Текст программы: для N=7 и ε=2: M=127; N=7; eps=2; Q=[1 0 0 0 0 0 0; 0 0 0 0 0 0 1; 0 0 0 0 0 1 0; 0 0 0 0 1 0 0 0 0 0 1 0 0 0; 0 0 1 0 0 0 0; 0 1 0 0 0 0 0] ; for i=1:N; for j=1:N; T(i,j)=mod(eps^((i-1)*(j-1)),M); end end T; IT=T*Q ; n1 = 2; n2 = 3; s1 = T(n1,:); s2 = IT(n1,:); s3 = IT(n2,:); sp1 = mod(sum(s1.*s2),M) sp2 = mod(sum(s1.*s3),M)
|
Текст программы: для N=8 и ε=4: M=257; N=8; eps=4; Q=[1 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 1; 0 0 0 0 0 0 1 0; 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0; 0 0 0 1 0 0 0 0; 0 0 1 0 0 0 0 0; 0 1 0 0 0 0 0 0]; for i=1:N; for j=1:N; T(i,j)=mod(eps^((i-1)*(j-1)),M); end end T; IT=T*Q ;
n1 = 2; n2 = 3; s1 = T(n1,:); s2 = IT(n1,:); s3 = IT(n2,:); sp1 = mod(sum(s1.*s2),M) sp2 = mod(sum(s1.*s3),M)
|
Результат программы: sp1 =
7
sp2 =
0
|
Результат программы: sp1 =
8
sp2 =
0 |
Вывод: ТЧП обладает свойством ортогональности,т.к.. при k1<>k2, значение равное 0, а при k1=k2 получается результат, равным N.
5.2. Периодичность
Текст программы: для N=7 и ε=2: M=127; N=7; Q=[1 0 0 0 0 0 0; 0 0 0 0 0 0 1; 0 0 0 0 0 1 0; 0 0 0 0 1 0 0 0 0 0 1 0 0 0; 0 0 1 0 0 0 0; 0 1 0 0 0 0 0] ; for i=1:N; for j=1:N; T(i,j)=mod(eps^((i-1)*(j-1)),M); end end T; s= floor(rand(N,1)*10) S= mod(T*s,M) mod(s(5),M) s(mod((5+N),N)) mod(S(6),M) S(mod((6+N),N))
|
Текст программы: для N=8 и ε=4: M=257; N=8; Q=[1 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 1; 0 0 0 0 0 0 1 0; 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0; 0 0 0 1 0 0 0 0; 0 0 1 0 0 0 0 0; 0 1 0 0 0 0 0 0]; for i=1:N; for j=1:N; T(i,j)=mod(eps^((i-1)*(j-1)),M); end end T; s= floor(rand(N,1)*10) S= mod(T*s,M) mod(s(5),M) s(mod((5+N),N)) mod(S(6),M) S(mod((6+N),N))
|
Результат программы: s =
3 9 0 4 3 7 7
S =
33 11 73 59 29 123 74
ans =
3
ans =
3
ans =
123
ans =
123 |
Результат программы: s =
1 4 4 6 7 7 2 6
S =
37 14 243 27 254 200 36 171
ans =
7
ans =
7
ans =
200
ans =
200 |
Вывод: Из полученных результатов видно, что повторение значений наблюдается согласно периоду повторения, значит, ТЧП обладает свойством периодичности.
5.3. Симметрия
Текст программы: для N=7 и ε=2: M=127; N=7; eps=2; Q=[1 0 0 0 0 0 0; 0 0 0 0 0 0 1; 0 0 0 0 0 1 0; 0 0 0 0 1 0 0 0 0 0 1 0 0 0; 0 0 1 0 0 0 0; 0 1 0 0 0 0 0] ; for i=1:N; for j=1:N; T(i,j)=mod(eps^((i-1)*(j-1)),M); end end T; s=[0 1 2 3 3 2 1] S=mod(T*s',M)
|
Текст программы: для N=8 и ε=4: M=257; N=8; eps=4; Q=[1 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 1; 0 0 0 0 0 0 1 0; 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0; 0 0 0 1 0 0 0 0; 0 0 1 0 0 0 0 0; 0 1 0 0 0 0 0 0]; for i=1:N; for j=1:N; T(i,j)=mod(eps^((i-1)*(j-1)),M); end end T; IT=T*Q ; s=[ 0 1 2 3 4 3 2 1 ] S=mod(T*s',M)
|
Результат программы: s =
0 1 2 3 3 2 1
S =
12 83 28 10 10 28 83 |
Результат программы: s = 0 1 2 3 4 3 2 1
S =
16 8 0 1 0 1 0 8 |
Вывод: замечаем, что спектр сиимметричной последовательности также является симметричным, следовательно ТЧП обладает свойство симметрии