Convolution, discrete time (not using conv)

24 visualizzazioni (ultimi 30 giorni)
umar
umar il 17 Dic 2011
Risposto: sahiba tasneem il 24 Lug 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 Commenti
umar
umar il 18 Dic 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 il 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?

Accedi per commentare.

Risposte (2)

Naz
Naz il 17 Dic 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 Commenti
umar
umar il 17 Dic 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.

Accedi per commentare.


sahiba tasneem
sahiba tasneem il 24 Lug 2017
Can u plz describe the code

Categorie

Scopri di più su Just for fun in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by