【发布时间】:2018-02-12 00:53:50
【问题描述】:
我想做一个 FIR 滤波器。我有一个系数数组 n2 和一个数据数组 n1 但没有在八度音程中使用内置函数(fir)。我不确定这里有什么问题。
运行此代码时出现错误。 错误:y(0):下标必须是整数 1 到 (2^31)-1 或逻辑 错误:调用自 fir1 在第 12 行第 10 列
`n1=input('enter length of random sequence');
n2=input('enter length of filter');
for i=1:n1
x(i)=input('elements of x')
end
for i=1:n2
y(i)=input('elements of y')
end
c=zeros(1,(n1+n2));
for i=1:(n1+n2)
for j=1:n2
c(i)=c(i)+x(j)*y(i-j+1);
end
end
c`
【问题讨论】:
-
创建一个minimal reproducible example 总是一个好主意,尤其是一个完整的例子。在您的情况下,结果很大程度上取决于 endered 数字。如果您以编程方式设置
n1,n2,x and y,这个问题会好得多。由于您不想要内置函数(我想这是一些作业),您可以添加(检查)输出以显示您的预期值(请提及)是好的 -
i-j+1在j>i时超出范围。您需要以不同的方式处理信号的边缘。
标签: octave