hdlfilterdainfo

Распределенная арифметическая информация для архитектуры фильтра

Синтаксис

hdlfilterdainfo(filtSO,'InputDataType',nt)
hdlfilterdainfo(filtObj)
hdlfilterdainfo(___,Name,Value)
[dp,dr,lutsize,ff] = hdlfilterdainfo(___)

Описание

пример

hdlfilterdainfo(filtSO,'InputDataType',nt) информация о распределенной арифметике (DA) отображений для заданной Системы фильтра object™ и тип входных данных, заданный nt. Информация состоит из исчерпывающей таблицы значений DARadix с соответствующими факторами сворачивания и умножается для наборов LUT и таблицы с деталями LUTs с соответствующими значениями DALUTPartition. Эта информация помогает вам задать оптимальные настройки DA для фильтра.

hdlfilterdainfo(filtObj) информация о DA отображений для заданного объекта фильтра dfilt.

hdlfilterdainfo(___,Name,Value) использует дополнительные аргументы пары "имя-значение", в дополнение к любому из входных параметров в предыдущих синтаксисах. Используйте эти опции, чтобы запросить для раздела LUT DA и информации об основании DA, вычисленной для данного сворачивания спецификация LUT или фактор.

пример

[dp,dr,lutsize,ff] = hdlfilterdainfo(___) хранилища фильтруют детали архитектуры в выходных переменных.

Примеры

свернуть все

Создайте КИХ-фильтр прямой формы и передайте его hdlfilterdainfo. Команда отображает результаты в командной строке.

firfilt = design(fdesign.lowpass('N,Fc',8,.4),'SystemObject',true);
hdlfilterdainfo(firfilt,'InputDataType',numerictype(1,12,10))
   | Total Coefficients | Zeros | Effective |
   ------------------------------------------
   |          9         |   0   |     9     |

Effective filter length for SerialPartition value is 9.

  Table of 'DARadix' values with corresponding values of 
  folding factor and multiple for LUT sets for the given filter.

   | Folding Factor | LUT-Sets Multiple | DARadix |
   ------------------------------------------------
   |        1       |         12        |   2^12  |
   |        2       |         6         |   2^6   |
   |        3       |         4         |   2^4   |
   |        4       |         3         |   2^3   |
   |        6       |         2         |   2^2   |
   |       12       |         1         |   2^1   |

  Details of LUTs with corresponding 'DALUTPartition' values.

   | Max Address Width | Size(bits) |             LUT Details             | DALUTPartition |
   -----------------------------------------------------------------------------------------
   |         9         |    7168    |1x512x14                             |[9]             |
   |         8         |    3596    |1x256x14, 1x2x6                      |[8 1]           |
   |         7         |    1824    |1x128x14, 1x4x8                      |[7 2]           |
   |         6         |     904    |1x64x13, 1x8x9                       |[6 3]           |
   |         5         |     608    |1x16x12, 1x32x13                     |[5 4]           |
   |         4         |     412    |1x16x12, 1x16x13, 1x2x6              |[4 4 1]         |
   |         3         |     248    |1x8x13, 2x8x9                        |[3 3 3]         |
   |         2         |     180    |1x2x6, 1x4x12, 1x4x13, 1x4x8, 1x4x9  |[2 2 2 2 1]     |

Notes:
1. LUT Details indicates number of LUTs with their sizes. e.g. 1x1024x18
   implies 1 LUT of 1024 18-bit wide locations.

Создайте КИХ-фильтр прямой формы.

firfilt = design(fdesign.lowpass('N,Fc',8,.4),'filterstructure','dfsymfir','SystemObject',true);

Вызовите hdlfilterdainfo.

lutip = 4;
ff = 3;
[dp,dr,lutsize,ff] = hdlfilterdainfo(firfilt, ...
    'InputDataType',numerictype(1,12,10), ...
    'FoldingFactor',ff,'LUTInputs', lutip);

Передайте возвращенный раздел LUT DA (dp) и основание DA (dr) значения в generatehdl. Сгенерированный HDL-код имеет архитектуру DA и реализует LUTs с заданной макс. шириной адреса (lutip) и сворачивающий фактор (ff).

generatehdl(firfilt,'InputDataType',numerictype(1,12,10), ...
    'DALUTPartition',dp,'DARadix',dr);
### Starting VHDL code generation process for filter: firfilt
### Generating: /tmp/BR2019ad_1062519_57051/mlx_to_docbook1/tp23a6d675/hdlfilter-ex76912192/hdlsrc/firfilt.vhd
### Starting generation of firfilt VHDL entity
### Starting generation of firfilt VHDL architecture
### Clock rate is 3 times the input sample rate for this architecture.
### Successful completion of VHDL code generation process for filter: firfilt
### HDL latency is 3 samples

Входные параметры

свернуть все

Отфильтруйте, для которого можно отобразить распределенную арифметическую информацию, указанную как Системный объект фильтра. Чтобы создать Системный объект фильтра, используйте design, функционируйте или смотрите страницу с описанием объекта. Следующие Системные объекты от поддержки DSP System Toolbox™ распределили арифметику:

Для получения дополнительной информации смотрите Распределенную Арифметику для КИХ-Фильтров.

Тип входных данных, заданный как объект numerictype. Этот аргумент применяется только, когда входным фильтром является Системный объект. Вызовите numerictype(s,w,f), где s 1 для со знаком и 0 для без знака, w является размером слова в битах, и f является количеством дробных битов.

Отфильтруйте, для которого можно отобразить распределенную арифметическую информацию, указанную как объект dfilt. Смотрите Распределенную Арифметику для КИХ-Фильтров для типов фильтра, та поддержка распределила арифметику. Можно создать этот объект с помощью функции design.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'FoldingFactor',2,'DALUTPartition',9.

Можно только задать один складной факторный аргумент и один аргумент LUT за один раз.

Сворачивание факторных аргументов

свернуть все

Аппаратный фактор сворачивания, заданный как пара, разделенная запятой, состоящая из 'FoldingFactor' и Inf или целого числа, больше, чем 1. Учитывая складной фактор, кодер отображает исчерпывающую таблицу соответствующих входных значений LUT, размеров и деталей. Если складным фактором является inf, кодер использует максимальный фактор сворачивания.

Пример: 'FoldingFactor',2

Значение основания DA, заданное как пара, разделенная запятой, состоящая из 'DARadix' и целочисленная степень 2. Учитывая основание DA, кодер отображает для соответствующего складного факторного значения исчерпывающую таблицу входных значений LUT, размеров и деталей.

Пример: 'DARadix',4

Аргументы LUT

свернуть все

Входное значение LUT, заданное как пара, разделенная запятой, состоящая из 'LUTInputs' и целого числа, больше, чем 1. Учитывая входное значение LUT, кодер отображает исчерпывающую таблицу соответствующих складных факторных значений, размеров LUT и деталей.

Пример: 'LUTInputs',3

Значение раздела LUT DA, заданное как пара, разделенная запятой, состоящая из 'DALUTPartition' и целого числа, больше, чем 1. Учитывая значение раздела LUT DA, кодер отображает исчерпывающую таблицу соответствующих складных факторных значений, размеров LUT и деталей.

Пример: 'DALUTPartition',9

Выходные аргументы

свернуть все

Значения раздела LUT DA, возвращенные как массив ячеек.

Значения основания DA, возвращенные как массив ячеек.

Значения размера LUT, возвращенные как массив ячеек.

Сворачивание факторных значений, возвращенных как массив ячеек.

Введенный в R2011a