如何绘制离散信号(delta方程)?

时间:2018-06-03 19:37:21

标签: matlab signal-processing

  

绘制2个离散信号:

     
      
  1. x[n] = delta[n] - delta[n-1] + delta[n+4]
  2.   
  3. y[n] = 0.5^n*u[n]
  4.         

    还绘制卷积。

我不知道delta应该是什么以及如何处理这些信号。如果我有一个简单的信号,我知道该怎么做。

n = 0:7; 
x1 = cos(pi*n); 
subplot(1,2,1) 
stem(n,x1)

2 个答案:

答案 0 :(得分:1)

在matlab中使用dirac(delta)函数不适用于离散函数,因为结果是n = 0时的Inf。而是在正确的位置使用值1。此外,u [n]是阶梯函数或matlab中的重质函数。对于负x,它为零,对于正x,它为1,在x = 0处完成一步。

以下代码将绘制您的所有功能:

n = -5:5
x = [0 1 0 0 0 1 1 0 0 0 0]; %x[n] from n =-5 to n=5

%y = 0.5.^n .* heaviside(n); %[y[n] from n =-5 to n=5
y = 0.5.^n .* [0 0 0 0 0 1 1 1 1 1 1]; %stepfunction from n =-5 to n=5 
z = conv(x,y); %z[n] from n = -10 to n=10

subplot(3,1,1);stem(n,y1)
subplot(3,1,2);stem(n,y2)
subplot(3,1,3);stem(-10:10,y3)

答案 1 :(得分:0)

似乎是Dirac delta功能。它在Matlab中有一个功能。

x = dirac(n)

此外,两个函数的convolution都有一个函数。

w = conv(u,v)

不知道你对这些的间隔,我不能说。我可以生成一些代码。函数u也是未知的。