Main Content

Zero-Order Hold

영차 유지 샘플 주기 구현

  • Zero-Order Hold block

라이브러리:
Simulink / Discrete
HDL Coder / Discrete

설명

Zero-Order Hold 블록은 사용자가 지정한 샘플 주기 동안 자신의 입력을 유지합니다. 입력값이 벡터인 경우 블록은 동일한 샘플 주기 동안 벡터의 모든 요소를 유지합니다.

샘플 시간 파라미터를 사용하여 샘플 간의 시간을 지정합니다. 설정값이 -1이면 블록이 샘플 시간을 상속한다는 의미입니다.

Zero-Order Hold 블록을 사용하여 서로 다른 샘플 레이트에서 작동하는 블록 간의 빠름-느림 천이를 생성하면 안 됩니다. 대신, Rate Transition 블록을 사용하십시오.

버스 지원

Zero-Order Hold 블록은 버스를 지원하는 블록입니다. 입력값은 가상 버스 신호 또는 비가상 버스 신호가 될 수 있습니다. 블록 특정 제한 사항은 없습니다. Zero-Order Hold 블록에 대한 비가상 버스 입력의 모든 신호는 연결된 Bus 객체의 요소가 상속된 샘플 시간을 지정하더라도 동일한 샘플 시간을 가져야 합니다. Rate Transition 블록을 사용하여 개별 신호의 샘플 시간 또는 버스의 모든 신호의 샘플 시간을 변경할 수 있습니다. 자세한 내용은 비가상 버스의 샘플 시간 수정하기 항목과 Bus-Capable Blocks 항목을 참조하십시오.

버스로 구성된 배열을 Zero-Order Hold 블록에 대한 입력 신호로 사용할 수 있습니다. 버스로 구성된 배열의 정의와 사용에 대한 자세한 내용은 Group Nonvirtual Buses in Arrays of Buses 항목을 참조하십시오.

유사한 블록 간의 비교

Memory, Unit Delay, Zero-Order Hold 블록은 비슷한 기능을 제공하지만 각각 다른 기능을 가지고 있습니다. 또한, 각 블록의 용도도 다릅니다.

이 표에는 각 블록에 권장되는 사용법이 나와 있습니다.

블록블록의 용도참조 예제
Unit Delay사용자가 지정한 이산 샘플 시간을 사용하여 지연을 구현합니다. 이 블록은 이산 샘플 시간을 사용하는 신호를 받고 출력합니다.
Memory하나의 주 적분 시간 스텝만큼 지연을 구현합니다. 블록이 연속(또는 보조 시간 스텝에서 고정) 신호를 받고 보조 시간 스텝에서 고정 신호를 출력하는 것이 이상적입니다.
Zero-Order Hold연속 샘플 시간을 갖는 입력 신호를 이산 샘플 시간을 갖는 출력 신호로 변환합니다.

각 블록에는 다음과 같은 기능이 있습니다.

기능MemoryUnit DelayZero-Order Hold
초기 조건 지정아니요. 시간 t = 0에서의 블록 출력이 입력값과 일치해야 함.
샘플 시간 지정아니요. 블록은 전체 모델에 사용되는 구동 블록 또는 솔버의 샘플 시간만 상속할 수 있음.
프레임 기반 신호 지원아니요
상태 기록 지원아니요아니요

포트

입력

모두 확장

블록이 하나의 샘플 주기 동안 유지하는 입력 신호입니다.

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

출력

모두 확장

하나의 샘플 주기 동안 유지되는 입력인 출력 신호입니다.

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

파라미터

모두 확장

샘플 간의 시간 간격을 지정합니다. 샘플 시간을 상속하려면 이 파라미터를 -1로 설정하십시오. 자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.

연속 샘플 시간(0 또는 [0,0])을 지정하지 마십시오. 이 블록은 이산 샘플 시간만 지원합니다. 이 파라미터가 -1인 경우 상속된 샘플 시간은 연속시간이 아닌 이산시간이어야 합니다.

프로그래밍 방식의 사용법

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

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

파라미터: SampleTime
값: -1 (디폴트 값) | positive scalar number
데이터형: char | string

예: set_param("mdl/Zero-Order Hold","SampleTime","0.1") specifies a discrete sample time of 0.1 for the Zero-Order Hold block named Zero-Order Hold in the model named mdl.

블록 특성

데이터형

Boolean | bus | double | enumerated | fixed point | integer | single

직접 피드스루

다차원 신호

아니요

가변 크기 신호

아니요

영점교차 검출

아니요

확장 기능

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

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

버전 내역

R2006a 이전에 개발됨

참고 항목

|