exponenta event banner

sweeptone

Экспоненциальный развертываемый синус

Описание

excitation = sweeptone() возвращает сигнал возбуждения, генерируемый с использованием метода экспоненциального развертываемого синуса (ESS). По умолчанию для частоты дискретизации 44100 Гц сигнал имеет 6-секундную длительность, за которой следует 4 секунды молчания.

excitation = sweeptone(swDur) определяет длительность экспоненциального синусоидального сигнала.

excitation = sweeptone(swDur,silDur) определяет длительность молчания после экспоненциального синусоидального сигнала.

пример

excitation = sweeptone(swDur,silDur,fs) задает частоту выборки тона свип-сигнала как fs Гц.

пример

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

Примеры

свернуть все

Создайте сигнал возбуждения тона свип-сигнала с помощью sweeptone функция.

excitation = sweeptone(2,1,44100);

plot(excitation)
title('Excitation')

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

Пропускайте сигнал возбуждения через фильтр с бесконечной импульсной характеристикой (БИХ) и добавляйте шум для моделирования реальной записи (системной характеристики).

[B,A] = butter(10,[.1 .7]);
rec = filter(B,A,excitation);
nrec = rec + 0.12*randn(size(rec));

plot(nrec)
title('System Response')

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

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

irEstimate = impzest(excitation,nrec);
irEstimate = irEstimate(1:101);

irTrue = impz(B,A,101);
plot(0:100,irEstimate, ...
     0:100,irTrue,'ro')

legend('True impulse response','Estimated impulse response')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent True impulse response, Estimated impulse response.

Создайте экспоненциальный сигнал синусоидального сдвига (ESS) с 3-секундным сдвигом, который продолжается от 20 Гц до 20 кГц и заканчивается 2-секундным молчанием. Укажите частоту дискретизации 48 кГц.

fs = 48e3;
excitation = sweeptone(3,2,fs,'SweepFrequencyRange',[20 20e3]);

Визуализируйте возбуждение во времени и частоте.

t = (0:numel(excitation)-1)/fs;
plot(t,excitation)
xlabel('Time (s)')

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

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

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

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

свернуть все

Длительность экспоненциального синусоидального сигнала в секундах, заданная как скаляр в диапазоне [0.5,15].

Общая продолжительность сигнала возбуждения должна быть меньше или равна 15 секундам: swDur + silDur ≤ 15.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Длительность молчания после экспоненциального развертываемого синуса, заданного как скаляр в диапазоне (0,14,5].

Общая продолжительность сигнала возбуждения должна быть меньше или равна 15 секундам: swDur + silDur ≤ 15.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Частота дискретизации в Гц, заданная как положительный скаляр.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

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

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Диапазон частоты развертки в Гц, заданный как двухэлементный вектор строки. Диапазон частот свип-сигнала может быть задан от низкого до высокого или от высокого до низкого. То есть [10 22000] и [22000 10] оба являются допустимыми входами. Наибольшее значение диапазона частот развертки должно быть меньше или равно fs/2.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

свернуть все

Сигнал возбуждения, генерируемый с использованием методики ESS, возвращается в виде вектора столбца. Длина вектора столбца приблизительно (swDur+silDur)*fs образцы.

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

Ссылки

[1] Фарино, Анджело. «Достижения в измерениях импульсной характеристики с помощью синусоидальных сдвигов». Представлен на 122-й конференции Общества аудиотехники, Вена, Австрия, 2007 год.

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