ΣSigmaStudio English

Асимметричный мягкий клиппер

Блок асимметричного мягкого клиппера — это мягкий клиппер, который асимметрично ограничивает уровень входного сигнала в соответствии с заданными порогами клиппинга. Когда входной сигнал достигает порога клиппинга на любом из концов, алгоритм скругляет края для получения более гладкого клиппированного выходного сигнала.

Модуль поддерживает два алгоритма:
1. Стандартный кубический клиппинг
2. Расширенный клиппинг

Асимметричный мягкий клиппер

Входные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Inputdecimal - audioВходной сигнал, который будет клиппирован

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

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Outputdecimal - audioВыходной сигнал после мягкого клиппинга

Элементы управления GUI

1. Стандартный кубический клиппер

GUI Control NameDefault ValueRangeFunction Description
Clip up10.1-10Этот предварительный/последующий скалярный коэффициент определяет степень клиппинга, который будет происходить на положительной части входного сигнала. Хотя это влияет на пороговое значение клиппера, это не то значение, при котором происходит клиппинг. [См. функцию в описании алгоритма]
Clip down10.1-10Этот предварительный/последующий скалярный коэффициент определяет степень клиппинга, который будет происходить на отрицательной части входного сигнала. Хотя это влияет на пороговое значение клиппера, это не то значение, при котором происходит клиппинг. [См. функцию в описании алгоритма]

2. Расширенный клиппер

GUI Control NameDefault ValueRangeFunction Description
Clip up10.1-0.9Этот предварительный/последующий скалярный коэффициент определяет степень клиппинга, который будет происходить на положительной части входного сигнала. Хотя это влияет на пороговое значение клиппера, это не то значение, при котором происходит клиппинг. [См. функцию в описании алгоритма]
Clip down10.1-0.9Этот предварительный/последующий скалярный коэффициент определяет степень клиппинга, который будет происходить на отрицательной части входного сигнала. Хотя это влияет на пороговое значение клиппера, это не то значение, при котором происходит клиппинг. [См. функцию в описании алгоритма]

Информация о параметрах DSP

1. Стандартный кубический

GUI Control NameCompiler NameFunction Description
Alpha1SoftClipAlg1alpha1
SoftClipAlg1alpha1m1
Когда значение Clip up изменяется в окне GUI, на DSP загружаются два параметра. Значение alpha1 записывается непосредственно на DSP, а также обратное значение 1/alpha1 записывается на DSP.
Alpha2SoftClipAlg1alpha2
SoftClipAlg1alpha2m1
Когда значение Clip down изменяется в окне GUI, на DSP загружаются два параметра. Значение alpha2 записывается непосредственно на DSP, а также обратное значение 1/alpha2 записывается на DSP.

Примечание: В этом алгоритме используются и другие фиксированные параметры, но их не нужно обновлять при изменении значения alpha.

2. Расширенный клиппинг

GUI Control NameCompiler NameFunction Description
tau1SoftClipAlg1tau1
SoftClipAlg1onemtau1
SoftClipAlg1inv_onemtau1
Когда значение Clip up изменяется в окне GUI, на DSP загружаются два параметра. Значение tau1 записывается непосредственно на DSP, а также 1/(1-tau1) и (1-tau1) записываются на DSP.
tau2SoftClipAlg1tau2
SoftClipAlg1onemtau2
SoftClipAlg1inv_onemtau2
Когда значение Clip down изменяется в окне GUI, на DSP загружаются два параметра. Значение tau2 записывается непосредственно на DSP, а также 1/(1-tau2) и (1-tau2) записываются на DSP.

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

1. Стандартный кубический


Блок стандартного кубического клиппинга асимметрично ограничивает части напряжений сигнала в соответствии с кубической асимметричной функцией мягкого клиппинга. Предварительный/последующий скалярный коэффициент alpha1 и alpha2 делают мягкий клиппинг более или менее выраженным. alpha1 задает порог клиппинга для положительной части входного сигнала, тогда как alpha2 задает порог клиппинга для нижней части входного сигнала. Этот блок ограничивает диапазон выходного сигнала в соответствии со следующими формулами:


Output = Alpha1*f(x), if x alt=0" class="mathpublish" height="21" src="/lib/plugins/mathpublish/488d2ae6f0e9f277352869631a041534.png" style="display: inline-block; object-fit: fill;" title="Output = Alpha1*f(x), if x>0" width="222">
Output = Alpha2*f(x), if x<=0
x= Input*(1/Alpha1), if Input alt=0" class="mathpublish" height="43" src="/lib/plugins/mathpublish/ee8c50e572900915304f472087da1c48.png" style="display: inline-block; object-fit: fill;" title="x= Input*(1/Alpha1), if Input>0" width="237">
x= Input*(1/Alpha2), if Input<=0
f(x)= {-2/3, x<=-1;
\\
x-x^3/3, -1<x<1; 
\\
2/3, x alt==1}" class="mathpublish" height="46" src="/lib/plugins/mathpublish/93b957d1977388a45d4e440d0639ee56.png" style="display: inline-block; object-fit: fill;" title="f(x)= {-2/3, x<=-1; \\ x-x^3/3, -1=1}" width="353">

