exponenta event banner

hdlfilterdainfo

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

Описание

пример

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

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

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

пример

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

Примеры

свернуть все

Создайте фильтр FIR прямой формы и передайте его в 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.

Создайте фильтр FIR прямой формы.

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 radix ( dr ) значения в generatehdl. Сгенерированный код HDL имеет архитектуру DA и реализует LUT с указанной максимальной шириной адреса ( lutip ) и коэффициент складывания ( ff ).

generatehdl(firfilt,'InputDataType',numerictype(1,12,10), ...
    'DALUTPartition',dp,'DARadix',dr);
### Starting VHDL code generation process for filter: firfilt
### Generating: /tmp/BR2021ad_1655202_180016/mlx_to_docbook1/tp7b274b1c/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

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

свернуть все

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

Дополнительные сведения см. в разделе Распределенная арифметика для фильтров FIR.

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

Фильтр для отображения распределенной арифметической информации, указанный как dfilt объект. Типы фильтров, поддерживающих распределенную арифметику, см. в разделе Распределенная арифметика для фильтров FIR. Этот объект можно создать с помощью design функция.

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

Одновременно можно указать только один аргумент коэффициента сворачивания и один аргумент LUT.

Аргументы коэффициента складывания

свернуть все

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

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

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

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

Аргументы LUT

свернуть все

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

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

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

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

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

свернуть все

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

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

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

Значения коэффициента сворачивания, возвращаемые в виде массива ячеек.

Представлен в R2011a