我在Linux上运行Matlab 2014a并尝试使用fir1函数应用简单的FIR滤波器。无论我如何构建过滤器,我都会收到以下错误:
>>fir1(15,[0.1])
Error using *
Inner matrix dimensions must agree.
>>Error in firls (line 80)
cos_ints = [omega; sin((1:N)' * omega)];
>>Error in fir1 (line 121)
hh = firls(L-1,ff,aa);
我已经使用调试器转到代码行,看起来它总是试图将长度(顺序),(1:N)'的列向量乘以另一个列向量omega。这没有任何意义。 fir1功能是否被破坏,或者我做错了什么?即使我尝试运行MathWorks提供的示例,也会发生此错误。
答案 0 :(得分:0)
我猜想Matlab的firls
函数被另一个同名函数掩盖,该函数在Matlab的路径中,因此从fir1
调用。
键入内容时会得到什么:
哪个firls
? - 你应该得到以\toolbox\signal\signal\firls.m