
Лаба 1-8 Лабы и ПЗ [Вариант 1] / 5 / ЦОС ТЧП
.pdfБелорусский государственный университет информатики и радиоэлектроники
Кафедра РТС
Лабораторная работа №4
Теоретико-числовые преобразования
Выполнил: |
Проверил: |
Ст. гр. 941201 |
ХодыкоД.Л. |
Зарецкий Д. В. |
|
Минск 2012
1

Цель работы:
1.Изучить алгоритмы цифровой обработки сигналов на основе теоретикочисловых преобразований в конечном поле или кольце целых чисел по модулю чисел Ферма и по методу чисел Мерсенна.
2.Получить навыки моделирования теоретико-числовых преобразований в среде
Matlab.
Ход работы:
1)Определение параметров ТЧП
По полученным параметрам N=7 и ε=2 определили модульM ТЧП:
Рассчитаем модуль для N=8 и ε=4.
В нашем случае i=1. Значение iподставим формулу, которая написана выше для N. Решив данное уравнение, получим, t=3.
Подставив в Ft=2b+1, b=2tнаше значение t, вычислим модуль М.b=8F3=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 |
2
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 |
3
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] |
; |
fori=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 |
Текст программы дляN=8 и ε=4: |
1 |
|
9 |
M=257; |
|
|
6 |
N=8; |
|
|
0 |
eps=4; |
|
|
2 |
|
y = |
|
81 |
|
57 |
|
6 |
|
59 |
|
5 |
|
3 |
|
125 |
|
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] |
fori=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
5.) Проверка свойств базисных функций и ТЧП 1-5 из п.1.3. 5.1. Ортогональность
7
Текст программы: |
Текст программы: |
|
для N=7 и ε=2: |
для N=8 и ε=4: |
|
M=127; |
M=257; |
|
N=7; |
N=8; |
|
eps=2; |
eps=4; |
|
Q=[1 0 0 0 0 0 0; |
Q=[1 0 0 0 0 0 0 0; |
|
0 0 0 0 0 0 1; |
0 0 0 0 0 0 0 1; |
|
0 0 0 0 0 1 0; |
0 0 0 0 0 0 1 0; |
|
0 0 0 0 1 0 0 |
0 0 0 0 0 1 0 0 |
|
0 0 0 1 0 0 0; |
0 0 0 0 1 0 0 0; |
|
0 0 1 0 0 0 0; |
0 0 0 1 0 0 0 0; |
|
0 1 0 0 0 0 0] ; |
0 0 1 0 0 0 0 0; |
|
fori=1:N; |
0 1 0 0 0 0 0 0]; |
|
for j=1:N; |
fori=1:N; |
|
T(i,j)=mod(eps^((i-1)*(j- |
||
for j=1:N; |
||
1)),M); |
||
T(i,j)=mod(eps^((i- |
||
end |
||
|
||
end |
1)*(j-1)),M); |
|
T; |
end |
|
IT=T*Q ; |
end |
|
n1 = 2; |
||
T; |
||
n2 = 3; |
||
IT=T*Q ; |
||
s1 = T(n1,:); |
||
|
||
s2 = IT(n1,:); |
|
|
s3 = IT(n2,:); |
n1 = 2; |
|
sp1 = |
n2 = 3; |
|
mod(sum(s1.*s2),M) |
s1 = T(n1,:); |
|
sp2 = |
s2 = IT(n1,:); |
|
mod(sum(s1.*s3),M) |
s3 = IT(n2,:); |
|
|
sp1 = |
|
|
mod(sum(s1.*s2),M) |
|
|
sp2 = |
|
|
mod(sum(s1.*s3),M) |
|
|
|
|
Результат программы: |
Результат программы: |
|
sp1 = |
sp1 = |
|
7 |
8 |
|
sp2 = |
sp2 = |
|
0 |
0 |
|
|
|
Вывод: ТЧП обладает свойством ортогональности,т.к.. при k1<>k2, значение равное 0, а при k1=k2 получается результат, равным N.
6
5.2. Периодичность
Текст программы: |
Текст программы: |
для N=7 и ε=2: |
для N=8 и ε=4: |
M=127; |
M=257; |
N=7; |
N=8; |
Q=[1 0 0 0 0 0 0; |
Q=[1 0 0 0 0 0 0 0; |
0 0 0 0 0 0 1; |
0 0 0 0 0 0 0 1; |
0 0 0 0 0 1 0; |
0 0 0 0 0 0 1 0; |
0 0 0 0 1 0 0 |
0 0 0 0 0 1 0 0 |
0 0 0 1 0 0 0; |
0 0 0 0 1 0 0 0; |
0 0 1 0 0 0 0; |
0 0 0 1 0 0 0 0; |
0 1 0 0 0 0 0] ; |
0 0 1 0 0 0 0 0; |
fori=1:N; |
0 1 0 0 0 0 0 0]; |
for j=1:N; |
fori=1:N; |
|
|
T(i,j)=mod(eps^((i-1)*(j- |
for j=1:N; |
|
|
1)),M); |
T(i,j)=mod(eps^((i-1)*(j- |
|
|
end |
1)),M); |
|
|
end |
end |
|
|
T; |
end |
|
|
s= floor(rand(N,1)*10) |
T; |
|
|
S= mod(T*s,M) |
s= floor(rand(N,1)*10) |
|
|
mod(s(5),M) |
S= mod(T*s,M) |
|
|
s(mod((5+N),N)) |
mod(s(5),M) |
|
|
mod(S(6),M) |
s(mod((5+N),N)) |
|
|
S(mod((6+N),N)) |
mod(S(6),M) |
|
|
|
S(mod((6+N),N)) |
|
|
Результатпрограммы: |
Результат программы: |
s = |
s = |
3 |
1 |
9 |
4 |
0 |
4 |
4 |
6 |
3 |
7 |
7 |
7 |
7 |
2 |
|
6 |
S = |
|
|
S = |
33 |
|
11 |
37 |
73 |
14 |
59 |
243 |
29 |
27 |
123 |
254 |
74 |
200 |
|
36 |
|
171 |
ans = |
|
3 |
ans = |
|
|
7
|
7 |
ans = |
|
3 |
ans = |
|
7 |
ans = |
|
123 |
ans = |
|
200 |
ans = |
|
123 |
ans = |
|
200 |
Вывод: Из полученных результатов видно, что повторение значений наблюдается согласно периоду повторения, значит, ТЧП обладает свойством периодичности.
5.3. Симметрия
Текст программы: |
|
Текст программы: |
|||||||||||||
для N=7 и ε=2: |
|
для N=8 и ε=4: |
|
||||||||||||
M=127; |
|
|
|
|
|
M=257; |
|
|
|
|
|
||||
N=7; |
|
|
|
|
|
|
|
N=8; |
|
|
|
|
|
|
|
eps=2; |
|
|
|
|
|
eps=4; |
|
|
|
|
|
||||
Q=[1 0 0 0 0 0 0; |
|
Q=[1 0 0 0 0 0 0 0; |
|||||||||||||
0 0 0 0 0 0 1; |
|
0 0 0 0 0 0 0 1; |
|||||||||||||
0 0 0 0 0 1 0; |
|
0 0 0 0 0 0 1 0; |
|||||||||||||
0 0 0 0 1 0 0 |
|
0 0 0 0 0 1 0 0 |
|||||||||||||
0 0 0 1 0 0 0; |
|
0 0 0 0 1 0 0 0; |
|||||||||||||
0 0 1 0 0 0 0; |
|
0 0 0 1 0 0 0 0; |
|||||||||||||
0 1 0 0 0 0 0] ; |
0 0 1 0 0 0 0 0; |
||||||||||||||
fori=1:N; |
|
|
|
|
|
0 1 0 0 0 0 0 0]; |
|||||||||
for j=1:N; |
|
|
|
|
fori=1:N; |
|
|
|
|
||||||
T(i,j)=mod(eps^((i-1)*(j- |
|
|
|
|
|||||||||||
for j=1:N; |
|
|
|
||||||||||||
1)),M); |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
T(i,j)=mod(eps^((i- |
||||||||||
end |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
1)*(j-1)),M); |
|
||||||
T; |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
s=[0 |
1 |
2 |
3 |
3 |
2 |
1] |
|
end |
|
|
|
|
|
|
|
S=mod(T*s',M) |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
T; |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IT=T*Q ; |
|
|
|
|
|||
|
|
|
|
|
|
|
|
s=[0 |
1 |
2 |
3 |
4 |
3 |
21 |
] |
|
|
|
|
|
|
|
|
S=mod(T*s',M) |
|
|
|
||||
|
|
||||||||||||||
Результат программы: |
Результат программы: |
||||||||||||||
s = |
|
|
|
|
|
|
|
s = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
1 |
|
|
|
2 |
3 |
|
|
0 |
|
|
1 |
|
2 |
432 |
|
|
|
1 |
|
|
|
3 |
|
3 |
|
|
|
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S = |
|
|
|
|
|
|
|
S = |
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8
12 |
0 |
83 |
1 |
28 |
0 |
10 |
1 |
10 |
0 |
28 |
8 |
83 |
|
|
|
Вывод: замечаем, что спектр сиимметричной последовательности также является симметричным, следовательно ТЧП обладает свойство симметрии
5.4. Симметрия двойного преобразования
Текст программы: |
Текст программы: |
|||
для N=7 и ε=2: |
для N=8 и ε=4: |
|||
M=127; |
M=257; |
|
||
N=7; |
N=8; |
|
|
|
eps=2; |
eps=4; |
|
||
Q=[1 0 0 0 0 0 0; |
Q=[1 |
0 |
0 0 0 0 0 0; |
|
0 0 0 0 0 0 1; |
0 0 0 0 0 0 0 1; |
|||
0 0 0 0 0 1 0; |
0 0 0 0 0 0 1 0; |
|||
0 0 0 0 1 0 0 |
0 0 0 0 0 1 0 0 |
|||
0 0 0 1 0 0 0; |
0 0 0 0 1 0 0 0; |
|||
0 0 1 0 0 0 0; |
0 0 0 1 0 0 0 0; |
|||
0 1 0 0 0 0 0] ; |
0 0 1 0 0 0 0 0; |
|||
fori=1:N; |
0 1 |
0 0 0 0 0 0]; |
||
for j=1:N; |
fori=1:N; |
|||
T(i,j)=mod(eps^((i-1)*(j- |
||||
for j=1:N; |
||||
1)),M); |
||||
T(i,j)=mod(eps^((i- |
||||
end |
||||
|
|
|
||
end |
1)*(j-1)),M); |
|||
T; |
end |
|
|
|
s= floor(rand(N,1)*10) |
end |
|
|
|
TTs = mod(T*T*s,M) |
T; |
|
|
|
Nis= mod(N*Q*s,M) |
IT=T*Q |
; |
||
|
s= floor(rand(N,1)*2) |
|||
|
TTs = mod(T*T*s,M) |
|||
|
Nis= mod(N*Q*s,M) |
|||
|
|
|||
Результат программы: |
Результат программы: |
|||
s = |
s = |
|
|
|
6 |
0 |
|
|
|
1 |
|
0 |
|
|
1 |
|
1 |
|
|
4 |
|
1 |
|
|
9 |
|
0 |
|
|
3 |
|
0 |
|
|
5 |
|
0 |
|
|
|
|
1 |
|
|
TTs = |
|
|
|
|
|
TTs = |
|
|
|
42 |
|
|
|
|
35 |
|
0 |
|
|
21 |
|
8 |
|
|
63 |
|
0 |
|
|
|
|
|
|
9
28 |
0 |
7 |
0 |
7 |
8 |
|
8 |
|
0 |
Nis = |
|
42 |
Nis = |
35 |
|
21 |
0 |
63 |
8 |
28 |
0 |
7 |
0 |
7 |
0 |
|
8 |
|
8 |
|
0 |
|
|
Вывод: Равенствовыполняется, значит, ТЧП обладает свойством симметрии двойного преобразования
5.5. Свойство сдвига
Текст программы:
Текст программы: |
Текст программы: |
|
для N=7 и ε=2: |
для N=8 и ε=4: |
|
M=127; |
M=257; |
|
N=7; |
N=8; |
|
eps=2; |
eps=4; |
|
Q=[1 0 0 0 0 0 0; |
Q=[1 0 0 0 0 0 0 0; |
|
0 0 0 0 0 0 1; |
0 0 0 0 0 0 0 1; |
|
0 0 0 0 0 1 0; |
0 0 0 0 0 0 1 0; |
|
0 0 0 0 1 0 0 |
0 0 0 0 0 1 0 0 |
|
0 0 0 1 0 0 0; |
0 0 0 0 1 0 0 0; |
|
0 0 1 0 0 0 0; |
0 0 0 1 0 0 0 0; |
|
0 1 0 0 0 0 0] ; |
0 0 1 0 0 0 0 0; |
|
fori=1:N; |
0 1 0 0 0 0 0 0]; |
|
for j=1:N; |
fori=1:N; |
|
T(i,j)=mod(eps^((i-1)*(j- |
||
for j=1:N; |
||
1)),M); |
||
T(i,j)=mod(eps^((i- |
||
end |
||
|
||
end |
1)*(j-1)),M); |
|
T; |
end |
|
s1 = [1 2 3 4 5 6 7] |
end |
|
|
||
s2 = [4 5 6 7 1 2 3] |
T; |
|
S1=mod(T*s1',M) |
||
s1 = [1 2 3 4 5 6 7] |
||
S2=mod(T*s2',M) |
||
s2 = [4 5 6 7 1 2 3] |
||
for k=0:(N-1) |
||
S1=mod(T*s1',M) |
||
e(k+1)=mod(eps^(4*k),M); |
||
S2=mod(T*s2',M) |
||
end |
||
|
||
e |
for k=0:(N-1) |
|
|
||
S3=mod(S1.*e',M) |
|
|
|
e(k+1)=mod(eps^(4*k),M); |
|
|
end |
|
|
e |
|
|
S3=mod(S1.*e',M) |
|
|
|
|
Результат программы: |
Результат программы: |
|
|
|
10