주요 콘텐츠

Discrete-Time Integrator

신호의 이산시간 적분 또는 누적 수행

  • Discrete-Time Integrator block

라이브러리:
Simulink / Commonly Used Blocks
Simulink / Discrete
HDL Coder / Discrete
HDL Coder / HDL Floating Point Operations

설명

순수 이산 모델을 만들려면 Integrator 블록 대신 Discrete-Time Integrator 블록을 사용하십시오. Discrete-Time Integrator 블록을 사용하면 다음을 수행할 수 있습니다.

  • 블록 대화 상자에서 또는 블록에 대한 입력으로 초기 조건 정의

  • 입력 이득(K) 값 정의

  • 블록 상태 출력

  • 적분의 상한과 하한 정의

  • 추가 재설정 입력을 통한 상태 재설정

출력 방정식

첫 번째 시간 스텝에서 블록 상태는 n = 0이고, 초기 조건 설정 파라미터 값에 따라 초기 출력 y(0) = IC 또는 초기 상태 x(0) = IC가 됩니다.

주어진 스텝 n > 0에 대해 시뮬레이션 시간은 t(n)이며, Simulink®는 출력 y(n)을 다음과 같이 업데이트합니다.

  • 순방향 오일러 방법:

    y(n) = y(n-1) + K*[t(n) - t(n-1)]*u(n-1)
  • 역방향 오일러 방법:

    y(n) = y(n-1) + K*[t(n) - t(n-1)]*u(n)
  • 사다리꼴법:

    y(n) = y(n-1) + K*[t(n)-t(n-1)]*[u(n)+u(n-1)]/2

Simulink는 블록 샘플 시간에 따라 이러한 출력 방정식의 상태공간 구현을 자동으로 선택합니다. 블록 샘플 시간은 명시적 또는 트리거됨일 수 있습니다. 명시적 샘플 시간을 사용할 때 t(n)-t(n-1)은 모든 n > 0에 대해 샘플 시간 T로 축소됩니다.

적분 및 누적 방법

이 블록은 순방향 오일러 방법, 역방향 오일러 방법 또는 사다리꼴법을 사용하여 신호를 적분하거나 누적할 수 있습니다. u는 입력, y는 출력, x는 상태라고 가정합니다. 주어진 스텝 n에 대해 Simulink는 y(n)x(n+1)을 업데이트합니다. 적분 모드에서 T는 블록 샘플 시간입니다(트리거된 샘플 시간의 경우 델타 T). 누적 모드에서는 T = 1입니다. 블록 샘플 시간은 출력이 계산되는 시점을 결정하지만 출력 값은 결정하지 않습니다. K는 이득 값입니다. 값은 상한이나 하한에 따라 잘립니다.

순방향 오일러 방법

순방향 오일러 방법(디폴트 값)은 순방향 직사각형 방법(forward rectangular)이나 왼쪽 근사(left-hand approximation)라고도 합니다.

1/sT/(z-1)로 근사됩니다. 스텝 n에서 블록의 출력에 대한 표현식은 다음과 같습니다.

x(n+1) = x(n) + K*T*u(n)
y(n)   = x(n)

블록은 다음 단계를 사용하여 출력을 계산합니다.

Step 0:          y(0)   = IC (clip if necessary)
                 x(1)   = y(0) + K*T*u(0)

Step 1:          y(1)   = x(1)
                 x(2)   = x(1) + K*T*u(1)

Step n:          y(n)   = x(n)
                 x(n+1) = x(n) + K*T*u(n) (clip if necessary)

이 방법을 사용하면 입력 포트 1에는 직접 피드스루가 없습니다.

역방향 오일러 방법

역방향 오일러 방법은 역방향 직사각형 방법(backward rectangular)이나 오른쪽 근사(right-hand approximation)라고도 합니다.

1/sT*z/(z-1)로 근사됩니다. 스텝 n에서 블록의 출력에 대한 결과 표현식은 다음과 같습니다.

y(n) = y(n-1) + K*T*u(n).

x(n) = y((n)-1)이라고 가정해 보겠습니다. 블록은 다음 단계를 사용하여 출력을 계산합니다.

  • Triggered Subsystem과 Function-Call Subsystem의 파라미터 초기 조건 설정출력 또는 자동으로 설정되어 있는 경우:

    Step 0:          y(0) = IC (clipped if necessary)
                     x(1) = y(0)
  • Triggered Subsystem이 아닌 서브시스템의 파라미터 초기 조건 설정자동으로 설정되어 있는 경우:

    Step 0:          x(0)   = IC (clipped if necessary)
                     x(1)   = y(0) = x(0) + K*T*u(0)
    
    Step 1:          y(1)   = x(1) + K*T*u(1)
                     x(2)   = y(1)
    
    Step n:          y(n)   = x(n) + K*T*u(n)
                     x(n+1) = y(n)

이 방법을 사용하면 입력 포트 1에는 직접 피드스루가 있습니다.

사다리꼴법

이 방법의 경우 1/sT/2*(z+1)/(z-1)로 근사됩니다.

T가 고정된(샘플링 주기와 동일) 경우 출력을 계산하는 표현식은 다음과 같습니다.

