Main Content

유계 가변 크기 신호의 기본 연산

이 예제에서는 유계 가변 크기 신호를 생성하는 방법을 보여주고 이러한 신호를 사용하는 일부 연산을 보여줍니다. 이 예제에서는 Selector 블록과 Switch 블록을 사용하여 가변 크기 신호를 생성합니다. 이 신호는 수학 연산, 버스 생성, 버스 선택, 행렬 결합 및 이산 필터 방정식 구현에 사용됩니다.

유계 가변 크기 신호 생성

유계 가변 크기 신호는 다음 컴포넌트에서 생성됩니다.

Bounded Variable-Size Signal Generation Using Switch Block 컴포넌트는 입력 포트에 스칼라 신호와 3×2 비 스칼라 신호를 가진 Switch 블록을 사용합니다. 이 블록의 출력은 상한이 3×2인 유계 가변 크기 신호입니다. 첫 번째 입력 전달 조건 파라미터에 설정된 조건에 따라 출력이 결정됩니다. 서로 다른 크기 신호의 전파를 허용하려면 블록 파라미터 대화 상자에서 신호 특성 > 서로 다른 데이터 입력 크기 허용을 선택합니다. 이 출력 신호는 뒤에 있는 Bus Creation, Bus Selection and Matrix Concatenation 컴포넌트에 사용됩니다.

Bounded Variable-Size Signal Generation Using Selector Block 컴포넌트는 3×2 및 1×2 비 스칼라 신호를 사용하는 Selector 블록을 사용합니다. 이 블록의 출력은 상한이 3×4인 유계 가변 크기 신호입니다. 시간에 따라 크기 선택 인덱스가 변경되도록 하려면 블록 파라미터 대화 상자에서 인덱스 옵션에 대해 시작 인덱스 및 끝 인덱스(포트) 파라미터를 선택하고 인덱스 옵션에 대해 시작 인덱스 및 끝 인덱스(포트) 파라미터를 선택합니다. 또한, 이 모델의 경우 입력 차원 수2로 설정됩니다.

유계 가변 크기 신호를 사용한 기본 연산

유계 가변 크기 신호를 사용한 연산은 다음 컴포넌트로 표현됩니다.

Bus Creation, Bus Selection and Matrix Concatenation 컴포넌트는 Switch 블록을 사용하여 생성된 신호를 사용하며 버스 생성, 버스 선택 및 행렬 결합을 위한 다음 블록을 포함합니다.

  • Matrix Concatenate 블록 $-$ 이 블록은 차원 1(행)을 따라 상한이 3×2인 두 개의 유계 가변 크기 신호를 결합합니다. 그리고 6×2 행렬을 출력합니다.

  • Bus Creator 블록 $-$ 이 블록은 두 개의 3×2 유계 가변 크기 신호 ab를 결합하여 비가상 버스 Data Signal을 출력합니다. 이 비가상 버스는 Goto 블록에 저장됩니다.

  • Bus Selector 블록 $-$ 이 블록은 비가상 버스 Data Signal을 사용하며 Bus Selector 블록을 사용하여 두 개의 3×2 유계 가변 크기 신호를 선택합니다.

Stateflow Chart and Function-Call Subsystem to Implement a Discrete-time FIR Filter Equation 컴포넌트는 Unit Delay 블록과 Gain 블록을 사용하여 이름이 Third order Discrete FIR Filter인 Function-Call Subsystem 내에 3차 인과적 이산시간 유한 임펄스 응답(FIR) 필터 방정식을 구현합니다. 이 필터 방정식은 가장 최근의 입력값을 사용하는 가중 합산을 나타냅니다. 이 서브시스템은 3×2 유계 가변 크기 신호를 입력으로 사용하고 function 포트에서 함수 호출 신호를 수신하면 트리거됩니다. Stateflow 차트 Mode Control Logic로부터의 출력 이벤트 E는 신호 크기의 변경을 나타내며, 이 서브시스템의 실행을 트리거(활성화)합니다.

현재 신호 크기를 전파하고 현재 신호의 크기를 허용하도록 Unit Delay 블록 상태를 재설정하려면 Function-Call Subsystem 내의 Trigger 블록 파라미터 대화 상자에서 가변 크기 신호의 크기 전파 파라미터를 Only when enabling으로 설정합니다.

출력 Processed Signal은 Scope 블록을 사용하여 표현됩니다.

시뮬레이션의 서로 다른 시간 스텝에서 신호 너비는 simout2simout4 변수를 사용하여 기본 작업 공간에 기록됩니다.

Mathematical Operations 컴포넌트는 Selector 블록을 사용하여 생성하는 유계 가변 크기 신호에 대한 수학 연산을 보여줍니다. 이 컴포넌트는 수학 연산에 다음 블록을 사용합니다.

  • Complex to Real-Imag 블록: 이 블록은 복소수 입력 신호의 실수부와 허수부를 분리합니다.

  • Math Function 블록: 이 블록은 square 함수를 사용하여 신호의 실수부의 제곱을 계산하고 log10 함수를 사용하여 신호의 허수부의 상용(밑 10) 로그 값을 계산합니다.

  • Width 블록: 이 블록은 시뮬레이션의 서로 다른 시간 스텝에서 입력 유계 가변 크기 신호의 너비를 계산합니다. 이 값은 기본 작업 공간의 변수 selectorVarSigWidth에 기록됩니다.

참고 항목

| | | | (Stateflow) | | | | |

관련 항목