Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОС 1-4.doc
Скачиваний:
45
Добавлен:
11.02.2015
Размер:
665.09 Кб
Скачать
        1. Свертка дискретных функций

Цель работы: изучение методики определения свертки дискретных функций аналитически и с помощью процедур-функций системы МАТЛАБ, определение переходной характеристики h(n) с помощью операции свертки.

Теоретическая часть.

Существует большое количество разнообразных алгоритмов ЦОС, еще больше находится в стадии разработ­ки или ждет своего открывателя. Однако для всех этих алгоритмов, включая самые сложные, необходимы одни и те же основные операции. Для начала будет полезно рас­смотреть некоторые из них, чтобы оценить простоту реализации ЦОС.

Итак, основные операции ЦОС — это свертка, корреляция, фильтрация, дискретные преобразования. Дадим краткое описание каждой из них. При этом заметим, что для всех основных операций ЦОС потребуется выполнение толь­ко простых арифметических действий — умножения, сложения, вычитания и операции сдвига. Кроме того, отметим сходство между многими операциями.

Свертка — это одна из наиболее используемых операций в ЦОС. Например, это основная операция цифровой фильтрации. Другой пример – преобразование Гильберта, используемое при вычислении огибающей сигнала. Для двух массивов x1(n) и x2(n) длиной N1 и N2 соответственно, их свертка определяется в общем виде соотношением:

, (1)

где - символ свертки, а .

Если x1(n) трактовать как импульсную характеристику линейной цифровой системы, а x2(n) - как сигнал на входе цифровой системы, тогда массив y(n) представляет собой сигнал на выходе линейной цифровой системы. Импульсная характеристика h(n) – это реакция дискретной системы на единичный импульс или дельта-функцию [nT].

          1. Задание к работе

Задача 1.

Создайте с помощью функции Function[t,y] (Задание 2, лабораторной работы №3) последовательность импульсов длиной 55 отсчетов, периодом 5 отсчетов, шириной 3 отсчета и амплитудой 1, которая должна быть помещена в вектор sq1. Создайте вектор длиной 1 представляющий одиночный импульс (delta1=[1]). Используйте функцию conv для определения свертки векторов sq1 и delta1. В отдельном окне постройте график свертки с помощью функции stem.

% Задача 1 лаб 4

function [x, y] = Function(L, S, T)

x = 0 : 1 : L;

y = pulstran(x, 1 : T : L, 'rectpuls', S);

end

% Задача 1 лаб 4

clear all, clc, close all

[x, sq1] = Function(54, 3, 5);

figure(1)

plot (x, sq1)

axis([0,60,-0.5,1.5]);

figure(2)

stem(x, sq1)

axis([0,60,-0.5,1.5]);

Задача 2.

Создайте вектор длиной 10, в первый его элемент занесите 1, а в остальные 9 нули – delta2 = [1 zeros(1,9);]. C помощью функции conv найдите свертку delta2 и sq1. Постройте в отдельном окне с помощью функции stem график свертки. Поменяйте порядок следования delta2 и sq1 в функции conv и постройте график свертки, сравните полученные графики.

% Задача 2_1 лаб 4

clear all, clc, close all

[x, sq1] = Function(54, 3, 5);

delta1 = [1];

res = conv(sq1, delta1);

figure(3)

stem(x, res)

axis([0,60,-0.5,1.5]);

% Задача 2_2 лаб 4

clear all, clc, close all

delta2 = [1 zeros(1,9)];

[x, sq1] = Function(54, 3, 5);

res3 = conv(delta2, sq1);

figure(5)

stem(res3);

axis([0,60,-0.5,1.5]);

Задача 3.

Задана дискретная функция Y[nT] = (X [nT] + X[nT – T]). Определите аналитически импульсную характеристику h(nT). Определите импульсную характеристику h(nT) c помощью функции impz(b,a). Постройте график функции h(nT).

Аналитическое решение:

Y[nT] = (X [nT] + X[nT – T]);

Y(0) = X (0) + X( – T) = 1 + 0 = 1

Y(T) = X (T) + X(0) = 0 + 1 = 1

Y(2T) = X (2T) + X(T) = 0 + 0 = 0