x(n) = y(n-1) + K*T/2*u(n-1)
y(n) = x(n) + K*T/2*u(n)
  • Triggered Subsystem과 Function-Call Subsystem의 파라미터 초기 조건 설정출력 또는 자동으로 설정되어 있는 경우:

    Step 0:          y(0)   = IC (clipped if necessary)
                     x(1)   = y(0) + K*T/2*u(0)
  • Triggered Subsystem이 아닌 서브시스템의 파라미터 초기 조건 설정자동으로 설정되어 있는 경우:

    Step 0:          x(0)   = IC (clipped if necessary)
                     y(0)   = x(0) + K*T/2*u(0)
                     x(1)   = y(0) + K*T/2*u(0)
    
    Step 1:          y(1)   = x(1) + K*T/2*u(1)
                     x(2)   = y(1) + K*T/2*u(1)
    
    Step n:          y(n)   = x(n) + K*T/2*u(n)
                     x(n+1) = y(n) + K*T/2*u(n)

여기서 x(n+1)은 다음 출력에 대한 최선의 추정값입니다. x(n)y(n)과 동일하지 않다는 점에서 이는 상태와 같지 않습니다.

이 방법을 사용하면 입력 포트 1에는 직접 피드스루가 있습니다.

T가 변수일 때

T가 변수일 때(예: 트리거 시간으로부터 얻은 경우) 블록은 다음 단계를 사용하여 출력을 계산합니다.

  • Triggered Subsystem과 Function-Call Subsystem의 파라미터 초기 조건 설정출력 또는 자동으로 설정되어 있는 경우:

    Step 0:          y(0)   = IC (clipped if necessary)
                     x(1)   = y(0)
  • Triggered Subsystem이 아닌 서브시스템의 파라미터 초기 조건 설정자동으로 설정되어 있는 경우:

    Step 0:          x(0)   = IC (clipped if necessary)
                     x(1)   = y(0) = x(0) + K*T/2*u(0)
    
    Step 1:          y(1)   = x(1) + K*T/2*(u(1) + u(0))
                     x(2)   = y(1)
    
    Step n:          y(n)   = x(n) + K*T/2*(u(n) + u(n-1))
                     x(n+1) = y(n)

초기 조건 정의

블록 대화 상자에서 초기 조건을 파라미터로 정의할 수도 있고, 외부 신호로부터 입력받을 수도 있습니다.

  • 초기 조건을 블록 파라미터로 정의하려면 초기 조건 소스 파라미터를 internal로 설정하고 초기 조건 텍스트 상자에 값을 입력합니다.

  • 외부 소스에서 초기 조건을 제공하려면 초기 조건 소스 파라미터를 external로 설정합니다. 추가 입력 포트가 블록에 표시됩니다.

상태 포트를 사용하는 경우

다음과 같은 경우 출력 포트 대신 상태 포트를 사용하십시오.

  • 블록의 출력이 재설정 포트나 초기 조건 포트를 통해 블록으로 피드백되어 대수 루프를 유발하는 경우. 예제는 sldemo_bounce_two_integrators 모델을 참조하십시오.

  • 하나의 조건부 실행 서브시스템에서 다른 조건부 실행 서브시스템으로 상태를 전달하려는 경우. 이 경우에는 타이밍 문제가 발생할 수 있습니다. 예제는 Building a Clutch Lock-Up Model 항목을 참조하십시오.

출력 포트 대신 상태 포트를 통해 상태를 전달하면 이러한 문제를 해결할 수 있습니다. Simulink는 출력과 약간 다른 시간에 상태를 생성함으로써 이러한 문제로부터 모델을 보호합니다. 블록 상태를 출력하려면 상태 포트 표시 체크박스를 선택하십시오. 상태 포트가 블록 상단에 표시됩니다.

적분 제한하기

출력을 특정 수준 내로 유지하려면 출력 제한 체크박스를 선택하고 해당 텍스트 상자에 제한을 입력하십시오. 이렇게 하면 블록이 제한된 적분기로 작동합니다. 출력이 제한에 도달하면 적분 와인드업을 방지하기 위해 적분 동작이 꺼집니다. 시뮬레이션 중에는 제한을 변경할 수 있지만 출력 제한 여부는 변경할 수 없습니다. 다음 표는 블록이 출력을 결정하는 방법을 보여줍니다.

적분출력
포화 하한보다 작음포화 하한 유지
포화 하한포화 상한 사이적분
포화 상한보다 큼포화 상한 유지

적분이 제한에 도달하는 시점을 나타내는 신호를 생성하려면 포화 포트 표시 체크박스를 선택하십시오. 새 포화 포트가 블록 출력 포트 아래에 표시됩니다.

포화 신호의 값은 다음 세 가지 중 하나입니다.

  • 1은 적분이 상한에 있음을 나타냅니다.

  • 0은 적분이 제한되지 않음을 나타냅니다.

  • -1은 적분이 하한에 있음을 나타냅니다.

상태 재설정하기

블록은 외부 신호를 기반으로 자신의 상태를 지정된 초기 조건으로 재설정합니다. 블록이 자신의 상태를 재설정할 수 있게 하려면 외부 재설정 파라미터 옵션 중 하나를 선택하십시오. 재설정 트리거 유형을 나타내는 재설정 포트가 표시됩니다.

