이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
Integrator
신호 적분
라이브러리:
Simulink /
Commonly Used Blocks
Simulink /
Continuous
설명
Integrator 블록은 시간에 대해 입력 신호를 적분하고 그 결과를 출력 신호로 제공합니다.
Simulink®는 Integrator 블록을 하나의 상태를 가진 동적 시스템으로 처리합니다. 블록 동특성은 다음과 같이 주어집니다.
여기서
u는 블록 입력입니다.
y는 블록 출력입니다.
x는 블록 상태입니다.
x0은 x의 초기 조건입니다.
위 방정식은 연속시간에서는 정확한 관계를 정의하지만, Simulink는 유한한 정밀도로 계산하기 위해 수치 근사법을 사용합니다. Simulink는 블록의 출력을 계산하기 위해 여러 수치 적분 방법을 사용할 수 있으며, 각 방법마다 특정 응용 분야에서 장점이 있습니다. 자신의 응용 분야에 가장 적합한 기법을 선택하려면 구성 파라미터 대화 상자의 솔버 창을 사용합니다(Solver Pane 항목 참조).
선택된 솔버는 현재 입력값과 이전 시간 스텝에서의 상태 값을 사용하여 현재 시간 스텝에서 Integrator 블록의 출력을 계산합니다. 이 계산 모델을 지원하기 위해, Integrator 블록은 현재 시간 스텝에서의 출력을 저장하여 솔버가 다음 시간 스텝의 출력을 계산할 때 이를 사용하도록 합니다. 이 블록은 또한 솔버에 초기 조건을 제공하여 시뮬레이션 시작 시 블록의 초기 상태를 계산할 때 사용하도록 합니다. 초기 조건의 디폴트 값은 0입니다. 초기 조건에 다른 값을 지정하거나 블록에 초기값 입력 포트를 생성하려면 블록 파라미터 대화 상자를 사용합니다.
파라미터 대화 상자를 사용하여 다음을 수행합니다.
적분의 상한과 하한 정의
입력의 변화에 따라 블록의 출력(상태)을 블록의 초기값으로 재설정하는 입력 생성
블록 출력의 값이 블록 재설정을 트리거할 수 있도록 선택적 상태 출력 생성
순수 이산 시스템을 만들려면 Discrete-Time Integrator 블록을 사용하십시오.
초기 조건 정의하기
블록 대화 상자에서 초기 조건을 파라미터로 정의할 수도 있고, 외부 신호로부터 입력받을 수도 있습니다.
초기 조건을 블록 파라미터로 정의하려면 초기 조건 소스 파라미터를
내부
로 지정하고 초기 조건 필드에 값을 입력합니다.외부 소스에서 초기 조건을 제공하려면 초기 조건 소스 파라미터를
외부
로 설정합니다. 추가 입력 포트가 블록에 표시됩니다.참고
출력 제한 파라미터를 선택하는 경우 초기 조건은 포화 한도 내에 있어야 합니다. 초기 조건이 블록 포화 한도 내에 없는 경우 블록은 오류 메시지를 표시합니다.
적분 제한하기
출력 신호를 지정된 값 범위로 제한하려면 출력 제한을 선택하고 포화 한도를 지정합니다. 출력이 포화 한도 중 하나에 도달하면 적분 와인드업을 방지하기 위해 적분 동작이 비활성화됩니다. 시뮬레이션 중에 포화 한도를 변경할 수 있지만 출력 제한 여부는 변경할 수 없습니다. 블록은 다음 기준을 사용하여 출력 신호 값을 결정합니다.
적분 값이 포화 하한보다 작거나 같으면 출력 신호 값은 포화 하한입니다.
적분 값이 포화 하한과 포화 상한 사이에 있으면 출력은 해당 적분 값입니다.
적분 값이 포화 상한보다 크거나 같으면 출력 신호 값은 포화 상한입니다.
상태가 포화 한도에 의해 제한되는 시점을 나타내는 신호를 생성하려면 포화 포트 표시를 선택합니다. 두 번째 출력 포트가 블록에 표시됩니다.
포화 신호의 값은 다음 세 가지 중 하나입니다.
1
— 포화 상한에 의해 제한되는 상태0
— 제한되지 않는 상태–1
— 포화 하한에 의해 제한되는 상태
Integrator 블록 출력을 제한하면 이 블록은 3개의 영점교차 신호를 갖습니다. 즉, 적분 값이 포화 상한을 초과할 때를 검출하는 영점교차 신호, 적분 값이 포화 하한보다 작을 때를 검출하는 영점교차 신호, 적분 값이 포화되었다가 포화되지 않은 상태로 변경될 때를 검출하는 영점교차 신호입니다.
참고
기본적으로 출력 제한 파라미터는 Integrator Limited 블록에서 활성화되어 있으며, 포화 상한 파라미터 값은 1
로, 포화 하한 파라미터 값은 0
으로 설정되어 있습니다.
순환적(Cyclic) 상태에 래핑(Wrapping) 사용
발진기, 회전 운동을 하는 기계 등의 여러 물리적 현상은 본질적으로 순환적이거나(cyclic) 주기적이거나(periodic) 회전적입니다(rotary). 이러한 현상을 Simulink 블록 다이어그램에서 모델링하려면 주기 신호 또는 순환 신호의 변화율을 적분하여 운동 상태를 구하는 과정이 포함됩니다. 이 방식에서는 시뮬레이션 시간이 길어지면 주기 신호 또는 순환 신호를 나타내는 상태가 큰 값으로 적분될 수 있습니다. 이러한 신호에 대해 사인 또는 코사인과 같은 삼각 함수 값을 계산하면, 각도 축소(angle reduction)로 인해 값이 커질수록 시간이 더 오래 걸립니다. 신호 값이 커질수록 솔버 성능과 정확도가 떨어집니다.
이러한 단점을 해결하기 위한 한 가지 접근 방식은 2π에 도달하면 각도 상태를 0
으로 재설정하는 것입니다(또는 수치 대칭의 경우 π에 도달하면 –π로 재설정). 이 접근 방식을 사용하면 사인 계산과 코사인 계산의 정확도가 개선되고 각도 축소 시간이 줄어듭니다. 그러나 영점교차 검출도 필요하고 솔버 재설정도 발생하기 때문에, 특히 대규모 모델에서는 가변 스텝 솔버의 시뮬레이션의 속도가 느려집니다.
래핑되는 지점에서 솔버가 재설정되도록 하지 않기 위해, Integrator 블록은 순환되는 상태를 지원하며, 이는 블록 파라미터 대화 상자에서 상태 순환을 선택하여 활성화할 수 있습니다. 상태 순환을 활성화하면 블록 아이콘이 바뀌어 블록이 순환하는 상태를 가짐을 나타냅니다.
Integrator 블록은 상태의 순환 상한 값 파라미터와 하한 값 파라미터에 의해 제한되는 상태 순환을 지원합니다. 상태 순환을 결정하는 알고리즘은 다음과 같이 주어집니다.
여기서
xl은 상태의 순환 하한 값입니다.
xu는 상태의 순환 상한 값입니다.
y는 출력값입니다.
상태 순환이 지원되면 다음과 같은 이점이 있습니다.
모델이 큰 각도 값과 큰 상태 값에 근접할 때 시뮬레이션 불안정성을 제거합니다.
시뮬레이션 중에 솔버 재설정 횟수를 줄이고 영점교차를 검출할 필요가 없으므로 시뮬레이션 시간이 줄어듭니다.
큰 각도 값을 제거하므로 각도 상태에 대한 삼각 함수 계산 속도가 향상됩니다.
솔버의 정확도와 성능을 개선하고 무제한 시뮬레이션 시간이 가능해집니다.
상태 재설정
블록은 외부 신호를 기반으로 자신의 상태를 지정된 초기 조건으로 재설정할 수 있습니다. 블록이 자신의 상태를 재설정할 수 있게 하려면 외부 재설정 선택 항목 중 하나를 선택하십시오. 블록의 입력 포트 아래에 트리거 포트가 표시되어 트리거 유형을 나타냅니다.
재설정 신호가 음수 값 또는 0 값에서 양수 값으로 상승할 때 상태를 재설정하려면
상승
을 선택합니다.재설정 신호가 양수 값에서 0 값 또는 음수 값으로 하강할 때 상태를 재설정하려면
하강
을 선택합니다.재설정 신호가 0에서 0이 아닌 값으로 또는 0이 아닌 값에서 0으로 바뀌거나 부호가 변경될 때 상태를 재설정하려면
양쪽 모두 가능
을 선택합니다.재설정 신호가 현재 시간 스텝에서 0이 아니거나 혹은 이전 시간 스텝에서 0이 아닌 값이었지만 현재 시간 스텝에서 0으로 변경될 때 상태를 재설정하려면
레벨
을 선택합니다.재설정 신호가 현재 시간 스텝에서 0이 아닐 때 상태를 재설정하려면
레벨 유지
를 선택합니다.
재설정 포트에는 직접 피드스루가 있습니다. 블록 출력이 직접적으로 또는 직접 피드스루를 갖는 일련의 블록을 통해 이 포트로 다시 전달되는 경우, 대수 루프가 발생합니다(대수 루프 개념 항목 참조). 대수 루프를 생성하지 않고 블록의 출력을 다시 전달하려면 Integrator 블록의 상태 포트를 사용하십시오.
참고
MISRA™(Motor Industry Software Reliability Association) 소프트웨어 표준을 준수하려면 모델이 부울 신호를 사용하여 Integrator 블록의 외부 재설정 포트를 구동해야 합니다.
상태 포트 정보
Integrator 블록의 파라미터 대화 상자에서 상태 포트 표시 체크박스를 선택하면 추가 출력 포트인 상태 포트가 생성되어 Integrator 블록의 위쪽에 표시됩니다.
상태 포트의 출력은 다음 경우를 제외하고 이 블록의 표준 출력 포트의 출력과 동일합니다. 블록이 현재 시간 스텝에서 재설정된 경우, 상태 포트의 출력은 블록이 재설정되지 않았다면 블록의 표준 출력에 표시되었을 값입니다. 상태 포트의 출력은 Integrator 블록의 출력 포트의 출력보다 더 이전의 시간 스텝에서 표시됩니다. 다음과 같은 모델링 시나리오에서 대수 루프가 생성되지 않도록 하기 위해 상태 포트를 사용합니다.
자체 재설정 적분기를 사용하는 시스템
하나의 Enabled Subsystem에서 다른 Enabled Subsystem으로 상태 전달
참고
모델 업데이트 시 Simulink는 상태 포트가 위의 두 가지 시나리오 중 하나에 해당되는지 확인합니다. 해당되지 않으면 오류 메시지를 표시합니다. 또한 액셀러레이터 모드에서 실행되는 참조된 모델에서는 이 포트의 출력을 기록할 수 없습니다. 이 포트에 대해 기록이 활성화되어 있는 경우 Simulink는 참조된 모델 실행 시 "signal not found"(신호를 찾을 수 없음) 경고를 생성합니다.
블록 출력의 절대 허용오차 지정하기
기본적으로 Simulink는 구성 파라미터 대화 상자에 지정된 절대 허용오차 값을 사용하여(Error Tolerances for Variable-Step Solvers 항목 참조) Integrator 블록의 출력을 계산합니다. 이 값이 충분한 오차 제어를 제공하지 않는다면 Integrator 블록 대화 상자의 절대 허용오차 필드에 더 적절한 값을 지정하십시오. 지정한 값은 모든 블록 출력을 계산하는 데 사용됩니다.
예제
확장 예제
포트
입력
출력
파라미터
확장 기능
버전 내역
R2006a 이전에 개발됨