2014-06-23 2 views
1

Linux에서 Matlab 2014a를 실행 중이고 fir1 함수를 사용하여 간단한 FIR 필터를 적용하려고합니다. 내가 상관없이 내가 필터 빌드하려고 방법, 다음과 같은 오류가 발생하지 계속 : 나는 코드 줄로 이동합니다 디버거를 사용했습니다Matlab fir1 function error

>>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) '이된다. 이것은 의미가 없습니다. fir1 함수가 손상되었거나 잘못된 것이 있습니까? MathWorks에서 제공하는 예제를 실행하려고해도이 오류가 발생합니다.

+0

으로 끝나는 것을 얻고, 제 2 입력 인자를 대괄호없이 시도해 보셨습니까? 예 : 'fir1 (15,0.1)'. 불행히도'MATLAB Version : 8.1.0.604 (R2013a)'오류로 재현 할 수 없습니다. 나를 위해, fir1 (15,0.1)과 fir1 (15, [0.1]) 모두 작동합니다. – Schorsch

+0

R2010b에서도 작동합니다. –

답변

0

Matlab의 firls 함수는 Matlab의 경로에있는 동일한 이름의 다른 함수에 의해 마스크되어 있으므로 fir1에서 호출됩니다.

을 firls하는 : 입력 할 때

당신은 무엇을 어떻게해야합니까? - 당신은 \toolbox\signal\signal\firls.m