Расчетный стеллажный эквалайзер
[ указывает параметры, использующие один или несколько B,A] = designShelvingEQ(___,Name,Value)Name,Value аргументы пары.
Проектирование трех низкосортных эквалайзеров IIR второго порядка с использованием designShelvingEQ. Три полки эквалайзеров используют три отдельных спецификации уклона.
Укажите частоту дискретизации, пиковый коэффициент усиления, коэффициент наклона и нормированную частоту отсечения для трех выравнивателей полки. Частота дискретизации в Гц. Пиковое усиление находится в дБ.
Fs = 44.1e3; gain = 5; slope1 = 0.5; slope2 = 0.75; slope3 = 1; Fc = 1000/(Fs/2);
Создайте коэффициенты фильтра с использованием заданных параметров.
[B1,A1] = designShelvingEQ(gain,slope1,Fc,"Orientation","row"); [B2,A2] = designShelvingEQ(gain,slope2,Fc,"Orientation","row"); [B3,A3] = designShelvingEQ(gain,slope3,Fc,"Orientation","row");
Визуализация конструкции фильтра.
fvtool( ... dsp.BiquadFilter([B1,A1]), ... dsp.BiquadFilter([B2,A2]), ... dsp.BiquadFilter([B3,A3]), ... "Fs",Fs, ... "FrequencyScale","Log"); legend("slope = 0.5", ... "slope = 0.75", ... "slope = 1");

Создание объектов чтения аудиофайлов и записи аудиоустройств. Используйте частоту выборки устройства чтения в качестве частоты выборки устройства записи.
frameSize = 256; fileReader = dsp.AudioFileReader("RockGuitar-16-44p1-stereo-72secs.wav","SamplesPerFrame",frameSize); deviceWriter = audioDeviceWriter("SampleRate",fileReader.SampleRate);
Воспроизведение звукового сигнала через устройство.
count = 0; while count < 2500 audio = step(fileReader); play(deviceWriter,audio); count = count + 1; end reset(fileReader)
Спроектируйте эквалайзер нижнего уровня для секций второго порядка (SOS).
gain = 10; slope = 3; Fc = 0.025; [B,A] = designShelvingEQ(gain,slope,Fc);
Визуализируйте конструкцию стеллажного фильтра.
SOS = [B',[1,A']]; fvtool(dsp.BiquadFilter("SOSMatrix",SOS), ... "Fs",fileReader.SampleRate, ... "FrequencyScale","Log");

Создайте объект биквадратного фильтра.
myFilter = dsp.BiquadFilter( ... "SOSMatrixSource","Input port", ... "ScaleValuesInputPort",false);
Создайте объект анализатора спектра для визуализации исходного аудиосигнала и аудиосигнала, проходящего через выравниватель нижнего уровня.
scope = dsp.SpectrumAnalyzer( ... "SampleRate",fileReader.SampleRate, ... "PlotAsTwoSidedSpectrum",false, ... "FrequencyScale","Log", ... "FrequencyResolutionMethod","WindowLength", ... "WindowLength",frameSize, ... "Title","Original and Equalized Signal", ... "ShowLegend",true, ... "ChannelNames",{'Original Signal','Equalized Signal'});
Воспроизведение выровненного звукового сигнала и визуализация исходного и выровненного спектров.
count = 0; while count < 2500 originalSignal = fileReader(); equalizedSignal = myFilter(originalSignal,B,A); scope([originalSignal(:,1),equalizedSignal(:,1)]); deviceWriter(equalizedSignal); count = count + 1; end
Рекомендуется деблокировать объекты после их завершения.
release(fileReader) release(deviceWriter) release(scope)

Проектирование трех высокополочных эквалайзеров IIR второго порядка с использованием designShelvingEQ. Три полки эквалайзеров используют три отдельных характеристики усиления.
Укажите частоту дискретизации, пиковый коэффициент усиления, коэффициент наклона и нормированную частоту отсечения для трех выравнивателей полки. Частота дискретизации в Гц. Пиковое усиление находится в дБ.
Fs = 44.1e3; gain1 = -6; gain2 = 6; gain3 = 12; slope = 0.8; Fc = 18000/(Fs/2);
Создайте коэффициенты фильтра с использованием заданных параметров.
[B1,A1] = designShelvingEQ(gain1,slope,Fc,"hi","Orientation","row"); [B2,A2] = designShelvingEQ(gain2,slope,Fc,"hi","Orientation","row"); [B3,A3] = designShelvingEQ(gain3,slope,Fc,"hi","Orientation","row");
Визуализация конструкции фильтра.
fvtool([B1,A1;[1 0 0 1 0 0]], ... [B2,A2;[1 0 0 1 0 0]], ... [B3,A3;[1 0 0 1 0 0]], ... "Fs",Fs); legend("gain = -6 dB", ... "gain = 6 dB", ... "gain = 12 dB", ... "Location","NorthWest")

gain - Пиковое усиление (дБ)Пиковый коэффициент усиления в дБ, заданный как действительный скаляр в диапазоне от -12 до 12.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
slope - Коэффициент уклонаКоэффициент наклона, заданный как действительный скаляр в диапазоне от 0 до 5.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Fc - Нормированная частота отсечкиНормализованная частота отсечения, заданная как действительный скаляр в диапазоне от 0 до 1, где 1 соответствует частоте Найквиста (δ рад/выборка).
Нормализованная частота отсечки реализуется как половина коэффициента усиления фильтра-полки, или gain/ 2 дБ.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
type - Тип фильтра'lo' (по умолчанию) | 'hi'Тип фильтра, указанный как 'lo' или 'hi'.
'lo'- Низкополочный эквалайзер
'hi'- Высокополочный эквалайзер
Типы данных: char | string
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Orientation',"row"'Orientation' - Ориентация возвращаемых коэффициентов фильтра"column" (по умолчанию) | "row"Ориентация возвращаемых коэффициентов фильтра, определяемая как разделенная запятыми пара, состоящая из 'Orientation' и "column" или "row":
Набор 'Orientation' кому "row" для совместимости с FVTool, dsp.DynamicFilterVisualizer, и dsp.FourthOrderSectionFilter.
Набор 'Orientation' кому "column" для совместимости с dsp.BiquadFilter.
Типы данных: char | string
B - Коэффициенты числительного фильтраКоэффициенты числительного фильтра, возвращаемые в виде вектора. Размер и толкование B зависит от Orientation:
Если 'Orientation' имеет значение "column", то B возвращается как трехэлементный вектор столбца.
Если 'Orientation' имеет значение "row", то B возвращается как трехэлементный вектор строки.
.
A - Коэффициенты фильтра знаменателяКоэффициенты фильтра знаменателя проектируемого БИХ-фильтра второго порядка, возвращаемые в виде вектора. Размер и толкование A зависит от Orientation:
Если 'Orientation' имеет значение "column", то A возвращается как двухэлементный вектор столбца. A не включает ведущий единичный коэффициент.
Если 'Orientation' имеет значение "row", то A возвращается как трехэлементный вектор строки.
[1] Бристоу-Джонсон, Роберт. «Формулы cookbook для коэффициентов фильтра Biquad аудио EQ». Доступ состоялся 02 марта 2016 года. http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt.
designParamEQ | designVarSlopeFilter | multibandParametricEQ
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.