Преобразования и арифметические операции

Этот пример использует блок Discrete FIR Filter, чтобы проиллюстрировать, когда параметры преобразуются из двойного в число с фиксированной точкой, когда тип входных данных преобразуется в тип выходных данных и когда применяются правила сложения, вычитания и умножения.

Примечание

Если блок может выполнить все четыре арифметические операции, то сначала применяются правила умножения и деления. Блок Discrete FIR Filter является примером этого.

Предположим, что вы конфигурируете блок Discrete FIR Filter для двух выходов, где первый вывод задан как

y1(k)=13u(k)+11u(k1)7u(k2),

и второй выход дается

y2(k)=6u(k)5u(k1).

Кроме того, начальные значения u (k -1) и u (k -2) заданы 0,8 и 1,1 соответственно, и все входы, параметры и выходы имеют двоичное масштабирование только для точек.

Чтобы сконфигурировать блок Discrete FIR Filter для этой ситуации, на панели Main его диалогового окна необходимо задать параметр Coefficients следующим [13 11 -7; 6 -5 0] и параметр Initial states следующим [0.8 1.1], как показано здесь.

Точно так же сконфигурируйте опции на панели Data Types диалогового окна блока следующим образом:

Блок Discrete FIR Filter выполняет преобразования параметров и операции блоков в следующем порядке:

  1. Параметр Coefficients преобразуется в автономном режиме из двойного в Coefficients тип данных с помощью округления в ближайшее и насыщения.

    Параметр Initial states преобразуется в автономном режиме из двойного в тип входных данных с помощью округления в ближайшее и насыщения.

  2. Коэффициенты и входы умножаются вместе для начального временного шага для обоих выходов. Для y 1 (0) выполняют операции 13· u (0), 11· 0,8 и -7· 1,1, в то время как для y 2 (0) выполняют операцииu (0) и -5· 0,8.

    Результаты этих операций хранятся следующим Product output.

  3. Сумма осуществляется в Accumulator году. Конечный результат суммирования затем преобразуется в Output.

  4. Шаги 2 и 3 повторяются для последующих временных шагов.

См. также

Похожие темы