icqt

Обратное преобразование константы-Q с использованием нестационарных систем координат Габора

Описание

пример

xrec = icqt(cfs,g,fshifts) возвращает обратное преобразование константы Q, xrec, коэффициентов cfs. cfs является матрицей, массивом ячеек или массивом структур. g - массив ячеек нестационарных фильтров анализа Gabor constant-Q, используемых для получения коэффициентов cfs. fshifts является вектором интервала частот для полосно-пропускающих фильтров constant-Q в g. icqt принимает по умолчанию, что исходный сигнал был реальным. Чтобы указать, что исходный входной сигнал был комплексным, используйте 'SignalType' Пара "имя-значение". Если вход в cqt тогда был один сигнал xrec является вектором. Если вход в cqt был многоканальным сигналом, затем xrec является матрицей. cfs, g, и fshifts должны быть выходами cqt.

xrec = icqt(___,'SignalType',sigtype) определяет, был ли сигнал реальным или комплексным. Допустимые опции для sigtype являются 'real' или 'complex'. Если не задано, sigtype по умолчанию является 'real'.

[xrec,gdual] = icqt(___) возвращает двойные системы координат xrec как массив ячеек того же размера, что и g. Двойные системы координат являются каноническими двойными системами координат, выведенными из фильтров анализа.

Примеры

свернуть все

Загрузите и постройте график сигнала Handel.

load handel
t = (0:length(y)-1)/Fs;
plot(t,y)
title('Handel')
xlabel('Time (s)')

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

Получите преобразование константы Q сигнала с помощью sparse опция преобразования. Поскольку преобразование будет инвертировано, вы также должны вернуть системы координат Габора и сдвиги частоты, используемые в анализе.

[cfs,~,g,fshifts] = cqt(y,'SamplingFrequency',Fs,'TransformType','sparse');

Инвертируйте преобразование константы Q и демонстрируйте совершенную реконструкцию, показав максимальную абсолютную ошибку реконструкции и относительную энергетическую ошибку в дБ.

xrec = icqt(cfs,g,fshifts);
maxAbsError = max(abs(xrec-y))
maxAbsError = 6.9389e-16
relEnergyError = 20*log10(norm(xrec-y)/norm(y))
relEnergyError = -301.4160

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

свернуть все

Коэффициенты Constant-Q сигнала или многоканального сигнала, заданные как матрица, массив ячеек или массив структур. cfs должен быть выходным cqt.

Нестационарные фильтры анализа Габора константы-Q, используемые для получения коэффициентов cfs, заданный как массив ячеек. cfs должен быть выходным cqt.

Сдвиги интервала частоты для полосно-пропускающих фильтров constant-Q в g, заданный как действительный вектор. fshifts должен быть выходным cqt.

Тип сигнала исходного сигнала, заданный как 'real' или 'complex'. Использование sigtype определить, был ли исходный сигнал реальным или комплексным. Если не задано, sigtype по умолчанию является 'real'.

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

свернуть все

Обратное преобразование константы Q, возвращенное как вектор или матрица. Если вход в cqt тогда был один сигнал xrec является вектором. Если вход в cqt был многоканальным сигналом, затем xrec является матрицей.

Двойные системы координат, используемые в синтезе xrec, возвращенный как массив ячеек того же размера g. Двойные системы координат являются каноническими двойными системами координат, выведенными из фильтров анализа.

Алгоритмы

Теория нестационарных систем координат Габора (NSG) для частотно-адаптивного анализа и эффективные алгоритмы для анализа и синтеза с использованием систем координат NSG обусловлены Dörfler, Holighaus, Grill и Velasco [1], [2]. Алгоритмы, используемые вcqt и icqt были разработаны Dörfler, Holighaus, Grill и Velasco и описаны в [1], [2]. В [3] Шёркхубер, Клапури, Холигхаус и Дёрфлер разрабатывают и предоставляют алгоритмы для корректируемого по фазе CQT преобразования, которое совпадает с коэффициентами CQT, которые будут получены наивной сверткой. Large Time-Frequency Analysis Toolbox (https://github.com/ltfat) предоставляет обширный набор алгоритмов для нестационарных систем координат Габора [4].

Ссылки

[1] Holighaus, N., M. Dörfler, G. A. Velasco, and T. Grill. «среда для инвертируемых преобразований Q в реальном времени». Транзакции IEEE по обработке звука, речи и языка. Том 21, № 4, 2013, с. 775-785.

[2] Веласко, Г. А., Н. Холигхаус, М. Дёрфлер и Т. Гриль. «Построение инвертируемого преобразования константы Q с нестационарными системами координат Габора». В работе 14-й Международной конференции по цифровому аудио Эффектов (DAFx-11). Париж, Франция: 2011.

[3] Schörkhuber, C., A. Klapuri, N. Holighaus, and M. Dörfler. Matlab Toolbox for Effective Perfect Reconstruction Time-Frequency Transforms with Log-Frequency Resolution (неопр.) (недоступная ссылка). Представлен на 53-й Международной конференции AES по семантическому аудио. Лондон, Великобритания: 2014.

[4] Пруша, З., П. Л. Сёндергаард, Н. Холигхаус, К. Висмейр, и П. Балаж. Large Частотно-временной Анализ Toolbox 2.0. Sound, Music, and Motion, Lecture Notes in Computer Science 2014, стр. 419-442.

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

.
Введенный в R2018a