Этот пример использует блок Discrete FIR Filter, чтобы проиллюстрировать, когда параметры преобразуются из двойного в число с фиксированной точкой, когда тип входных данных преобразуется в тип выходных данных и когда применяются правила сложения, вычитания и умножения.
Примечание
Если блок может выполнить все четыре арифметические операции, то сначала применяются правила умножения и деления. Блок Discrete FIR Filter является примером этого.
Предположим, что вы конфигурируете блок Discrete FIR Filter для двух выходов, где первый вывод задан как
и второй выход дается
Кроме того, начальные значения 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 выполняет преобразования параметров и операции блоков в следующем порядке:
Параметр Coefficients преобразуется в автономном режиме из двойного в Coefficients тип данных с помощью округления в ближайшее и насыщения.
Параметр Initial states преобразуется в автономном режиме из двойного в тип входных данных с помощью округления в ближайшее и насыщения.
Коэффициенты и входы умножаются вместе для начального временного шага для обоих выходов. Для y 1 (0) выполняют операции 13· u (0), 11· 0,8 и -7· 1,1, в то время как для y 2 (0) выполняют операции 6· u (0) и -5· 0,8.
Результаты этих операций хранятся следующим Product output.
Сумма осуществляется в Accumulator году. Конечный результат суммирования затем преобразуется в Output.
Шаги 2 и 3 повторяются для последующих временных шагов.