Y(3T) = X (3T) + X(2T) = 0 + 0 = 0

figure(6)

[h, t] = impz([1 1], [1]);

stem(t, h);

axis([-1,2,-0.5,1.5]);

Задача 4.

Определите через свертку реакцию системы на последовательность импульсов для "плоской" переходной характеристики, которая задается единичным вектором размерностью 2 (hn2 = [ones(1,2)];) . Найдите свертку hn2 и sq1, постройте в отдельном окне график свертки. Осуществите аналогичные операции, изменяя размерность единичного вектора hn2 до 5, 9 и 15. Объясните происходящие в свертке изменения.

clear all, clc, close all

[x, sq1] = Function(54, 3, 5);

hn2 = [ones(1,2)];

res1 = conv(sq1, hn2);

hn2 = [ones(1,5)];

res2 = conv(sq1, hn2);

hn2 = [ones(1,9)];

res3 = conv(sq1, hn2);

hn2 = [ones(1,15)];

res4 = conv(sq1, hn2);

figure(7)

subplot(2,2,1)

stem(res1)

title('1')

subplot(2,2,2)

stem(res2)

title('5')

subplot(2,2,3)

stem(res3)

title('9')

subplot(2,2,4)

stem(res4)

title('15')

Задача 5.

Заданы: дискретный входной сигнал

X(nT) = u(nT)-u(nT-5T)+u(nT-10T)-u(nT-15T)

и импульсная характеристика

h(nT) =(nT)+3(nT-T)+ (nT-2T),

определить аналитически свертку y(nT) = x(nT)h(nT). Проверить результат, используя функцию conv.

Аналитическое решение:

x(0)=u(0)-u(0-5)+u(0-10)-u(0-15)=1;

x(1)=u(1)-u(1-5)+u(1-10)-u(1-15)=1;

x(2)=u(2)-u(2-5)+u(2-10)-u(2-15)=1;

x(3)=u(3)-u(3-5)+u(3-10)-u(3-15)=1;

x(4)=u(4)-u(4-5)+u(4-10)-u(4-15)=1;

x(5)=u(5)-u(5-5)+u(5-10)-u(5-15)=0;

x(6)=u(6)-u(6-5)+u(6-10)-u(6-15)=0;

x(7)=u(7)-u(7-5)+u(7-10)-u(7-15)=0;

x(8)=u(8)-u(8-5)+u(8-10)-u(8-15)=0;

x(9)=u(9)-u(9-5)+u(9-10)-u(9-15)=0;

x(10)=u(10)-u(10-5)+u(10-10)-u(10-15)=1;

x(11)=u(11)-u(11-5)+u(11-10)-u(11-15)=1;

x(12)=u(12)-u(12-5)+u(12-10)-u(12-15)=1;

x(13)=u(13)-u(13-5)+u(13-10)-u(13-15)=1;

x(14)=u(14)-u(14-5)+u(14-10)-u(14-15)=1;

x(15)=u(15)-u(15-5)+u(15-10)-u(15-15)=0;

x(16)=u(16)-u(16-5)+u(16-10)-u(16-15)=0;

h(0)= δ(0)+3δ (-T)+ δ(-2T)=1

h(1T)= δ (1T)+3δ (0)+ δ(-T)=3

h(2T)= δ (2T)+3δ (T)+ δ(0)=1

h(3T)= δ (3T)+3δ (2T)+ δ(T)= 0

N=15+3-1=17;

x(nT)=(1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0);

h(nT)=(1 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0);

y(0)=x(0)h(0)= 1;

y(1)=x(0)h(1)+x(1)h(0) =3+1=4;

y(2)=x(0)h(2)+x(1)h(1)+x(2)h(0)=1+3+1=5;

y(3)=x(0)h(3)+x(1)h(2)+x(2)h(1)+x(3)h(0)=0+1+1+3+0=5;

y(4)=x(0)h(4)+x(1)h(3)+x(2)h(2)+x(3)h(1)+x(4)h(0) =0+0+1+3+1=5;

y(5)=x(0)h(5)+x(1)h(4)+x(2)h(3)+x(3)h(2)+x(4)h(1)+x(5)h(0) =1+3+0=4;

