- •1. Цель выполнения задания
- •2. Теоретическое введение
- •2.1. Общая характеристика пакета Signal Processing [1]
- •2.2. Генерация сигналов в пакете Signal Processing
- •2.3. Свертка
- •3. Математическая постановка задачи
- •4. Реализация
- •4.1. Генерация гармонического сигнала с частотой Aс нормально распределенным шумом
- •4.2. Программа, вычисляющая свертку двух сигналов
- •4.3 Нахождение свертки для заданных сигналов с помощью разработанной программы myConv
- •5. Контрольные вопросы
- •5.1. Какие свойства свертки использовались в лабораторной работе?
- •5.2. Роль свертки в цос.
- •5.3. В чем отличие дискретной свертки от непрерывной?
- •5.4. Как представить дискретный сигнал с использованием свертки и дельта-функции?
- •6. Вывод
4.2. Программа, вычисляющая свертку двух сигналов
4.2.1.Теоретические данные:
Формула свертки: Z(k) =
Длина результирующего вектора: LZ = LA + LB – 1
4.2.2. Тект программы myCONV.m:
function Z = myCONV(A,B)
alen = length(A);
blen = length(B);
zlen = alen + blen -1;
for k=1:zlen
jmin = k+1-blen;
if jmin < 1
jmin = 1;
end;
jmax = k;
if jmax > alen
jmax = alen;
end;
Z(k) = 0;
for j=jmin:jmax
Z(k) = Z(k) + A(j)*B(k+1-j);
end;
end;
4.2.3. Примеры вызовов:
>> myCONV([0,1,2,3], [6, 7, 8, 9, 10, 11])
>> a=[0,1,2,3]; b=[3,2,1,0]; z=myCONV(a,b);
4.2.3. Результат вызова z=myCONV([0,1,2,3], [6, 7, 8, 9, 10, 11]):
z = 0 6 19 40 46 52 58 52 33
4.2.4. Вывод:
Результат работы разработанной функции myCONVсовпадает с результатом предопределенной вMatlabфункцииconv.
4.3 Нахождение свертки для заданных сигналов с помощью разработанной программы myConv
4.3.1 Задание:
Сигналы:
A={…0,1,1,1,1,1,0,…}
B={…,0,1,2,3,0,…}
C={…,0,2,1,0.5,0,…}
D={…,0,1,2,3,4,5,0,…}
E={…,0,5,4,5,3,1,0,…}
F=sin(2*pi*t)+0.1*randn(1,length(t)); t=0:1/125:10;
G={…,0,2,1,2,0,…}
Искомые свертки:
1. A*A
2. B*C;C*B
3. (D*E)*B; D*(E*B)
4. D*(E+B); D*E+D*B
5. F*A
6. F*G
4.3.2. Тект программы func.m:
function X = func3()
A = [0,1,1,1,1,1,0];
B = [0,1,2,3,0,0,0];
C = [0,2,1,0.5,0,0,0];
D = [0,1,2,3,4,5,0];
E = [0,5,4,5,3,1,0];
t = 0:1/125:10;
F = sin(2*pi*t) + 0.1*randn(1,length(t));
G = [0,2,1,2,0,0,0];
Z1 = myCONV(A,A);
Z2_1 = myCONV(B,C);
Z2_2 = myCONV(C,B);
Z3_1 = myCONV(myCONV(D,E),B);
Z3_2 = myCONV(D,myCONV(E,B));
Z4_1 = myCONV(D,E+B);
Z4_2 = myCONV(D,E)+myCONV(D,B);
Z5 = myCONV(F,A);
Z6 = myCONV(F,G);
figure; plot(Z1); title('A*A');
figure; plot(Z2_1); title('B*C');
figure; plot(Z2_2); title('C*B');
figure; plot(Z3_1); title('(D*E)*B');
figure; plot(Z3_2); title('D*(E*B)');
figure; plot(Z4_1); title('D*(E+B)');
figure; plot(Z4_2); title('D*E+D*B');
figure; plot(Z5); title('F*A');
figure; plot(Z6); title('F*G');
4.3.3. Примеры вызовов:
>> func3;
4.3.3. Результат вызова func3:
5. Контрольные вопросы
5.1. Какие свойства свертки использовались в лабораторной работе?
1) Дистрибутивность: h(t) * [a(t)+b(t)] = h(t) * a(t)+h(t) * b(t)
2) Коммутативность: a(t) * b(t) = a(t) * b(t)
3) Ассоциативность: [a(t) * b(t)] * h(t) =a(t) * [b(t)* h(t)]
5.2. Роль свертки в цос.
Свертка – это математический способ комбинирования двух сигналов для формирования третьего сигнала. Это один из самых важных методов ЦОС. Пользуясь стратегией импульсного разложения, системы описываются сигналом, называемым импульсной характеристикой. Свертка важна, так как она связывает три сигнала: входной сигнал, выходной сигнал и импульсную характеристику.
Преобразование свертки однозначно определяет выходной сигнал y(t) для установленного значения входного сигнала x(t) при известном значении функции импульсного отклика системы h(t).