Содержание
Асимметричный мягкий клиппер
| Блок асимметричного мягкого клиппера — это мягкий клиппер, который асимметрично ограничивает уровень входного сигнала в соответствии с заданными порогами клиппинга. Когда входной сигнал достигает порога клиппинга на любом из концов, алгоритм скругляет края для получения более гладкого клиппированного выходного сигнала. |
Модуль поддерживает два алгоритма:
1. Стандартный кубический клиппинг
2. Расширенный клиппинг
Входные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Input | decimal - audio | Входной сигнал, который будет клиппирован |
Выходные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Output | decimal - audio | Выходной сигнал после мягкого клиппинга |
Элементы управления GUI
1. Стандартный кубический клиппер
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| Clip up | 1 | 0.1-10 | Этот предварительный/последующий скалярный коэффициент определяет степень клиппинга, который будет происходить на положительной части входного сигнала. Хотя это влияет на пороговое значение клиппера, это не то значение, при котором происходит клиппинг. [См. функцию в описании алгоритма] |
| Clip down | 1 | 0.1-10 | Этот предварительный/последующий скалярный коэффициент определяет степень клиппинга, который будет происходить на отрицательной части входного сигнала. Хотя это влияет на пороговое значение клиппера, это не то значение, при котором происходит клиппинг. [См. функцию в описании алгоритма] |
2. Расширенный клиппер
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| Clip up | 1 | 0.1-0.9 | Этот предварительный/последующий скалярный коэффициент определяет степень клиппинга, который будет происходить на положительной части входного сигнала. Хотя это влияет на пороговое значение клиппера, это не то значение, при котором происходит клиппинг. [См. функцию в описании алгоритма] |
| Clip down | 1 | 0.1-0.9 | Этот предварительный/последующий скалярный коэффициент определяет степень клиппинга, который будет происходить на отрицательной части входного сигнала. Хотя это влияет на пороговое значение клиппера, это не то значение, при котором происходит клиппинг. [См. функцию в описании алгоритма] |
Информация о параметрах DSP
1. Стандартный кубический
| GUI Control Name | Compiler Name | Function Description |
|---|---|---|
| Alpha1 | SoftClipAlg1alpha1 SoftClipAlg1alpha1m1 | Когда значение Clip up изменяется в окне GUI, на DSP загружаются два параметра. Значение alpha1 записывается непосредственно на DSP, а также обратное значение 1/alpha1 записывается на DSP. |
| Alpha2 | SoftClipAlg1alpha2 SoftClipAlg1alpha2m1 | Когда значение Clip down изменяется в окне GUI, на DSP загружаются два параметра. Значение alpha2 записывается непосредственно на DSP, а также обратное значение 1/alpha2 записывается на DSP. |
Примечание: В этом алгоритме используются и другие фиксированные параметры, но их не нужно обновлять при изменении значения alpha.
2. Расширенный клиппинг
| GUI Control Name | Compiler Name | Function Description |
|---|---|---|
| tau1 | SoftClipAlg1tau1 SoftClipAlg1onemtau1 SoftClipAlg1inv_onemtau1 | Когда значение Clip up изменяется в окне GUI, на DSP загружаются два параметра. Значение tau1 записывается непосредственно на DSP, а также 1/(1-tau1) и (1-tau1) записываются на DSP. |
| tau2 | SoftClipAlg1tau2 SoftClipAlg1onemtau2 SoftClipAlg1inv_onemtau2 | Когда значение Clip down изменяется в окне GUI, на DSP загружаются два параметра. Значение tau2 записывается непосредственно на DSP, а также 1/(1-tau2) и (1-tau2) записываются на DSP. |
Описание алгоритма
1. Стандартный кубический
Блок стандартного кубического клиппинга асимметрично ограничивает части напряжений сигнала в соответствии с кубической асимметричной функцией мягкого клиппинга. Предварительный/последующий скалярный коэффициент alpha1 и alpha2 делают мягкий клиппинг более или менее выраженным. alpha1 задает порог клиппинга для положительной части входного сигнала, тогда как alpha2 задает порог клиппинга для нижней части входного сигнала. Этот блок ограничивает диапазон выходного сигнала в соответствии со следующими формулами:
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">
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">
=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
Таким образом, для значения по умолчанию Alpha1 = 1, Alpha2=1, диапазон сигнала будет от [-2/3, 2/3]. Изменение значения Alphas повлияет на выходной диапазон сигнала. Следующие графики показывают зависимость между изменением значений Alphas и получением различных диапазонов сигнала.
Пример
На следующем изображении показан мягкий клиппер в сравнении с жестким клиппером, а также прямой сигнал, поступающий со входов.
Жесткий клиппер и мягкий клиппер настроены с соответствующими значениями Alpha и пороговыми значениями, чтобы их поведение клиппинга происходило одновременно. Однако вы заметите на следующем графике сравнения выходных сигналов, что у мягкого клиппера края выходного сигнала более скругленные и гладкие в месте начала клиппинга, что создает более приятный слуховой эффект.
Детали алгоритма
| Toolbox Path | Non Linear Processors - Clippers - Soft Clip -Asymmetric Cubic Clip- Asymmetric Soft clipper |
| Cores Supported | ADAU145x |
| “Grow Algorithm” Supported | yes - see Algorithm Growth Information |
| “Add Algorithm” Supported | no |
| Subroutine/Loop Based | no |
Информация о расширении алгоритма
2. Расширенный клиппинг
Блок расширенного клиппинга асимметрично ограничивает части напряжений сигнала в соответствии с асимметричной функцией мягкого клиппинга TanH. Предварительный/последующий скалярный коэффициент alpha1 и alpha2 делают мягкий клиппинг более или менее выраженным. alpha1 задает порог клиппинга для положительной части входного сигнала, тогда как alpha2 задает порог клиппинга для нижней части входного сигнала. Этот блок ограничивает диапазон выходного сигнала в соответствии со следующими формулами:
0, |Input|
=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">
=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 Path | Non Linear Processors - Clippers - Soft Clip -Asymmetric Advanced Clip- Asymmetric Soft clipper |
| Cores Supported | ADAU145x |
| “Grow Algorithm” Supported | yes - see Algorithm Growth Information |
| “Add Algorithm” Supported | no |
| Subroutine/Loop Based | no |