재설정 포트에는 직접 피드스루가 있습니다. 블록 출력이 직접적으로 또는 직접 피드스루를 갖는 일련의 블록을 통해 이 포트로 다시 전달되는 경우, 대수 루프가 발생합니다. 이 루프를 해결하려면 블록 상태 포트의 출력을 재설정 포트에 피드백하십시오. 블록 상태에 액세스하려면 상태 포트 표시 체크박스를 선택하십시오.

트리거 유형 재설정하기

외부 재설정 파라미터를 사용하면 재설정을 트리거하는 재설정 신호의 특성을 결정할 수 있습니다. 다음과 같은 트리거 옵션이 있습니다.

  • 상승 – 재설정 신호에 상승 에지가 있을 때 상태를 재설정합니다. 예를 들어, 다음 그림은 상승 재설정 트리거가 역방향 오일러 적분에 미치는 영향을 보여줍니다.

  • 하강 — 재설정 신호에 하강 에지가 있을 때 상태를 재설정합니다. 예를 들어, 다음 그림은 하강 재설정 트리거가 역방향 오일러 적분에 미치는 영향을 보여줍니다.

  • 양쪽 모두 가능 — 재설정 신호가 상승하거나 하강할 때 상태를 재설정합니다. 예를 들어, 다음 그림은 양쪽 모두 가능 재설정 트리거가 역방향 오일러 적분에 미치는 영향을 보여줍니다.

  • 레벨 — 재설정 신호가 0이 아닌 동안 출력을 초기 조건으로 재설정하고 유지합니다. 예를 들어, 다음 그림은 레벨 재설정 트리거가 역방향 오일러 적분에 미치는 영향을 보여줍니다.

  • 샘플링된 레벨 — 재설정 신호가 0이 아닐 때 출력을 초기 조건으로 재설정합니다. 예를 들어, 다음 그림은 샘플링된 레벨 재설정 트리거가 역방향 오일러 적분에 미치는 영향을 보여줍니다.

    샘플링된 레벨 재설정 옵션은 계산량이 적어 레벨 재설정 옵션보다 효율적입니다.

    참고

    Discrete-Time Integrator 블록의 경우 모든 트리거 감지는 양수 값을 갖는 신호를 기준으로 합니다. 예를 들어 -1에서 0으로 변하는 신호는 상승 에지로 간주되지 않지만, 0에서 1로 변하는 신호는 상승 에지로 간주됩니다.

단순 방식 초기화 모드의 동작

구성 파라미터 대화 상자에서 과소 지정된 초기화 감지단순 방식으로 설정하면 단순 방식 초기화 모드가 활성화됩니다. 단순 방식 초기화 모드를 사용하는 경우 Discrete-Time Integrator 블록의 동작은 고전 방식 초기화 모드와 다릅니다. 새로운 초기화 동작은 더 강인하며 다음과 같은 경우 더 일관된 동작을 제공합니다.

  • 대수 루프가 있는 경우

  • 활성화 및 비활성화 시

  • 트리거된 샘플 시간을 사용한 결과와 명시적 샘플 시간을 사용한 결과를 비교할 때(이때, 블록은 명시적 샘플 시간과 동일한 속도로 트리거됨)

단순 방식 초기화 모드를 사용하면 Continuous-Time Integrator 블록에서 Discrete-Time Integrator 블록으로 더 쉽게 변환할 수 있습니다. 이는 두 블록 모두에서 초기 조건이 동일한 의미를 가지기 때문입니다.

고전 방식 및 단순 방식 초기화 모드에 대한 자세한 내용은 Underspecified initialization detection 항목을 참조하십시오.

초기 조건 설정이 출력으로 설정된 경우의 활성화 동작과 비활성화 동작

Triggered Subsystem과 Function-Call Subsystem의 초기 조건 설정출력으로 설정된 단순 방식 초기화 모드를 사용하는 경우, 블록의 활성화 동작과 비활성화 동작은 다음과 같이 단순화됩니다.

비활성화 시간 td에서:

 y(td) = y(td-1)

활성화 시간 te에서:

  • 부모 서브시스템 제어 포트의 활성화할 때의 상태재설정으로 설정된 경우:

    y(te) = IC.
  • 부모 서브시스템 제어 포트의 활성화할 때의 상태유지로 설정된 경우:

    y(te) = y(td).

    다음 그림은 이 조건을 보여줍니다.

Iterator Subsystems

단순 방식 초기화 모드를 사용할 때는 Discrete-Time Integrator 블록을 Iterator Subsystem 블록에 배치할 수 없습니다.

단순 방식 초기화 모드에서는 Iterator Subsystem이 경과 시간을 유지하지 않습니다. 따라서 경과 시간이 필요한 Discrete-Time Integrator 블록을 Iterator Subsystem 블록에 배치하면 Simulink에서 오류를 보고합니다.

Function-Call Subsystem 내부 Enabled Subsystem의 동작

