Sample and Hold
입력 신호에 대해 샘플 앤 홀드 수행
라이브러리:
DSP System Toolbox /
Signal Operations
DSP System Toolbox HDL Support /
Signal Operations
설명
Sample and Hold 블록은 트리거 포트(으로 표시)에서 트리거 이벤트를 수신할 때마다 신호 포트에서 입력값을 획득합니다. 그런 다음 블록은 다음 트리거 이벤트가 발생할 때까지 출력값을 획득한 입력값으로 유지합니다.
예제
포트
입력
In — 신호 포트
스칼라 | 벡터 | 행렬
신호 포트는 스칼라, 벡터 또는 행렬 형식의 데이터를 받을 수 있습니다.
종속 관계
입력 래치(버퍼) 파라미터를 선택하면 이 포트의 이름이 In<Lo>가 됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Trigger — 트리거 포트
스칼라
트리거 입력값은 신호 포트의 입력 프레임 속도와 같은 샘플 레이트를 갖는 샘플 기반 스칼라여야 합니다. 트리거 유형 파라미터를 사용하여 트리거 이벤트를 지정합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
출력
Port_1 — 샘플 앤 홀드 값
스칼라 | 벡터 | 행렬
샘플 앤 홀드 출력값으로, 스칼라, 벡터 또는 행렬로 반환됩니다. 블록은 트리거 포트에서 트리거 이벤트를 수신할 때마다 신호 포트에서 입력값을 획득합니다. 그런 다음 블록은 다음 트리거 이벤트가 발생할 때까지 획득한 데이터를 유지합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
파라미터
트리거 유형 — 트리거 유형
상승 에지
(디폴트 값) | 하강 에지
| 양쪽 에지 모두 가능
블록이 입력 신호를 획득하도록 트리거하는 이벤트 유형은 다음과 같습니다.
상승 에지
–– 트리거 입력값이 음수 값 또는 0에서 양수 값으로 상승합니다.하강 에지
–– 트리거 입력값이 양수 값 또는 0에서 음수 값으로 하강합니다.양쪽 에지 모두 가능
–– 트리거 입력값이 음수 값 또는 0에서 양수 값으로 상승하거나 양수 값 또는 0에서 음수 값으로 하강합니다.
초기 조건 — 첫 번째 트리거 이벤트 이전의 블록 출력값
0
(디폴트 값) | 스칼라 | 벡터 | 행렬
초기 조건 파라미터를 사용하여 첫 번째 트리거 이벤트 이전의 블록 출력값을 지정합니다. 획득한 입력값이 M×N 행렬인 경우 초기 조건은 M×N 행렬이거나 행렬의 모든 요소에서 반복되는 스칼라일 수 있습니다. 입력값이 길이가 M이고 방향이 없는 벡터인 경우 초기 조건은 길이가 M인 행 또는 열 벡터이거나 벡터의 모든 요소에서 반복되는 스칼라일 수 있습니다.
입력 래치(버퍼) — 입력 래치 버퍼
off
(디폴트 값) | on
입력 래치(버퍼) 체크박스를 선택하면 블록은 다음 트리거 이벤트가 발생할 때까지 이전 시간 스텝의 입력값을 출력합니다. 루프에서 이 블록을 사용하려면 이 체크박스를 선택하십시오.
블록 특성
데이터형 |
|
직접 피드스루 |
|
다차원 신호 |
|
가변 크기 신호 |
|
영점교차 검출 |
|
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.
HDL Coder™는 HDL 구현 및 합성 논리에 영향을 미치는 구성 옵션을 추가로 제공합니다.
Sample and Hold 블록의 HDL 코드는 Triggered Subsystem 블록으로 생성됩니다. 두 블록 모두에 비슷한 제한 사항이 적용됩니다. Using Triggered Subsystems for HDL Code Generation (HDL Coder) 항목을 참조하십시오.
HDL 블록 속성의 설명은 HDL Block Properties: General (HDL Coder) 항목을 참조하십시오.
HDL 코드 생성을 타깃으로 하는 모델에서 Sample and Hold 블록을 사용할 경우 다음을 고려하십시오.
합성 결과가 Simulink® 결과와 일치하려면 FPGA에 등록된 논리(동기식 클록 포함)를 사용하여 트리거 포트를 구동합니다.
출력 신호에 단위 지연을 추가하는 것이 좋습니다. 이렇게 하면 코드 생성기가 HDL 코드에 추가 바이패스 레지스터를 삽입하는 것을 방지할 수 있습니다.
Sample and Hold 블록과 같은 Triggered Subsystem을 사용하면 다음과 같은 방식으로 합성 결과에 영향을 미칠 수 있습니다.
경우에 따라 시스템 클록 속도가 조금 떨어질 수 있습니다.
생성 코드가 Triggered Subsystem 인스턴스의 개수에 비례하여 더 많은 리소스를 사용합니다.
Sample and Hold 블록은 다음 조건을 충족해야 합니다.
DUT(예: 코드가 생성되는 최상위 서브시스템)가 Sample and Hold 블록이 아니어야 합니다.
트리거 신호가 스칼라여야 합니다.
트리거 신호의 데이터형이
boolean
또는ufix1
이어야 합니다.Sample and Hold 블록 출력값의 초기값이 0이어야 합니다.
Sample and Hold 블록의 입력 신호, 출력 신호, 트리거 신호가 같은 레이트로 실행되어야 합니다. 입력 신호나 트리거 신호 중 하나가 Signal Editor 블록의 출력값인 경우 레이트를 일치시키는 방법은 Using the Signal Editor Block (HDL Coder) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)