LPC to/from Cepstral Coefficients

Преобразуйте коэффициенты линейного предсказания в коэффициенты cepstral или коэффициенты cepstral в коэффициенты линейного предсказания

Библиотека

Оценка/линейное предсказание

dsplp

  • LPC to/from Cepstral Coefficients block

Описание

Блок LPC в/из Cepstral Coefficients преобразует линейные коэффициенты предсказания (LPC) в коэффициенты cepstral (CCs) или коэффициенты cepstral в линейные коэффициенты предсказания. Установите параметр Type of conversion равным LPCs to cepstral coefficients или Cepstral coefficients to LPCs чтобы выбрать область, в которую вы хотите преобразовать ваши коэффициенты. Порт LPC соответствует LPC, а порт CC соответствует CC. Для получения дополнительной информации см. Алгоритм.

Блочный вход может быть N -by - M матрицей или неориентированным вектором. Каждый столбец матрицы рассматривается как канал. Когда вход является неориентированным вектором, вход рассматривается как один канал.

Рассмотрим x сигнала (n) как вход в фильтр анализа конечной импульсной характеристики, представленный LPC. Выход этого фильтра анализа e (n) известен как сигнал ошибки предсказания. Степень этого сигнала ошибки обозначается P, степенью ошибки предсказания.

Когда вы выбираете LPCs to cepstral coefficients из списка Type of conversion можно задать степень ошибки предсказания двумя способами. Из списка Specify P выберите via input port для ввода степени ошибки предсказания с помощью входного порта P. Вход в порт должен быть вектором с длиной, равной количеству входных каналов. Выберите assume P equals 1 установить степень ошибки предсказания равной 1 для всех каналов.

Когда вы выбираете LPCs to cepstral coefficients из списка Type of conversion появится флажок Output size same as input size. Когда вы устанавливаете этот флажок, длина входного вектора LPC равна выходному вектору CC. Если этот флажок не установлен, введите положительную скалярную величину для параметра Length of output cepstral coefficients.

Когда вы выбираете LPCs to cepstral coefficients из списка Type of conversion можно использовать параметр If first input value is not 1 , чтобы задать поведение блока, когда первый коэффициент вектора LPC не 1. Доступны следующие опции:

  • Replace it with 1 - - Изменяет первое значение вектора коэффициента на 1. Другие значения коэффициентов не изменяются.

  • Normalize - делит весь вектор коэффициентов на первый коэффициент так, что первый коэффициент вектора LPC равен 1.

  • Normalize and Warn - делит весь вектор коэффициентов на первый коэффициент так, что первый коэффициент вектора LPC равен 1. Блок отображает предупреждающее сообщение, сообщающее вам, что ваш вектор коэффициентов был нормирован.

  • Error - Отображает ошибку, сообщающую вам, что первый коэффициент вектора LPC не 1.

Когда вы выбираете Cepstral coefficients to LPCs из списка Type of conversion на блоке появляется флажок Output P. Установите этот флажок, когда вы хотите вывести степень ошибки предсказания из выходного порта P.

Алгоритм

Коэффициенты cepstral являются коэффициентами представления преобразования Фурье спектра величины логарифма. Рассмотрим последовательность, x (n), имеющую X преобразования Фурье (ω). cepstrum, <reservedrangesplaceholder11> <reservedrangesplaceholder10> (<reservedrangesplaceholder9>), определен обратным Преобразованием Фурье <reservedrangesplaceholder8> <reservedrangesplaceholder7> (<reservedrangesplaceholder6>), где <reservedrangesplaceholder5> <reservedrangesplaceholder4> (<reservedrangesplaceholder3>) = <reservedrangesplaceholder2> <reservedrangesplaceholder1> журнала (<reservedrangesplaceholder0>). Смотрите страницу с описанием Блок Cepstrum для получения информации об вычислении коэффициентов cepstrum из сигналов временной области.

LPC - CC

В этом режиме этот блок использует метод рекурсии для преобразования LPC в CC. Вектор LPC задан как [a0a1a2...ap] и вектор CC задан как [c0c1c2...cp...cn1]. Рекурсия определяется следующими уравнениями:

c0=logeP

cm=am+1mk=1m1[(mk)akc(mk)],1mp

cm=k=1p[(mk)makc(mk)],p<m<n

CC - LPC

В этом режиме этот блок использует метод рекурсии для преобразования CC в LPC. Вектор CC задан как [c0c1c2...cp...cn] и вектор LPC задан как [a0a1a2...ap]. Рекурсия определяется следующими уравнениями

am=cm1mk=1m1[(mk)c(mk)ak]

P=exp(C0)

где m=1,2,...,p.

Параметры

Type of conversion

Выберите LPCs to cepstral coefficients или Cepstral coefficients to LPCs чтобы задать область, в которую вы хотите преобразовать ваши коэффициенты.

Specify P

Выберите via input port для ввода значений степени ошибки предсказания с помощью входного порта P. Выбрать assume P equals 1 чтобы задать степень ошибки предсказания равной 1.

Output size same as input size

Когда вы устанавливаете этот флажок, длина входного вектора LPC равна выходному вектору CC.

Length of output cepstral coefficients

Введите положительную скалярную величину, которая является длиной каждого выхода канала CCs.

If first input value is not 1

Выберите, что вы хотите, чтобы блок сделал, когда первый коэффициент вектора LPC не 1. Вы можете выбрать Replace it with 1, Normalize, Normalize and Warn, и Error.

Output P

Установите этот флажок, чтобы вывести степень ошибки предсказания для каждого канала из выходного порта P.

Ссылки

Papamichalis, Panos E. Практические подходы к кодированию речи. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1987.

Поддерживаемые типы данных

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

См. также

Levinson-DurbinDSP System Toolbox
LPC to LSF/LSP ConversionDSP System Toolbox
LSF/LSP to LPC ConversionDSP System Toolbox
LPC to/from RCDSP System Toolbox
LPC/RC to AutocorrelationDSP System Toolbox
Real CepstrumDSP System Toolbox
Complex CepstrumDSP System Toolbox

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Представлено до R2006a