exponenta event banner

mls

Последовательность максимальной длины

Описание

excitation = mls возвращает сигнал возбуждения, генерируемый с использованием метода последовательности максимальной длины (MLS). Этот тип последовательности является псевдослучайной двоичной последовательностью.

пример

excitation = mls(L) определяет длину вывода L сигнала возбуждения.

пример

excitation = mls(L,Name,Value) указывает параметры, использующие один или несколько Name,Value пары аргументов, в дополнение к входным аргументам в предыдущих синтаксисах.

Примеры

свернуть все

Использовать audioread для считывания в записи импульсной характеристики. Создать dsp.FrequencyDomainFIRFilter объект для выполнения фильтрации частотной области с использованием известной импульсной характеристики.

[irKnown,fs] = audioread('ChurchImpulseResponse-16-44p1-mono-5secs.wav');
systemModel = dsp.FrequencyDomainFIRFilter(irKnown');

Создайте сигнал возбуждения MLS с помощью mls функция. Сигнал возбуждения MLS должен быть длиннее импульсной характеристики. Следует отметить, что длина возбуждения MLS увеличивается до следующей мощности в два минус один.

excitation = mls(numel(irKnown)+1);

plot(excitation)
title('Excitation')

Figure contains an axes. The axes with title Excitation contains an object of type line.

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

numRuns = 4;
excrep = repmat(excitation,numRuns,1);
excrep = [excrep;zeros(numel(irKnown)+1,1)];

Пропускают сигнал возбуждения через известный фильтр и затем добавляют шум, чтобы смоделировать запись реального слова (отклик системы). Срежьте задержку, введенную в начале фильтром.

rec = systemModel(excrep);
rec = rec + 0.1*randn(size(rec));

rec = rec(numel(irKnown)+2:end,:);

plot(rec)
title('System Response')

Figure contains an axes. The axes with title System Response contains an object of type line.

В реальном сценарии последовательность MLS воспроизводится в тестируемой системе во время записи. Запись будет вырезана так, чтобы она начиналась в момент захвата последовательности MLS и усекалась до длительности повторяющейся последовательности.

Передать сигнал возбуждения и отклик системы на impzest функция для оценки импульсной характеристики. Постройте график известной импульсной характеристики и моделирования расчетной импульсной характеристики для сравнения.

irEstimate = impzest(excitation,rec);

samples = 1:numel(irKnown);
plot(samples,irEstimate(samples),'bo', ...
     samples,irKnown(samples),'m.')

legend('Known impulse response','Simulation of estimated impulse response')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Known impulse response, Simulation of estimated impulse response.

Создайте MLS-сигнал длиной 2 ^ 14-1 выборок с уровнем -5 дБ.

L = 2^14-1;
level = -5;
excitation = mls(L,'ExcitationLevel',level);

Визуализируйте возбуждение во времени и частоте. Для графика временной области постройте график только первых 200 образцов для видимости. Шаблон является постоянным.

plot(excitation(1:200))

Figure contains an axes. The axes contains an object of type line.

spectrogram(excitation,512,0,1024,'yaxis')

Figure contains an axes. The axes contains an object of type image.

Входные аргументы

свернуть все

Длина генерируемого сигнала возбуждения, заданная как скаляр в диапазоне [3,229).

Запрошенная длина вывода L должна быть мощностью два минус один. В противном случае выходная длина увеличивается до следующей допустимой длины.

Примечание

Если используется сигнал возбуждения, генерируемый mls функция для записи и оценки импульсной характеристики системы, то длина сигнала возбуждения должна быть, по крайней мере, такой же, как импульсная характеристика, которую вы хотите оценить.

Типы данных: single | double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'ExcitationLevel',-5

Уровень генерируемого сигнала возбуждения в дБ, определяемый как скаляр в диапазоне [-42,0].

Типы данных: single | double

Выходные аргументы

свернуть все

Сигнал возбуждения, генерируемый с использованием метода последовательности максимальной длины (MLS), возвращается в виде вектора столбца.

Типы данных: single | double

Ссылки

[1] Ги-Барт, Стэн, Жан-Жак Амбрахт и Доминик Аршамбо. «Сравнение различных методов измерения импульсной характеристики». Журнал Общества аудиотехники. Том 50, выпуск 4, 2002, стр. 246-262.

Представлен в R2018b