Convolution, discrete time (not using conv)

19 Ansichten (letzte 30 Tage)
umar
umar am 17 Dez. 2011
Beantwortet: sahiba tasneem am 24 Jul. 2017
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 Kommentare
umar
umar am 18 Dez. 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 am 21 Feb. 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?

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Naz
Naz am 17 Dez. 2011
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 Kommentare
umar
umar am 17 Dez. 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 am 2 Apr. 2017
me too...

Melden Sie sich an, um zu kommentieren.


sahiba tasneem
sahiba tasneem am 24 Jul. 2017
Can u plz describe the code

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by