make function to shift discrete signal

hello I am currently studying DSP and using matlab . I build a function that shifting signals and the out put of this function is n and y for exmaple :
x=[ 2 3 0 -5 2 1 ]; n=-1:4;
and i want that y(n)=x(2-K)
and this is my code :
clc;
clear all;
x=[ 2 3 0 -5 2 1 ];
n=-1:4;
m=2;
k=-1
shifting_by_m (x,m,n,k)
stem(n,x)
and the function is :
function [n,x] =shifting_by_k (x,m,n,k)
if (k<0)
n=m+flip(-n) %%h(m-k)
x=flip(x)
else (k>0)
n=(-1)*(m-n)
x=x
end
end
the question is there a way to write in my main code '(2-k)' and that the function will get that m=2 and k<0 ?

3 comentarios

Adam
Adam el 26 de Jun. de 2018
If your function only supports a scalar k then why don't you just pass in 2-k as that argument? Where k is whatever you want it to be in your original equation and within the function it is just the single shift - i.e. whatever you pass it, which would be the result of 2-k
tomer polsky
tomer polsky el 26 de Jun. de 2018
I am sorry but i did not understand what do you mean
Adam
Adam el 27 de Jun. de 2018
Why are you trying to pass '2-k' into a function? Just calculate 2-k and pass the result of that into the function as the desired shift.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Signal Generation, Analysis, and Preprocessing en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 26 de Jun. de 2018

Comentada:

el 27 de Jun. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by