Function-Call Subsystem에 Enabled Subsystem이 포함되어 있고, Enabled Subsystem에 Discrete-Time Integrator 블록이 포함되어 있다고 가정하겠습니다. 다음 동작이 적용됩니다.

적분기 방법함수 호출 Trigger Port의 샘플 시간 유형 Function-Call Subsystem이 활성화된 후 처음으로 실행될 때 delta T동작 이유

순방향 오일러

트리거됨

t — tstart

Function-Call Subsystem이 처음으로 실행될 때, 적분기 알고리즘은 tstart를 이전 시뮬레이션 시간으로 사용합니다.

역방향 오일러 및 사다리꼴

트리거됨

t — tprevious

Function-Call Subsystem이 처음으로 실행될 때, 적분기 알고리즘은 tprevious를 이전 시뮬레이션 시간으로 사용합니다.

순방향 오일러, 역방향 오일러, 사다리꼴

주기적

Function-Call Generator의 샘플 시간

주기적 모드에서 Discrete-Time Integrator 블록은 delta T에 Function-Call Generator의 샘플 시간을 사용합니다.

예제

포트

입력

모두 확장

입력 신호로, 스칼라, 벡터 또는 행렬로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

외부 재설정 신호로, 스칼라로 지정됩니다. 지정된 트리거 이벤트가 발생하면 블록은 상태를 초기 조건으로 재설정합니다.

이 포트의 아이콘은 외부 재설정 파라미터의 값에 따라 변경됩니다.

종속성

이 포트를 활성화하려면 외부 재설정상승, 하강, 양쪽 모두 가능, 레벨 또는 샘플링된 레벨로 설정하십시오.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

상태의 초기 조건으로, 유한한 스칼라, 벡터 또는 행렬로 지정됩니다.

종속성

이 포트를 활성화하려면 초기 조건 소스외부로 설정하십시오.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

출력

모두 확장

입력 신호의 이산시간 적분 또는 누적으로, 스칼라, 벡터 또는 행렬로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

상태가 제한되고 있음을 나타내는 신호로, 스칼라, 벡터 또는 행렬로 지정됩니다. 신호의 값은 다음 세 가지 중 하나입니다.

  • 1은 상한이 적용되고 있음을 나타냅니다.

  • 0은 적분이 제한되지 않음을 나타냅니다.

  • -1은 하한이 적용되고 있음을 나타냅니다.

종속성

이 포트를 활성화하려면 포화 포트 표시 체크박스를 선택하십시오.

데이터형: single | double | int8

블록 상태로, 스칼라, 벡터 또는 행렬로 출력됩니다. 기본적으로 블록은 이 포트를 블록 아이콘 상단에 추가합니다. 다음과 같은 경우 상태 포트를 사용하십시오.

  • 블록의 출력이 재설정 포트나 초기 조건 포트를 통해 블록으로 피드백되어 대수 루프를 유발하는 경우. 예제는 sldemo_bounce_two_integrators 모델을 참조하십시오.

  • 하나의 조건부 실행 서브시스템에서 다른 조건부 실행 서브시스템으로 상태를 전달하려는 경우. 이 경우에는 타이밍 문제가 발생할 수 있습니다. 예제는 sldemo_clutch 모델을 참조하십시오.

자세한 내용은 상태 포트를 사용하는 경우 항목을 참조하십시오.

종속성

이 포트를 활성화하려면 상태 포트 표시 체크박스를 선택하십시오.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

파라미터

모두 확장

기본

적분 방법이나 누적 방법을 지정합니다. 자세한 내용은 출력 방정식 항목과 적분 및 누적 방법 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: IntegratorMethod
유형: 문자형 벡터
값: 'Integration: Forward Euler' | 'Integration: Backward Euler' | 'Integration: Trapezoidal' | 'Accumulation: Forward Euler' | 'Accumulation: Backward Euler' | 'Accumulation: Trapezoidal'
디폴트 값: 'Integration: Forward Euler'

적분기 입력에 곱할 스칼라, 벡터 또는 행렬을 지정합니다. 이득의 각 요소는 양의 실수여야 합니다.

  • 1.0(디폴트 값) 이외의 값을 지정하는 것은 Gain 블록을 적분기의 입력에 연결하는 것과 의미론적으로 동일합니다.

  • 유효한 항목은 다음과 같습니다.

    • double(1.0)

    • single(1.0)

    • [1.1 2.2 3.3 4.4]

    • [1.1 2.2; 3.3 4.4]

이 파라미터를 사용하여 입력 이득을 지정하면 생성 코드에서 곱셈 연산이 제거됩니다. 그러나 이 이점을 실현하려면 이 파라미터가 조정 불가형이어야 합니다. 입력 이득을 조정하려면 이 파라미터를 1.0으로 설정하고 외부 Gain 블록을 사용하여 입력 이득을 지정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: gainval
유형: 문자형 벡터
값: 스칼라 | 벡터
디폴트 값: '1.0'

