주요 콘텐츠

Waveform Generator

신호 표기를 사용한 파형 출력

  • Waveform Generator block

라이브러리:
Simulink / Sources

설명

Waveform Generator 블록은 파형 정의 테이블에 입력한 신호 표기에 따라 파형을 출력합니다.

이 블록은 신호 표기에 다음과 같은 구문을 지원합니다.

  • 함수 구문 — 모든 인수를 신호 구문에 맞는 특정 순서로 지정합니다(알고리즘 항목 참조).

  • 이름-값 구문 — 선택적 Name,Value 인수 쌍을 쉼표로 구분하여 지정합니다. Name은 인수 이름이고 Value는 대응하는 값입니다. Name은 작은따옴표(' ')로 묶어야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다. 자세한 내용은 알고리즘 항목을 참조하십시오.

이 블록은 표준 모드, 액셀러레이터 모드 및 고속 액셀러레이터 모드와 빠른 재시작을 지원합니다.

지원되는 연산자

연산연산자

절댓값

abs()

덧셈

+

나누기

/

곱셈

*

소괄호

()

뺄셈

-

단항 마이너스

-

Waveform 블록은 다음과 같은 연산자 우선 순위 규칙을 따릅니다.

  1. ( )

  2. + - (단항)

  3. * /

  4. + -

지원되는 작업

Waveform Generator 블록은 한 번에 하나의 신호를 출력합니다. 사용자가 이 출력 신호를 변경할 수 있습니다. 주파수 및 위상 오프셋 파라미터를 라디안 단위로 표현합니다. 다음을 수행할 수도 있습니다.

  • 신호 표기를 중첩시킵니다. 예를 들면 다음과 같습니다.

    sin('Amplitude',sin('Amplitude',1,'Frequency',1,'Phase',0),'Frequency',1,'Phase',1)

  • 기본 작업 공간 또는 모델 작업 공간에서 실수형 스칼라 변수를 참조합니다. 예를 들면 다음과 같습니다.

    sin('Amplitude',x,'Frequency',y,'Phase',z)

    x, y, z는 기본 작업 공간에 존재합니다.

파형에 대한 자세한 내용은 알고리즘 항목을 참조하십시오.

여러 다른 입력 유형에 대한 시스템의 응답을 빠르게 확인하기 위해 시뮬레이션 진행 중에 Waveform Generator 블록의 출력 신호를 다르게 바꾸어 볼 수 있습니다.

예제

제한 사항

  • Simulink® Coder™를 사용하여 생성한 코드를 실행하는 중에 주파수 또는 진폭과 같은 파형의 파라미터를 조정할 수 없습니다. 대신에 사용자가 지정한 파형 변형 간 전환을 가능하게 하는 코드를 생성할 수 있습니다. 자세한 내용은 Switch Between Output Waveforms During Code Execution for Waveform Generator Block (Simulink Coder) 항목을 참조하십시오.

포트

출력

모두 확장

파형 정의 테이블에 있는 항목으로 지정된 출력 신호

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

파라미터

모두 확장

기본

파형 정의를 선택하여 출력 신호를 지정합니다. 이 숫자는 파형 정의 테이블에 있는 항목에 대응됩니다. 시뮬레이션이 실행 중일 때 이 파라미터를 변경할 수 있습니다.

프로그래밍 방식의 사용법

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

파형 정의 테이블에 신호 표기를 입력합니다(한 줄에 하나의 파형 정의). 자세한 내용은 알고리즘 항목을 참조하십시오.

신호 특성

데이터형 도우미를 사용하면 데이터 특성을 쉽게 설정할 수 있습니다. 데이터형 도우미를 사용하려면 the Show data type assistant button을 클릭하십시오. 자세한 내용은 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.

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

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

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

프로그래밍 방식의 사용법

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

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

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

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

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

프로그래밍 방식의 사용법

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

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

출력의 데이터형을 선택합니다. 유형은 상속되거나 직접 지정되거나 Simulink.NumericType과 같은 데이터형 객체로 표현될 수 있습니다.

프로그래밍 방식의 사용법

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

고정소수점 툴과 고정소수점 어드바이저에 의해 변경되지 않도록 이 블록의 출력 데이터형 설정을 잠그려면 선택합니다. 자세한 내용은 Use Lock Output Data Type Setting (Fixed-Point Designer) 항목을 참조하십시오.

프로그래밍 방식의 사용법

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

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

올림(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'

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

프로그래밍 방식의 사용법

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

블록 특성

데이터형

Boolean | double | fixed point | integer | single

직접 피드스루

아니요

다차원 신호

아니요

가변 크기 신호

아니요

영점교차 검출

아니요

알고리즘

모두 확장

파형 정의 테이블에 신호 표기를 입력합니다(한 줄에 하나의 파형 정의). 파형 정의를 추가하려면 추가를 클릭합니다. 새 파형이 빈 문자형 벡터로 표시됩니다. 블록은 빈 문자형 벡터 또는 공백 문자형 벡터를 그라운드 값으로 해석합니다.

파형 정의를 제거하려면 제거를 클릭합니다. Ctrl 키를 누르고 클릭하거나 Shift 키를 누르고 클릭하여 여러 개의 파형을 선택할 수 있습니다.

확장 기능

모두 확장

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

버전 내역

R2015b에 개발됨