sweeptone

Экспоненциал развернул синус

Описание

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

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 object. The axes object with title Excitation contains an object of type line.

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

[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 object. The axes object 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 object. The axes object 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 object. The axes object contains an object of type line.

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

Figure contains an axes object. The axes object 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 имя аргумента и 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.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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

| |

Введенный в R2018b