Convolution, discrete time (not using conv)

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 commentaires

umar
umar le 18 Déc 2011
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 le 21 Fév 2016
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?

Connectez-vous pour commenter.

Réponses (2)

Naz
Naz le 17 Déc 2011

0 votes

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 commentaires

umar
umar le 17 Déc 2011
that is for calculation right? How to make a coding in matlab?
Wayne King
Wayne King le 17 Déc 2011
I think Naz has given you some direction here, but you have just posted your homework problem. If you show what you have coded in trying to solve your homework problem, people are generally more helpful.
umar
umar le 17 Déc 2011
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.
yuki kim
yuki kim le 2 Avr 2017
me too...

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by