如何生成负值信号?

How to generate signal with negative values?

我必须生成一个离散信号,定义为:

1, -3<= n<=3
and 0 otherwise

由于 matlab 不接受数组的负索引,我该怎么做? 我想象它是周期性的并这样做了:

n=0:7;
x1 = [1 1 1 1 0 1 1 1];

这是正确的吗? 问题是我必须在那之后做一个傅立叶变换

您不应将 x 向量的索引用作 n 值,因为这会将您限制为只能使用正整数。使用相应的 n 值创建一个单独的 n 向量:

n = -10:10;
x = zeros(size(n));
x(n>=-3 & n<=3) = 1;
plot(n,x)

或者 n 的步骤更小:

n = -10:0.1:10;
x = zeros(size(n));
x(n>=-3 & n<=3) = 1;
plot(n,x)

使用函数句柄:

y=@(n)(-3<n & n<=3)

绘制它:

x=-7:7
stem(x,y(x))