상태를 초기 조건으로 재설정하는 트리거 이벤트의 유형을 선택합니다.

  • 안 함 — 상태를 초기 조건으로 재설정하지 않습니다.

  • 상승 — 재설정 신호에 상승 에지가 있을 때 상태를 재설정합니다.

  • 하강 — 재설정 신호에 하강 에지가 있을 때 상태를 재설정합니다.

  • 양쪽 모두 가능 — 재설정 신호가 상승하거나 하강할 때 상태를 재설정합니다.

  • 레벨 — 재설정 신호가 0이 아닌 동안 출력을 초기 조건으로 재설정하고 유지합니다.

  • 샘플링된 레벨 — 재설정 신호가 0이 아닐 때 출력을 초기 조건으로 재설정합니다.

자세한 내용은 상태 재설정하기 항목과 트리거 유형 재설정하기 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: ExternalReset
유형: 문자형 벡터
값: 'none' | 'rising' | 'falling' | 'either' | 'level' | 'sampled level'
디폴트 값: 'none'

초기 조건의 소스를 선택합니다.

  • 내부초기 조건 파라미터에서 상태의 초기 조건을 가져옵니다.

  • 외부 — 외부 신호에서 상태의 초기 조건을 가져옵니다. 이 옵션을 선택하면 입력 포트가 블록에 표시됩니다.

프로그래밍 방식의 사용법

블록 파라미터: InitialConditionSource
유형: 문자형 벡터, string형
값: 'internal' | 'external'
디폴트 값: 'internal'

블록 상태의 초기 조건을 지정합니다. 최솟값과 최댓값은 출력 최솟값출력 최댓값 블록 파라미터에 의해 제한됩니다.

Simulink에서는 이 블록의 초기 조건이 inf 또는 NaN인 경우가 허용되지 않습니다.

종속성

이 파라미터를 활성화하려면 초기 조건 소스내부로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: InitialCondition
유형: 문자형 벡터, string형
값: 스칼라 | 벡터 | 행렬
디폴트 값: '0'

초기 조건 파라미터의 값을 블록 상태에 적용할지 아니면 블록 출력에 적용할지 선택합니다. 초기 조건은 재설정 값이기도 합니다.

  • 자동 — 블록이 초기 조건 파라미터를 적용할 위치를 선택합니다.

    • 블록이 Triggered Subsystem이 아닌 서브시스템에 있고 적분기 방법이 적분 방법으로 설정되어 있는 경우 다음과 같이 초기 조건을 설정합니다.

      x(0) = IC

      재설정 시:

      x(n) = IC

    • 블록이 Triggered Subsystem이나 Function-Call Subsystem에 있고 적분기 방법이 적분 방법으로 설정되어 있는 경우 출력이 선택된 것처럼 초기 조건을 설정합니다.

  • 출력 — 블록이 Triggered Subsystem이나 Function-Call Subsystem에 있고 적분기 방법이 적분 방법으로 설정되어 있는 경우 이 옵션을 사용하십시오.

    다음과 같이 초기 조건을 설정합니다.

    y(0) = IC

    재설정 시:

    y(n) = IC

  • 호환성 — 이 옵션은 이전 버전과의 호환성을 제공하기 위해 존재합니다. Simulink 모델의 Discrete-Time Integrator 블록에는 이 옵션을 선택할 수 없지만, 라이브러리의 Discrete-Time Integrator 블록에는 이 옵션을 선택할 수 있습니다. R2014a 이전에 만든 Simulink 모델과의 호환성을 유지하려면 이 옵션을 사용하십시오.

    R2014a 이전에는 옵션 자동상태 전용(가장 효율적)이라고 했습니다. 옵션 출력상태 및 출력이라고 했습니다. 호환성 옵션이 설정된 블록의 동작은 다음과 같습니다.

    • 과소 지정된 초기화 감지고전 방식으로 설정되어 있는 경우, 초기 조건 설정 파라미터는 자동으로 동작합니다.

    • 과소 지정된 초기화 감지단순 방식으로 설정되어 있는 경우, 초기 조건 설정 파라미터는 출력으로 동작합니다.

참고

R2014a 이전 Simulink에서는 이 파라미터의 이름이 초기 조건을 초기값 및 재설정 값으로 사용이었습니다.

프로그래밍 방식의 사용법

블록 파라미터: InitialConditionSetting
유형: 문자형 벡터
값: 'Auto' | 'Output' | 'Compatibility'
디폴트 값: 'Auto'

스텝 간 이산시간 간격을 입력하십시오.

기본적으로 블록은 1의 이산 샘플 시간을 사용합니다. 다른 샘플 시간을 설정하려면 0.1과 같은 다른 이산 값을 입력하십시오.

자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.

  • 샘플 시간을 0으로 지정하지 마십시오. 이 값은 연속 샘플 시간을 지정하며, Discrete-Time Integrator 블록은 이를 지원하지 않습니다.

  • 샘플 시간을 inf 또는 NaN로 지정하지 마십시오. 이러한 값은 이산 값이 아닙니다.

  • 업스트림 블록에서 샘플 시간을 상속하도록 -1을 지정하는 경우, 업스트림 블록이 이산 샘플 시간을 사용하는지 확인하십시오. 예를 들어 Discrete-Time Integrator 블록은 0의 샘플 시간을 상속할 수 없습니다.

프로그래밍 방식의 사용법

블록 파라미터: SampleTime
유형: 문자형 벡터
값: 스칼라 | 벡터
디폴트 값: '-1'

