Перейти к содержанию
    

Matlab 2018b. Соответствие модели IIR для коэффициентов из fdatool.

Добрый день.
Прошу помочь с моделью IIR Simulink Matlb2018b для использования коэффициентов из fdatool.
Спроектировал IIR в fdatool.

image.thumb.png.2ff49983132d147be59c3d68de5d2ea9.png

Получил коэффициенты dbl_fdacoefs.h.

Спойлер

/*
 * Filter Coefficients (C Source) generated by the Filter Design and Analysis Tool
 * Generated by MATLAB(R) 9.5 and DSP System Toolbox 9.7.
 * Generated on: 21-Mar-2023 13:35:24
 */

/*
 * Discrete-Time IIR Filter (real)
 * -------------------------------
 * Filter Structure    : Direct-Form II, Second-Order Sections
 * Number of Sections  : 3
 * Stable              : Yes
 * Linear Phase        : No
 * Arithmetic          : fixed
 * Numerator           : s8,5 -> [-4 4)
 * Denominator         : s8,5 -> [-4 4)
 * Scale Values        : s8,8 -> [-5.000000e-01 5.000000e-01)
 * Input               : s24,7 -> [-65536 65536)
 * Section Input       : s24,10 -> [-8192 8192)
 * Section Output      : s24,10 -> [-8192 8192)
 * Output              : s24,10 -> [-8192 8192)
 * State               : s16,7 -> [-256 256)
 * Numerator Prod      : s24,12 -> [-2048 2048)
 * Denominator Prod    : s24,12 -> [-2048 2048)
 * Numerator Accum     : s40,12 -> [-134217728 134217728)
 * Denominator Accum   : s40,12 -> [-134217728 134217728)
 * Round Mode          : convergent
 * Overflow Mode       : wrap
 * Cast Before Sum     : true
 */

/* General type conversion for MATLAB generated C-code  */
#include "tmwtypes.h"
/* 
 * Expected path to tmwtypes.h 
 * D:\Program Files\MATLAB\R2018b\extern\include\tmwtypes.h 
 */
#define MWSPT_NSEC 7
const int NL[MWSPT_NSEC] = { 1,3,1,3,1,3,1 };
const real64_T NUM[MWSPT_NSEC][3] = {
  {
          0.49609375,                 0,                 0 
  },
  {
                   1,           -0.5625,                 1 
  },
  {
           0.3359375,                 0,                 0 
  },
  {
                   1,            0.0625,                 1 
  },
  {
          0.19921875,                 0,                 0 
  },
  {
                   1,            1.5625,                 1 
  },
  {
                   1,                 0,                 0 
  }
};
const int DL[MWSPT_NSEC] = { 1,3,1,3,1,3,1 };
const real64_T DEN[MWSPT_NSEC][3] = {
  {
                   1,                 0,                 0 
  },
  {
                   1,                -1,              0.75 
  },
  {
                   1,                 0,                 0 
  },
  {
                   1,            -0.625,            0.3125 
  },
  {
                   1,                 0,                 0 
  },
  {
                   1,            -0.375,            0.0625 
  },
  {
                   1,                 0,                 0 
  }
};
 


По how_to_interpret_matlab_dfii_sos.pdf собрал модель в Simulink, подставил коэффициенты и получил странную АЧХ.

image.thumb.png.0043df7ff78a7cf867a0711c43b35fbe.png

Сама модель

image.thumb.png.397d384ae1b41971e11e525794f2bffb.png

Подскажите где я мог ошибиться? Проект прикрепил.

IIR_question_1.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...