How can i create a convolution using toeplitz matrix?

12 次查看(过去 30 天)
Hello ,
i want to create a convolution between two signals but i need to make this happen using the teoplitz command that creates a toeplitz matrix .The problem here is that my first signal (h) is 1x5 matrix and the other signal (a) is 1x21 matrix .The process should be y=toeplitz(h or a) .* transpose(h or a) .How can i create the convolution using the toeplitz command in matlab?
thank you.

采纳的回答

Matt J
Matt J 2019-11-5
编辑:Matt J 2019-11-5
Consider
>> x=1:5, y=rand(1,5),
x =
1 2 3 4 5
y =
0.2899 0.4714 0.8782 0.6555 0.3184
and notice,
>> v1=(tril(toeplitz(x))*y(:)).'
v1 =
0.0306 0.6362 2.2098 4.2551 6.6630
>> v2=conv(x,y); v2=v2(1:numel(v1))
v2 =
0.0306 0.6362 2.2098 4.2551 6.6630
  3 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by