블록의 출력을 포화 하한 파라미터와 포화 상한 파라미터 사이의 값으로 제한합니다.

  • 이 체크박스를 선택하면 블록의 출력이 포화 하한 파라미터와 포화 상한 파라미터 사이의 값으로 제한됩니다.

  • 이 체크박스를 선택 해제하면 블록의 출력값이 제한되지 않습니다.

종속성

이 파라미터를 선택하면 포화 하한 파라미터와 포화 상한 파라미터가 활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: LimitOutput
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

적분에 대한 상한을 스칼라, 벡터 또는 행렬로 지정합니다. 출력 최솟값 파라미터 값과 출력 최댓값 파라미터 값 사이의 값을 지정해야 합니다.

종속성

이 파라미터를 활성화하려면 출력 제한 체크박스를 선택하십시오.

프로그래밍 방식의 사용법

블록 파라미터: UpperSaturationLimit
유형: 문자형 벡터, string형
값: 스칼라 | 벡터 | 행렬
디폴트 값: 'inf'

적분에 대한 하한을 스칼라, 벡터 또는 행렬로 지정합니다. 출력 최솟값 파라미터 값과 출력 최댓값 파라미터 값 사이의 값을 지정해야 합니다.

종속성

이 파라미터를 활성화하려면 출력 제한 체크박스를 선택하십시오.

프로그래밍 방식의 사용법

블록 파라미터: LowerSaturationLimit
유형: 문자형 벡터, string형
값: 스칼라 | 벡터 | 행렬
디폴트 값: '-inf'

블록에 포화 출력 포트를 추가하려면 이 체크박스를 선택합니다. 이 체크박스를 선택 해제하면 블록은 포화 출력 포트를 갖지 않습니다.

종속성

이 파라미터를 선택하면 포화 출력 포트가 활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: ShowSaturationPort
유형: 문자형 벡터, string형
값: 'off' | 'on'
디폴트 값: 'off'

블록에 상태 출력 포트를 추가하려면 이 체크박스를 선택합니다. 이 체크박스를 선택 해제하면 블록은 상태 출력 포트를 갖지 않습니다.

종속성

이 파라미터를 선택하면 상태 출력 포트가 활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: ShowStatePort
유형: 문자형 벡터, string형
값: 'off' | 'on'
디폴트 값: 'off'

이 체크박스를 선택하면 Simulink 선형화 명령이 블록 재설정 및 출력 제한 옵션 설정과 관계없이 이 블록을 재설정 불가능하고 출력 제한이 없는 블록으로 처리합니다.

제한을 무시하고 재설정하면 동작점을 중심으로 모델을 선형화할 수 있습니다. 이 점은 적분기가 재설정되게 하거나 포화되게 할 수 있습니다.

프로그래밍 방식의 사용법

블록 파라미터: IgnoreLimit
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

신호 특성

소프트웨어에서 검사하는 출력 범위의 하한 값입니다.

이 최솟값을 사용하여 다음 작업이 수행됩니다.

출력 최솟값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

파라미터: OutMin
값: '[]' (디폴트 값) | scalar in quotes

소프트웨어에서 검사하는 출력 범위의 상한 값입니다.

이 최댓값을 사용하여 다음 작업이 수행됩니다.

출력 최댓값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

파라미터: OutMax
값: '[]' (디폴트 값) | scalar in quotes

출력의 데이터형을 선택합니다. 유형은 상속되거나 직접 지정되거나 Simulink.NumericType과 같은 데이터형 객체로 표현될 수 있습니다. 자세한 내용은 Control Data Types of Signals 항목을 참조하십시오.

상속된 옵션을 선택하면 블록은 다음과 같이 동작합니다.

  • 상속: 내부 규칙을 통해 상속 — Simulink가 임베디드 타깃 하드웨어의 속성을 고려하면서도 수치적 정확도와 성능, 생성된 코드 크기 간에 균형을 이루도록 데이터형을 선택합니다. 임베디드 타깃 설정을 변경할 경우 내부 규칙을 통해 선택된 데이터형이 변경될 수 있습니다. 예를 들어 블록이 int8형의 입력을 int16형의 이득에 곱하고 ASIC/FPGA가 타깃 하드웨어 유형으로 지정된 경우 출력 데이터형은 sfix24입니다. 지정되지 않음(32비트 일반으로 간주됨), 즉 일반 32비트 마이크로프로세서가 타깃 하드웨어로 지정된 경우 출력 데이터형은 int32입니다. 타깃 마이크로프로세서에서 제공된 어떤 워드 길이로도 출력 범위를 수용할 수 없는 경우 Simulink는 진단 뷰어에 오류를 표시합니다.

    항상 코드 효율성과 수치적 정확도를 동시에 최적화할 수 있는 것은 아닙니다. 내부 규칙이 수치적 정확도 또는 성능의 특정 요건에 부합되지 않으면 다음 옵션 중 하나를 사용하십시오.

    • 명시적으로 출력 데이터형을 지정합니다.

    • 상속: 입력과 동일을 간단히 선택합니다.

    • 명시적으로 fixdt(1,32,16) 같은 디폴트 데이터형을 지정한 다음, 모델의 데이터형을 제안하는 고정소수점 툴을 사용합니다. 자세한 내용은 fxptdlg (Fixed-Point Designer) 항목을 참조하십시오.

    • 고유한 상속 규칙을 지정하려면 상속: 역전파를 통해 상속을 사용한 후 Data Type Propagation 블록을 사용합니다. 이 블록의 사용 방법에 대한 예는 Signal Attributes 라이브러리의 Data Type Propagation Examples 블록에서 볼 수 있습니다.

  • 상속: 역전파를 통해 상속 — 구동 블록의 데이터형을 사용합니다.

