Отчет по лабораторной работе №1 "Работа в среде Matlab. Структура Signal Processing Toolbox. Генерация сигналов. Свертка "
Download 222.5 Kb.
|
lab1 matlab
- Bu sahifa navigatsiya:
- 3. Математическая постановка задачи
2.3. Свертка
Свертка играет очень важную роль в теории ЦОС. Дискретной сверткой двух сигналов g и h называют одномерный массив Ниже приведена иллюстрация процесса вычисления свертки.
В среде MATLAB свертка реализуется следующей функцией conv(А,B). В результате получается вектор длиной LENGTH(A)+LENGTH(B)-1. 3. Математическая постановка задачи 1. Выполнить генерацию сигналов
2. Написать программу, вычисляющую свертку двух сигналов, оформить ее в виде функции Z=myCONV(A,B). Сравнить результаты работы программы с функцией conv(A,B). 3. Для заданных сигналов найти свертки (используя совою программу) в соответствии с заданием. Объяснить полученные результаты аналитически. 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. Реализация 4.1. Генерация гармонического сигнала с частотой A с нормально распределенным шумом 4.1.1. Описание сигнала: В данном задании используются типы сигналов: детерминированный. . Например, гармонический сигнал с частотой A: случайный процесс. комбинированный сигнал. Случайный процесс, в данном случае, это нормально распределённый шум. В итоге, реализовываем комбинированный сигнал - шум, описывается нормальным законом: 4.1.2. Тект программы: function HarmonicSignal f1 = 10; % частота сигнала 1 f2 = 20; % частота сигнала 2 f3 = 30; % частота сигнала 3 T = 128; % T – длина сигнала t=0:1/T:1; % вектор времени t, изменяющийся с шагом 1/T A = 3; % амплитуда % зададим нормально распределённый шум v(t) y1=A*sin(f1*t)+randn(1,length(t)); y2=A*sin(f2*t)+randn(1,length(t)); y3=A*sin(f3*t)+randn(1,length(t)); plot(t,y1,'-ro',t,y2,'-g>',t,y3,'-b') grid on xlabel('Time'); ylabel('Amplitude'); title('SIGNAL'); 4.1.3. График сигнала: Рис.1 Гармонический сигнал с частотой A с нормально распределенным шумом 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 Задание: Сигналы:
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. Контрольные вопросы Download 222.5 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling