2012-04-26 9 views
1

Matlab에서 간단한 시뮬레이션을 수행하려고합니다. 난 임의의 신호 x와 필터 전달 함수를 가지고있다. 필터 기능의 올바른 사용법은 무엇입니까? 이 오류필터 함수 사용법 Matlab

발생

x = rand(100,1); 
syms z; 
Pnum = (1-0.1*z^-1); 
Pdenum = (1-0.9*z^-1); 

y = filter(Pnum, Pdenum, x); 

'타입'SYM '의 입력 인수 불확정 함수 "필터". "

나는 z 변수에 대해 불평한다는 것을 이해합니다. 어떻게 해결해야합니까?

답변

2

필터 명령은 기호 데이터 유형을 사용하도록 작성되지 않았습니다. 원시 필터 계수를 입력으로 사용합니다. 당신이 정의하려고하는 것은 b 계수가있는 차이 방정식입니다. .

b = [1 0.1]; 

는하고 A 계수는 freqz 명령이 어떤 이득 이상한 고역 통과 필터 인 것을 알

y = filter(b,a,x) 

다음과 같이 그 신호를 필터링 할 수

a = [1 0.9]; 

이다. .

freqz(b,a) 

enter image description here

이 당신이 달성하려고하는 무엇인가? 당신이 계수 그렇게

b = [1 0.9]; 
a = [1 0.1]; 

을 반대로하면

은 ... 당신은 어떤 이득 사람들은 그냥 내 첫 번째 단계입니다

freqz(b,a) 

enter image description here

+0

와 로우 패스 필터와 끝까지 DSP를/MATLAB 지상과 앞으로 내 과제를 해결하는 단계 :) 설명 해 주셔서 대단히 감사합니다. – SneakyMummin

+0

당신을 올바른 방향으로 밀어 드리겠습니다. 과제와 행운을 빈다. – learnvst