프로그래밍 방식의 사용법

블록 파라미터: OutDataTypeStr
유형: 문자형 벡터
: 'Inherit: Inherit via internal rule | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
디폴트 값: 'Inherit: Inherit via internal rule'

블록에 지정한 출력 데이터형이 고정소수점 툴에 의해 재정의되지 않도록 방지하려면 이 파라미터를 선택합니다. 자세한 내용은 Use Lock Output Data Type Setting (Fixed-Point Designer) 항목을 참조하십시오.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

파라미터: LockScale
값: 'off' (디폴트 값) | 'on'

다음 반올림 모드 중 하나를 선택합니다.

올림(Ceiling)

양수와 음수를 모두 양의 무한대 방향으로 올림합니다. MATLAB® ceil 함수와 동일합니다.

수렴(Convergent)

숫자를 표현 가능한 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자인 경우 가장 가까운 짝수로 반올림합니다. Fixed-Point Designer™ convergent 함수와 동일합니다.

내림(Floor)

양수와 음수를 모두 음의 무한대 방향으로 내림합니다. MATLAB floor 함수와 동일합니다.

최근접(Nearest)

숫자를 표현 가능한 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자인 경우 양의 무한대 방향으로 올림합니다. Fixed-Point Designer nearest 함수와 동일합니다.

반올림(Round)

숫자를 표현 가능한 가장 가까운 값으로 반올림합니다. 반올림 경계에 놓인 숫자인 경우 양수는 양의 무한대 방향으로 올림하고 음수는 음의 무한대 방향으로 내림합니다. Fixed-Point Designer round 함수와 동일합니다.

최대단순(Simplest)

가능한 한 가장 효율적인 반올림 코드를 생성하기 위해 내림과 0 방향으로의 올림/내림 중에서 자동으로 선택합니다.

0 방향(Zero)

숫자를 0 방향으로 반올림합니다. MATLAB fix 함수와 동일합니다.

프로그래밍 방식의 사용법

블록 파라미터: RndMeth
유형: 문자형 벡터
: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
디폴트 값: 'Floor'

참고 항목

자세한 내용은 반올림 모드 (Fixed-Point Designer) 항목을 참조하십시오.

오버플로 시 포화시킬지 아니면 래핑할지를 지정합니다.

  • on — 오버플로 시 데이터형이 표현할 수 있는 최솟값 또는 최댓값으로 포화됩니다.

  • off — 오버플로 시 데이터형이 표현할 수 있는 적절한 값으로 래핑됩니다.

예를 들어, 부호 있는 8비트 정수 int8이 표현할 수 있는 최댓값은 127입니다. 블록 연산 결과가 이 최댓값보다 크면 8비트 정수 오버플로가 발생합니다.

  • 이 파라미터를 선택하면 블록 출력이 127에서 포화됩니다. 마찬가지로 블록 출력은 최소 출력값 -128에서 포화됩니다.

  • 이 파라미터를 선택 해제하면 오버플로를 일으키는 값이 int8형으로 해석되어 의도치 않은 결과가 발생할 수 있습니다. 예를 들어, int8형으로 표현된 130(2진수 1000 0010)의 블록 결과는 -126입니다.

  • 모델에 오버플로가 발생할 가능성이 있고 생성된 코드에서 포화 보호를 명시적으로 지정하려는 경우 이 파라미터를 선택해 보십시오.

  • 생성된 코드의 효율성을 최적화하려면 이 파라미터를 선택 해제하는 것이 좋습니다. 이 파라미터를 선택 해제하면 블록이 범위를 벗어난 신호를 처리하는 방법을 과도하게 지정하는 일이 방지됩니다. 자세한 내용은 Troubleshoot Signal Range Errors 항목을 참조하십시오.

  • 이 파라미터를 선택하는 경우 출력이나 결과뿐만 아니라 블록의 모든 내부 연산에 포화가 적용됩니다.

  • 일반적으로 코드 생성 프로세스는 오버플로가 발생할 가능성이 없는 경우를 감지할 수 있습니다. 이 경우, 코드 생성기는 포화 코드를 생성하지 않습니다.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

파라미터: SaturateOnIntegerOverflow
값: 'off' (디폴트 값) | 'on'

