ΣSigmaStudio English

Квадратный корень


Блок «Квадратный корень» (Square Root) извлекает квадратный корень из входного сигнала и выводит результат.Квадратный корень

Входные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Input xdecimal - anyВходной сигнал

Выходные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Output sqrt(x)decimal - anyВыходной сигнал

Описание алгоритма

Это «стандартная» реализация функции квадратного корня. Она обеспечивает приближенное значение квадратного корня из входного сигнала. Для отрицательных входных значений блока перед вычислением квадратного корня берется абсолютное значение. Мнимые числа не поддерживаются. На следующем графике показан входной тональный сигнал полной шкалы на частоте 500 Гц (синий) и результирующий выходной сигнал после прохождения через блок квадратного корня (красный).

Описание алгоритма

Стандартный против сверхточного (Ultra Precision)
Основное различие между этой «стандартной» реализацией и сверхточным (Ultra Precision) квадратным корнем заключается в количестве инструкций программы по сравнению с точностью. Сверхточный алгоритм требует значительно больше инструкций (141 по сравнению с 81), но обеспечивает точное выполнение функции квадратного корня для процессора SigmaDSP.

Разница в точности между двумя алгоритмами представляет собой шумовой порог (noise floor) около -78 дБ. На приведенном ниже графике показано вычитание выходных сигналов функций сверхточного (Ultra Precision) и стандартного квадратного корня. Обратите внимание, что разница шумового порога не зависит от уровня сигнала, следовательно, квадратный корень, использующий стандартный подход, менее точен для сигналов низкого уровня.

Описание алгоритма

Пример

Пример схемы, показанный здесь, использовался для создания первого графика. Источник синусоидального тона (sine tone) на частоте 500 Гц подается на выход, а также на блок квадратного корня. Обратите внимание, что для отрицательных значений синусоидального тона блок квадратного корня обрабатывает значения так, как если бы они были положительными.

Пример

Детали алгоритма

Toolbox PathBasic DSP - Arithmetic Operations - Square Root - Square Root
Cores SupportedAD1940
ADAU170x
ADAU144x
ADAU176x
ADAU178x
“Grow Algorithm” Supportedno
“Add Algorithm” Supportedyes - see Algorithm Addition Information
Subroutine/Loop Basedno
Program RAM81
Data RAM3
Parameter RAMnone

Информация о добавлении алгоритма

DescriptionКогда алгоритм квадратного корня расширяется (grow), к элементу управления добавляется вторая пара входных пинов.Информация о добавлении алгоритма
Program RAM Repetition81 per add
Data RAM Repetition2 per add
Parameter RAM Repetitionnone

Square Root в SigmaStudio: настройка и параметры

Блок Square Root (Квадратный корень) в среде SigmaStudio предназначен для выполнения математической операции извлечения квадратного корня из входного сигнала. Этот компонент относится к категории базовых DSP-функций (Basic DSP) и может использоваться в различных цепочках обработки аудиосигнала на процессорах семейства SigmaDSP от Analog Devices, включая ADAU170x, ADAU144x, ADAU176x и ADAU178x. Алгоритм реализует стандартную функцию квадратного корня, которая вычисляет приближенное значение sqrt(x). Важной особенностью является обработка отрицательных входных значений: перед вычислением берется их абсолютное значение, поскольку мнимые числа не поддерживаются. Это означает, что блок всегда выдает положительный результат, что необходимо учитывать при построении схем, например, при работе с биполярными сигналами, как показано в примере с синусоидальным тоном на частоте 500 Гц. В SigmaStudio доступны две версии алгоритма: стандартная и сверхточная (Ultra Precision). Основное различие между ними заключается в компромиссе между вычислительной сложностью и точностью. Сверхточная реализация требует значительно больше инструкций (141 против 81 для стандартной), но обеспечивает более точное выполнение функции. Разница в точности между двумя алгоритмами проявляется как шумовой порог около -78 дБ. Поскольку этот шум не зависит от уровня сигнала, стандартный квадратный корень становится менее точным для сигналов низкого уровня, что важно учитывать при проектировании трактов с большим динамическим диапазоном.