#signal-processing #octave #convolution
#обработка сигналов #октава #свертка
Вопрос:
Что делает прокомментированная строка? Более конкретно, почему у меня есть conv
tpas
значение времени функции?
tstart=0; tstop=0.1; tpas=0.0001; f=100; t=tstart:tpas:tstop; x=0 10*t; subplot(3,1,1); plot(t,x,'linewidth',2); axis([0 0.1001 0 1]); grid; h=1*exp(-f*t); subplot(3,1,2); plot(t,h,'linewidth',2); axis([0 0.1001 0 1]); grid; t2=2*tstart:tpas:2*tstop; y=conv(x,h) * tpas; % what does this line do? subplot(3,1,3); plot(t2,y,'r','linewidth',2); axis(); grid;
Я опубликовал весь код для контекста, но на самом деле мне просто нужно знать, что происходит, когда я умножаю значение свертки на tpas
.
Ответ №1:
Ваш фильтр h=1*exp(-f*t)
, который выбирается по временным значениям t=tstart:tpas:tstop
Количество простых элементов в вашем фильтре равно (tstop-tstart)/tpas
. Следовательно, интеграл (просто сумма этих выборок) пропорционален 1/tpas
.
Свертка умножит ваш сигнал на этот коэффициент, поэтому результат умножается на tpas
, чтобы исправить его.
Комментарии:
1. «Интеграл (просто сумма этих выборок)» — я думаю, что это именно та разница между интегралом и суммой, которая учитывается.