지정할 데이터 범주를 선택합니다.

  • 상속 — 데이터형에 대한 상속 규칙. Inherit를 선택하면 오른쪽에 있는 두 번째 메뉴/텍스트 상자가 활성화되며, 여기서 상속 모드를 선택할 수 있습니다.

  • 내장 — 내장 데이터형. Built in을 선택하면 오른쪽에 있는 두 번째 메뉴/텍스트 상자가 활성화되며, 여기서 내장 데이터형을 선택할 수 있습니다.

  • 고정소수점 — 고정소수점 데이터형. 고정소수점을 선택하면 고정소수점 데이터형을 지정하는 데 사용할 수 있는 추가 파라미터가 활성화됩니다.

  • 표현식 — 데이터형으로 평가되는 표현식. Expression을 선택하면 오른쪽에 있는 두 번째 메뉴/텍스트 상자가 활성화되며, 여기에 표현식을 입력할 수 있습니다.

자세한 내용은 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 데이터형 도우미를 표시합니다 버튼을 클릭하십시오.

이 신호에 맞는 데이터형 재정의 모드를 선택합니다.

  • 상속을 선택하면 Simulink는 컨텍스트, 즉 신호를 사용하는 Simulink의 블록, Simulink.Signal 객체 또는 Stateflow® 차트에서 데이터형 재정의 설정을 상속합니다.

  • 끄기를 선택하면 Simulink는 컨텍스트의 데이터형 재정의 설정을 무시하고 신호에 대해 지정된 고정소수점 데이터형을 사용합니다.

자세한 내용은 Simulink 문서의 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 모드내장 또는 고정소수점으로 설정하십시오.

사용자가 데이터형 재정의를 적용할 때 개별 데이터형에 대해 데이터형 재정의를 끄면 그 설정이 모델에 대한 데이터형보다 우선시 됩니다. 예를 들어, 이 옵션을 사용하여 데이터형이 데이터형 재정의 설정과 관계없이 다운스트림 블록의 요구 사항을 충족하는지 확인할 수 있습니다.

고정소수점 데이터를 부호 있는 데이터로 할지 부호 없는 데이터로 할지 지정합니다. 부호 있는 데이터는 양수 값과 음수 값을 표현할 수 있지만, 부호 없는 데이터는 양수 값만 표현합니다. 자세한 내용은 Specifying a Fixed-Point Data Type 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 모드고정소수점으로 설정하십시오.

양자화된 정수를 저장하는 워드의 비트 크기를 지정합니다. 자세한 내용은 Specifying a Fixed-Point Data Type 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 모드고정소수점으로 설정하십시오.

고정소수점 데이터 스케일링 방법을 지정하면 오버플로 조건이 발생하지 않도록 방지하고 양자화 오차를 최소화할 수 있습니다. 자세한 내용은 Specifying a Fixed-Point Data Type 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 모드고정소수점으로 설정하십시오.

고정소수점 데이터형의 소수부 길이를 양의 정수 또는 음의 정수로 지정합니다. 자세한 내용은 Specifying a Fixed-Point Data Type 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 스케일링이진 소수점으로 설정하십시오.

고정소수점 데이터형의 기울기를 지정합니다. 자세한 내용은 Specifying a Fixed-Point Data Type 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 스케일링기울기 및 편향으로 설정하십시오.

고정소수점 데이터형의 편향을 임의의 실수로 지정합니다. 자세한 내용은 Specifying a Fixed-Point Data Type 항목을 참조하십시오.

종속성

이 파라미터를 활성화하려면 스케일링기울기 및 편향으로 설정하십시오.

상태 특성

블록 상태에 고유한 이름을 할당하려면 이 파라미터를 사용하십시오. 디폴트 값은 ' '입니다. 이 필드가 공백이면 할당할 이름이 없는 것입니다. 이 파라미터를 사용할 때 다음 사항을 고려하십시오.

  • 유효한 식별자는 영문자 또는 밑줄 문자로 시작하며 그 뒤에 영숫자 또는 밑줄 문자가 이어집니다.

  • 상태 이름은 선택된 블록에만 적용됩니다.

자세한 내용은 C Data Code Interface Configuration for Model Interface Elements (Simulink Coder) 항목을 참조하십시오.

종속성

상태 이름에 값을 지정하고 적용을 클릭하면 상태 이름은 Simulink Signal 객체로 연결이 맺어져야 함 파라미터가 활성화됩니다.

프로그래밍 방식의 사용법

파라미터: StateName
유형: 문자형 벡터
값: 고유 이름
디폴트 값: ''

상태 이름이 Signal 객체로 연결이 맺어져야 하는지 지정합니다. 이 설정이 선택되면 Signal 객체 이름과 일치하지 않는 상태 이름이 지정되는 경우 런타임 오류가 발생합니다.

이 파라미터를 선택하면 코드 생성 스토리지 클래스 파라미터가 비활성화됩니다.

종속성

상태 이름 파라미터에 값을 지정하고 신호 연결 맺기 모델 구성 파라미터를 안 함 이외의 값으로 설정하면 활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: StateMustResolveToSignalObject
유형: 문자형 벡터
: 'off' | 'on'
디폴트 값: 'off'

블록 특성

데이터형

double | fixed point | integer | single

직접 피드스루

다차원 신호

아니요

가변 크기 신호

아니요

영점교차 검출

아니요

세부 정보

모두 확장

확장 기능

모두 확장

PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.

고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.

버전 내역

R2006a 이전에 개발됨