Convolution, discrete time (not using conv)

24 次查看(过去 30 天)
Write a MATLAB routine that generally computes the discrete convolution between two discrete signals in time-domain. (Do not use the standard MATLAB “conv” function.) • Apply your routine to compute the convolution rect( t / 4 )*rect( 2 t / 3 ).
  2 个评论
umar
umar 2011-12-18
If i use below coding, how to put rect(t/4) and rect(2t/3)in x and h? Please can anyone answer this?
% A GENERALAZED CONVOLUTION COMPUTING CODE IN MATLAB WITHOUT USING MATLAB BUILTIN FUNCTION conv(x,h)
close all
clear all
x=input('Enter x: ')
h=input('Enter h: ')
m=length(x);
n=length(h);
X=[x,zeros(1,n)];
H=[h,zeros(1,m)];
for i=1:n+m-1
Y(i)=0;
for j=1:m
if(i-j+1>0)
Y(i)=Y(i)+X(j)*H(i-j+1);
else
end
end
end
Y
stem(Y);
ylabel('Y[n]');
xlabel('----->n');
title('Convolution of Two Signals without conv function');
Friðrik Hover
Friðrik Hover 2016-2-21
Running this code and and also the built in conv function to convolute two signals makes the x axis wrong. How do you fix that?

请先登录,再进行评论。

回答(2 个)

Naz
Naz 2011-12-17
just implement the equation http://en.wikipedia.org/wiki/Convolution#Circular_discrete_convolution and use sum from 1 to N instead of 0 to N-1
  4 个评论
umar
umar 2011-12-17
to be honest. We are taking signal course. We do not learn about MATLAB in this course. Actually, i do not have any idea how to start.

请先登录,再进行评论。


sahiba tasneem
sahiba tasneem 2017-7-24
Can u plz describe the code

类别

Help CenterFile Exchange 中查找有关 Just for fun 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by