Вычисление свертки с помощью conv
, когда сигналы являются векторами, обычно более эффективно, чем использование convmtx
. Для многоканальных сигналов convmtx
может быть более эффективным.
Вычислите свертку двух случайных векторов, a
и b
, с помощью и conv
и convmtx
. Сигналы имеют 1 000 выборок каждый. Сравните времена, проведенные двумя функциями. Устраните случайные колебания путем повторения вычисления 30 раз и усреднения.
t1col = 1×2
0.0005 0.0072
conv
является приблизительно двумя более эффективными порядками величины.
Повторите осуществление для случая, где a
является многоканальным сигналом с 1 000 каналов. Оптимизируйте производительность conv
путем предварительного выделения.
tmcol = 1×2
0.2764 0.0424
convmtx
приблизительно в три раза более эффективен, чем conv
.