iscola

Определите, является ли комбинацией перекрытия окна совместимый COLA

Синтаксис

tf = iscola(window,noverlap)
tf = iscola(window,noverlap,method)
[tf,m] = iscola(___)
[tf,m,maxDeviation] = iscola(___)

Описание

пример

tf = iscola(window,noverlap) проверки, что заданное окно и перекрытие удовлетворяют Постоянное Перекрытие - Добавляют (COLA) ограничение, чтобы гарантировать, что обратное кратковременное преобразование Фурье приводит к совершенной реконструкции для неизмененных спектров.

tf = iscola(window,noverlap,method) задает метод инверсии, чтобы использовать.

[tf,m] = iscola(___) также возвращает медиану суммирования COLA. Можно использовать эти выходные аргументы с любым из предыдущих входных синтаксисов.

пример

[tf,m,maxDeviation] = iscola(___) возвращает максимальное отклонение от среднего m.

Примеры

свернуть все

Создайте периодическое корневое-Hann окно длины 120. Протестируйте, является ли окном COLA, совместимый с 50%-м перекрытием.

win = sqrt(hann(120,'periodic'));
noverlap = 60;

Проверяйте, является ли окном COLA, совместимый с 50%-м перекрытием.

tf = iscola(win,noverlap)
tf = logical
   1

Создайте периодическое Окно Хэмминга длины 256. Установите метод Перекрытия - Добавляют как 'ola'.

window = hamming(256,'periodic');
method = 'ola';
noverlap = 128;

Протестируйте, является ли окном COLA, совместимый с 50%-м перекрытием. Также вычислите медиану суммирования COLA и максимального отклонения от того суммирования.

[tf,m,maxDeviation] =  iscola(window,noverlap,method)
tf = logical
   1

m = 1.0800
maxDeviation = 2.2204e-16

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

свернуть все

Окно Analysis, заданное как вектор.

Пример: win = bartlett(120) является окном Бартлетта длины 120.

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

Количество перекрытых выборок, заданных как положительное целое число, меньшее, чем длина window.

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

Метод перекрытия - добавляет, заданный как:

  • 'wola' — взвешенное перекрытие - добавляет.

  • 'ola' — перекрытие - добавляет.

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

свернуть все

Соответствие COLA, возвращенное как логический скаляр. Если функция возвращает (TRUE) 1, то окно и длина перекрытия удовлетворяют ограничение COLA.

Медиана суммирования COLA, возвращенного как действительный скаляр. Если входными параметрами является совместимый COLA, то m равен постоянному суммированию COLA.

Максимальное отклонение от среднего m. Если window и noverlap является совместимый COLA, maxDeviation близко к ожидаемой числовой ошибке точности суммирования COLA.

Примечание

Можно завершить сильное соответствие КОЛЫ, если m = 1 и maxDeviation близко к числовой ошибке точности.

Больше о

свернуть все

Обратное кратковременное преобразование Фурье

Обратное кратковременное преобразование Фурье вычисляется путем взятия ОБПФ каждого вектора ДПФ STFT и добавления перекрытия инвертированные сигналы. ISTFT вычисляется можно следующим образом:

x(n)=1/21/2m=Xm(f)ej2πfndf=m=1/21/2Xm(f)ej2πfndf=m=xm(n)

где R размер транзитного участка между последовательными ДПФ, Xm ДПФ оконных данных, сосредоточенных во время mR и xm(n)=x(n)g(nmR). Обратный STFT является совершенной реконструкцией исходного сигнала пока m=ga+1(nmR)=cn где analysis window g(n) использовался к окну исходный сигнал и c константа. Следующая фигура изображает шаги, выполненные в восстановлении исходного сигнала.

Постоянное перекрытие - добавляет (COLA) ограничение

Чтобы гарантировать успешную реконструкцию неизмененных спектров, аналитическое окно должно удовлетворить ограничение COLA. В целом, если аналитическое окно удовлетворяет условие m=ga+1(nmR)=cn, окно считается совместимым КОЛОЙ. Кроме того, соответствие COLA может быть описано или как слабое или как сильное.

  • Слабое соответствие COLA подразумевает, что преобразование Фурье аналитического окна имеет нули в гармониках частоты кадров, таким образом что

    G(fk)=0,k=1,2,,R1,fkkR.

    Отмена псевдонима нарушена спектральными модификациями. Слабый COLA полагается на отмену псевдонима в частотном диапазоне. Поэтому совершенная реконструкция является возможным использованием слабо совместимых КОЛОЙ окон, пока сигнал не подвергся никаким спектральным модификациям.

  • Для сильного соответствия COLA преобразование Фурье окна должно последовательно быть bandlimited с субдискретизацией частотой кадров, таким образом что

    G(f)=0,f12R.

    Это уравнение показывает, что никакое искажение не позволено сильным ограничением COLA. Кроме того, для сильного соответствия COLA, значения константы c должен равняться 1. В целом, если кратковременный спектр изменяется в каком-либо случае, более сильный COLA, совместимое окно предпочтено.

Можно использовать функцию iscola, чтобы проверять на слабое соответствие COLA. Количество суммирования, используемого, чтобы проверить соответствие COLA, диктуют длина окна и размер транзитного участка. В целом распространено использовать a=1 \in m=ga+1(nmR)=cn для взвешенного перекрытия - добавляют (ВОЛЯ), и a=0 для перекрытия - добавляют (OLA). По умолчанию istft использует метод ВОЛИ, путем применения synthesis window прежде, чем выполнить перекрытие - добавляют метод.

В целом окно синтеза совпадает с аналитическим окном. Можно создать полезные окна ВОЛИ путем пущения квадратного корня из сильного окна OLA. Можно использовать этот метод для всех неотрицательных окон OLA. Например, корневое-Hann окно является хорошим примером окна ВОЛИ.

.

Ссылки

[1] Аллен, J. B. “Краткосрочный Спектральный анализ, Синтез и Модификация Дискретным преобразованием Фурье” Транзакции IEEE на Акустике, Речи и Обработке сигналов. Издание 25, № 3, июнь 1977, стр 235–238.

[2] Гриффин, D. W. и Дж. С. Лим. “Оценка сигнала от Измененного Кратковременного преобразования Фурье”. Транзакции IEEE на Акустике, Речи и Обработке сигналов. Издание 32, № 2, апрель 1984, стр 236–243.

[3] Смит, Обработка Звукового сигнала Дж. О. Спектрэла. https://ccrma.stanford.edu/~jos/sasp/, онлайновая книга, 2 011 выпусков, получил доступ к ноябрю 2018.

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

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

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

Функции

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте