Эта модель показывает потенциальное использование блока «Найти ненулевые элементы». Этот блок выдает сигнал переменного размера, содержащий индексы ненулевых значений входного сигнала.
Открыть пример модели sldemo_varsize_channel_pow_alloc. Эта модель реализует алгоритм заполнения водой для получения оптимального распределения мощности для каналов связи, когда существует бюджет мощности. Задействованные каналы связи независимы (т.е. параллельные каналы) и имеют различные уровни шума.
Алгоритм итеративно увеличивает значение ватерлинии, так что каналы, которые имеют уровень шума меньше ватерлинии, транслируются. Мощность, используемая этими передающими каналами, равна разности между ватерлинией и уровнем шума канала. Сумма мощности, используемой всеми передающими каналами, должна удовлетворять бюджету мощности в пределах заданного допуска.
Блок «Найти ненулевые элементы» используется при расчете общей мощности, используемой для определенного значения ватерлинии. Каналы, настроенные на передачу на этом уровне ватерлинии, выбирают с помощью логического индексирования. Логические индексы получают после пороговой обработки разности уровней шума ватерлинии и канала. В результате каналам с уровнем шума больше ватерлинии назначается логический 0и тем, у кого уровни шума ниже ватерлинии, назначается логический 1. Блок «Найти ненулевые элементы» используется для преобразования логических индексов в линейные индексы. Следует отметить, что этот сигнал надлежащим образом моделируется сигналом переменного размера, поскольку количество каналов ниже порогового значения неизвестно во время компиляции. Линейные индексы подаются в блок селектора, который выбирает мощности передачи канала. Впоследствии эти мощности суммируются для получения текущего значения используемой мощности. Если это значение меньше, чем бюджет мощности, ватерлиния увеличивается, и процесс повторяется до тех пор, пока используемая мощность не сравняется с ограничением мощности.

