2016-07-12 7 views
0

나는 tf ([a1 a2]를 사용하지 않고 이산 형식에서 for 루프를 사용하여 Matlab의 의미를 사용하여 a1s + a2/(b1s + b2) 전달 함수를 구현하는 방법을 알려주고 싶습니다. ], [b1 b2]). TS는 샘플링 주파수 및 FX입니다Matlab을 사용하는 일반적인 전달 함수의 구현

value(n)=value(n-1)+a1*fx*Ts; 

통합 될 필요가있는 기능입니다 : 예를 들어 나는 내가 좋아하는 일을 할 것입니다 알고 A1/s의를 구현하고자합니다. A3의의 * s의 I는 다음과 같습니다

output=value(n)-lastvalue(n); 
    lastvalue(n)=value(n); 

그러나 나는 일반 구현할 수 있는지 궁금 (A1의 * s을 (를) + A2)/(B1 * s의의 +의 B2)

감사를

답변

0

먼저, s 도메인에서 z 도메인 (이산)으로 변환하려는 방법에 동의하십시오. 쌍 선형 변환을 사용하여

으로 대체하십시오.
2/T * (z-1)/(z+1). 

이것은 쌍 선형 변환입니다. 방정식을 풀고 z의 가장 높은 차수로 나눕니다. z^-n의 경우, 그것은 이전의 "n"샘플입니다.

+0

하지만 바이 리니어 변환에 대해 알고 있었지만 여기 T는 샘플링 주파수가 맞습니까? 어떻게 그걸 선택하니? 반복적으로 값을 계산하는 루프가 2/T로 곱 해져야하고 이것이 분명히 답을 바꾸기 때문에. – justin

+0

또한 초기 조건에 따라 다르므로 파생어에 대해 어떻게해야합니까? – justin