y(6)=x(0)h(6)+x(1)h(5)+x(2)h(4)+x(3)h(3)+x(4)h(2)+x(5)h(1)+ x(6)h(0) =1+0=1;

y(7)=x(0)h(7)+x(1)h(6)+x(2)h(5)+x(3)h(4)+x(4)h(3)+x(5)h(2)+ x(6)h(1)+ x(7)h(0) =0;

y(8)=x(0)h(8)+x(1)h(7)+x(2)h(6)+x(3)h(5)+x(4)h(4)+x(5)h(3)+ x(6)h(2)+ x(7)h(1) + x(8)h(0) =0;

y(9)=x(0)h(9)+x(1)h(8)+x(2)h(7)+x(3)h(6)+x(4)h(5)+x(5)h(4)+ x(6)h(3)+ x(7)h(2) + x(8)h(1) + x(9)h(0) =0;

y(10)=x(0)h(10)+x(1)h(9)+x(2)h(8)+x(3)h(7)+x(4)h(6)+x(5)h(5)+ x(6)h(4)+ x(7)h(3) + x(8)h(2) + x(9)h(1) + x(10)h(0) =1;

y(11)=x(0)h(11)+x(1)h(10)+x(2)h(9)+x(3)h(8)+x(4)h(7)+x(5)h(6)+ x(6)h(5)+ x(7)h(4) + x(8)h(3) + x(9)h(2) + x(10)h(1)+ x(11)h(0) =1+3=4;

y(12)=x(0)h(12)+x(1)h(11)+x(2)h(10)+x(3)h(9)+x(4)h(8)+x(5)h(7)+ x(6)h(6)+ x(7)h(5) + x(8)h(4) + x(9)h(3) + x(10)h(2)+ x(11)h(1) + x(12)h(0) =1+3+1=5;

y(13)=x(0)h(13)+x(1)h(12)+x(2)h(11)+x(3)h(10)+x(4)h(9)+x(5)h(8)+ x(6)h(7)+ x(7)h(6) + x(8)h(5) + x(9)h(4) + x(10)h(3)+ x(11)h(2) + x(12)h(1) + x(13)h(0) =1+3+1=5;

y(14)=x(0)h(14)+x(1)h(13)+x(2)h(12)+x(3)h(11)+x(4)h(10)+x(5)h(9)+ x(6)h(8)+ x(7)h(7) + x(8)h(6) + x(9)h(5) + x(10)h(4)+ x(11)h(3) + x(12)h(2) + x(13)h(1)+ x(14)h(0) =1+3+1=5;

y(15)=x(0)h(15)+x(1)h(14)+x(2)h(13)+x(3)h(12)+x(4)h(11)+x(5)h(10)+ x(6)h(9)+ x(7)h(8) + x(8)h(7) + x(9)h(6) + x(10)h(5)+ x(11)h(4) + x(12)h(3) + x(13)h(2)+ x(14)h(1) + x(15)h(0) =1+3=4;

y(16)=x(0)h(16)+x(1)h(15)+x(2)h(14)+x(3)h(13)+x(4)h(12)+x(5)h(11)+ x(6)h(10)+ x(7)h(9) + x(8)h(8) + x(9)h(7) + x(10)h(6)+ x(11)h(5) + x(12)h(4) + x(13)h(3)+ x(14)h(2) + x(15)h(1) + x(16)h(0)=1;

y(17)=x(0)h(17)+x(1)h(16)+x(2)h(15)+x(3)h(14)+x(4)h(13)+x(5)h(12)+ x(6)h(11)+ x(7)h(10) + x(8)h(9) + x(9)h(8) + x(10)h(7)+ x(11)h(6) + x(12)h(5) + x(13)h(4)+ x(14)h(3) + x(15)h(2) + x(16)h(1) + x(17)h(0)=0;

y(nT)=[1 4 5 5 5 4 1 0 0 0 1 4 5 5 5 4 1 0]

Листинг программы

x=[1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0];

h=[1, 3, 1];

res=conv(x,h);

disp(res);

stem(0:length(res)-1,res);

set(gcf,'color','w');

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]