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')

Реплицируйте сигнал возбуждения четыре раза, чтобы измерить среднее значение трех измерений. Запись первой последовательности 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')

В реальном сценарии последовательность 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')

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

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

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

plot(excitation(1:200))

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

Входные параметры

свернуть все

Продолжительность возбуждения сигнализирует, чтобы сгенерировать, заданный как скаляр в области значений [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] Парень-Bart, Стэн, Жан-Жак Эмбрашц и Доминик Аршамбо. "Сравнение Различных Техник измерений Импульсной характеристики". Журнал Общества звукоинженеров. Издание 50, Выпуск 4, 2002, стр 246–262.

Смотрите также

| |

Введенный в R2018b