Таким образом, для значения по умолчанию Alpha1 = 1, Alpha2=1, диапазон сигнала будет от [-2/3, 2/3]. Изменение значения Alphas повлияет на выходной диапазон сигнала. Следующие графики показывают зависимость между изменением значений Alphas и получением различных диапазонов сигнала.


Пример

На следующем изображении показан мягкий клиппер в сравнении с жестким клиппером, а также прямой сигнал, поступающий со входов.


Пример

Жесткий клиппер и мягкий клиппер настроены с соответствующими значениями Alpha и пороговыми значениями, чтобы их поведение клиппинга происходило одновременно. Однако вы заметите на следующем графике сравнения выходных сигналов, что у мягкого клиппера края выходного сигнала более скругленные и гладкие в месте начала клиппинга, что создает более приятный слуховой эффект.


Пример

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

Toolbox PathNon Linear Processors - Clippers - Soft Clip -Asymmetric Cubic Clip- Asymmetric Soft clipper
Cores SupportedADAU145x
“Grow Algorithm” Supportedyes - see Algorithm Growth Information
“Add Algorithm” Supportedno
Subroutine/Loop Basedno

Информация о расширении алгоритма

DescriptionКогда алгоритм SoftClip расширяется, к управлению добавляется дополнительная пара входных/выходных пинов. Тот же параметр Alpha влияет на клиппинг на расширенных входных пинах.Информация о расширении алгоритма

2. Расширенный клиппинг


Блок расширенного клиппинга асимметрично ограничивает части напряжений сигнала в соответствии с асимметричной функцией мягкого клиппинга TanH. Предварительный/последующий скалярный коэффициент alpha1 и alpha2 делают мягкий клиппинг более или менее выраженным. alpha1 задает порог клиппинга для положительной части входного сигнала, тогда как alpha2 задает порог клиппинга для нижней части входного сигнала. Этот блок ограничивает диапазон выходного сигнала в соответствии со следующими формулами:


Output = Input, if |Input|<tau1 for Input alt=0, |Input|
Output = tau1 + (1 - tau1)*tanh((abs(Input) - tau1)/(1 - tau1)), if|Input| alt==tau1 and Input>0" class="medialeft mathpublish" height="61" src="/lib/plugins/mathpublish/fefce1c087fe5c8650912f371fd0b5b9.png" style="display: block; object-fit: fill;" title="Output = tau1 + (1 - tau1)*tanh((abs(Input) - tau1)/(1 - tau1)), if|Input|>=tau1 and Input>0" width="601">
Output = -tau2 -(1 - tau2)*tanh((abs(Input) - tau2)/(1 - tau2)), if|Input| alt==tau2 and Input<0" class="medialeft mathpublish" height="61" src="/lib/plugins/mathpublish/a71d7fea4e35a3cf3dd03b92bc7f188f.png" style="display: block; object-fit: fill;" title="Output = -tau2 -(1 - tau2)*tanh((abs(Input) - tau2)/(1 - tau2)), if|Input|>=tau2 and Input<0" width="607">





Таким образом, для значения по умолчанию tau1 = 0.5, tau2=0.5. Изменение значения taus повлияет на выходной диапазон сигнала.

Пример


На графике ниже показан входной синусоидальный тон и результирующий клиппированный выходной сигнал с пороговыми значениями: Clip Up: 0.8 Clip Down: 0.2
Пример

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

Toolbox PathNon Linear Processors - Clippers - Soft Clip -Asymmetric Advanced Clip- Asymmetric Soft clipper
Cores SupportedADAU145x
“Grow Algorithm” Supportedyes - see Algorithm Growth Information
“Add Algorithm” Supportedno
Subroutine/Loop Basedno

Информация о расширении алгоритма

DescriptionКогда алгоритм SoftClip расширяется, к управлению добавляется дополнительная пара входных/выходных пинов. Тот же параметр Alpha влияет на клиппинг на расширенных входных пинах.Информация о расширении алгоритма

Asymmetric soft clipper в SigmaStudio: настройка и параметры

Блок Asymmetric soft clipper в среде SigmaStudio предназначен для нелинейной обработки аудиосигнала с асимметричным ограничением уровня. В отличие от жёсткого клиппинга, этот алгоритм скругляет края сигнала при достижении заданных порогов, что позволяет получить более гладкое и музыкальное звучание при перегрузке. Модуль применяется в цепочках обработки процессоров семейства ADAU (SigmaDSP) от Analog Devices, когда требуется контролируемое насыщение без резких искажений. Модуль поддерживает два алгоритма работы. Первый — Standard Cubic Clip, который использует кубическую характеристику для скругления. Второй — Advanced Clip, предлагающий более сложную форму кривой для управления характером ограничения. Входной и выходной пины модуля работают с аудиосигналом в формате decimal, что позволяет встраивать блок в любую точку сигнального тракта проекта SigmaStudio без дополнительного преобразования данных. Ключевые параметры настройки — Clip up и Clip down. Они определяют предварительный и последующий скалярные коэффициенты для положительной и отрицательной полуволн соответственно. Важно понимать: эти значения влияют на порог срабатывания, но не являются непосредственной величиной порога в линейных единицах. В режиме Standard Cubic Clip диапазон регулировки составляет от 0.1 до 10, в режиме Advanced Clip — от 0.1 до 0.9. Асимметрия задаётся раздельной установкой коэффициентов для верхней и нижней полуволн.