Problem declaring a signal.

1 次查看(过去 30 天)
I am a beginner in MATLAB and I'm studying for a test in Signal Processing and don't know how to tackle this some parts of this problem: "Using Matlab, convolve the two discrete-time signals: x1=(1/3)*(δ[n−1]+δ[n]+δ[n+1]) and x2 given by signal2.mat. Store the convolution (x1∗x2) in the variable x."
signal2.mat only contain the variable n which is an interval from -10 to 10 with a step of 1 and x2 which contain 21 random values.
I don't know what delta represents in x1 and how to implement/declare it in MATLAB. Any help is appreciated! I know what to do after I've declared x1, so further help than that is not needed!
  1 个评论
Star Strider
Star Strider 2021-8-10
The reference to is most likely the Dirac delta function, described in the Symbolic Math Toolbox dirac function.
.

请先登录,再进行评论。

采纳的回答

Sahil Jain
Sahil Jain 2021-8-13
The "δ[n]" generally refers to the Dirac delta function. The following code will help you generate the required signal.
n=-10:1:10;
x1=(1/3)*(dirac(n-1)+dirac(n)+dirac(n+1));
More information about the Dirac delta function can be found on its documentation page.

更多回答(1 个)

Mattias Eek
Mattias Eek 2021-8-15
For anyone wondering how I solved this, here's my solution:
load = 'signal2.mat';
L = 21;
f = zeros(1,L);
mid = ceil(L/2);
for i=mid-1:mid+1
f(i)=1/3;
end
x1=f;
x = conv(x1,x2);
You can probably solve it using dirac, like @Sahil Jain mentioned above, but this worked for me.

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by