LPC к Преобразованию LSF/LSP

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

Библиотека

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

dsplp

Описание

LPC к блоку LSF/LSP Conversion берет вектор или матрицу коэффициентов линейного предсказания (LPCs) и преобразовывает его в вектор или матрицу строки спектральные пары (LSPs) или строка спектральные частоты (LSFs). При преобразовании LPCs в LSFs блок выходные параметры совпадает с теми из функции poly2lsf.

Вход блока должен быть или матрицей, вектор-столбцом или неориентированным вектором. Каждый канал входа должен иметь по крайней мере две выборки.

Вход LPCs для каждого канала, 1, a1, a 2..., a m, должен быть знаменателем передаточной функции стабильного фильтра все-полюса с формой, данной в первом уравнении Требований для Допустимых Выходных параметров. length-M+1 входной канал приводит к длине-M выходной канал.

Смотрите другие разделы этой страницы с описанием, чтобы узнать о том, как гарантировать, что вы получаете допустимые выходные параметры, как обнаружить недопустимые выходные параметры, как блок вычисляет значения LSF/LSP и т.д.

Требования для допустимых Выходных параметров

Чтобы получить допустимые выходные параметры, ваши входные параметры и значение параметров Root finding coarse grid points должны удовлетворить эти требования:

  • Вход LPCs для каждого канала, 1, a1, a 2..., a m, должен прибыть из знаменателя следующей передаточной функции, H(z), стабильного фильтра все-полюса (все корни H(z) должны быть в модульном кругу). Обратите внимание на то, что первый срок в знаменателе H(z) должен быть 1. Когда вход LPCs не прибывает из передаточной функции следующей формы, блок выходные параметры недопустимы.

    H(z)=11+a1z1+a2z2+ ... +amzm

  • Значение параметров Root finding coarse grid points должно быть достаточно большим так, чтобы блок мог найти весь LSP или значения LSF. (Вывод LSFs и LSPs является корнями полиномов, связанных с полиномом входа LPC; блок ищет эти корни, чтобы произвести вывод. Для получения дополнительной информации см. LSF и Метод Вычисления LSP: Метод Полинома Чебышева для Корневого Открытия.), Когда вы не устанавливаете Root finding coarse grid points на достаточно высокое значение относительно количества LPCs, блок не может найти весь LSPs или LSFs и привести к недопустимым выходным параметрам, как описано в Корневых Ограничениях Метода Открытия: Отказ Найти Корни.

Чтобы узнать о распознавании недопустимых вводов и выводов и параметров для контакта с ними, смотрите Обработку и Распознавание Недопустимых Вводов и выводов.

Установка Выходных параметров к LSFs или LSPs

Установите параметр Output на одну из следующих настроек, чтобы определить ли блок выходные параметры LSFs или LSPs:

  • LSF in radians (0 pi) — Block выходные параметры значения LSF между 0 и радианы π в увеличивающемся порядке. Блок не выводит гарантируемые значения LSF, 0 и π.

  • LSF normalized in range (0 0.5) — Block выходные параметры нормировал значения LSF в увеличивающемся порядке, вычисленном путем деления значений LSF между 0 и радианы π 2π. Блок не выводит гарантируемые нормированные значения LSF, 0 и 0.5.

  • LSP in range (-1 1) — Block значения LSP выходных параметров в порядке убывания, равняйтесь косинусу значений LSF между 0 и радианы π. Блок не выводит гарантируемые значения LSP,-1 и 1.

Корректировка Выходного времени вычисления и точности с корневым нахождением параметров

Значения n и k определяют выходное время вычисления и точность блока, где

  • n является значением параметра Root finding coarse grid points (выберите это значение с осторожностью; см. примечание ниже).

  • k является значением параметра Root finding bisection refinement.

  • Уменьшение значений n и k уменьшает выходное время вычисления, но также и уменьшает выходную точность:

    • Верхняя граница времени вычисления блока пропорциональна k(n1).

    • Каждый LSP вывод в 1/(n2k) из фактического значения LSP.

    • Каждый LSF вывод в ΔLSF фактического значения LSF, LSF act, где

      ΔLSF=|aпотому что(LSFact)aпотому что(LSFact+1/(n2k))|

Примечание

Когда значение параметра Root finding coarse grid points является слишком маленьким относительно количества LPCs, блок может вывести недопустимые данные, как описано в Требованиях для Допустимых Выходных параметров. Также смотрите Обработку и Распознавание Недопустимых Вводов и выводов.

Известные свойства ввода и вывода

Обработка и распознавание недопустимых вводов и выводов

Недопустимые данные выходных параметров блока, когда ваш вход LPCs и значение параметра Root finding coarse grid points не удовлетворяют требования, описанные в Требованиях для Допустимых Выходных параметров. Следующие темы описывают то, на что недопустимые выходные параметры похожи, и как установить параметры блоков, предусмотренные, обработав недопустимые вводы и выводы:

На что похожи недопустимые Выходные параметры

Каналы недопустимого вывода имеют те же размерности, размеры, и структурируют статуи как каналы допустимого вывода. Однако недопустимые выходные каналы не содержат весь LSP или значения LSF. Вместо этого они не содержат ни один или часть LSP и значений LSF, и остальная часть вывода заполнена значениями заполнителя (-1, 0.5, или π) в зависимости от установки параметра Output).

Короче говоря, все недопустимые выходные параметры в канале заканчиваются в одном из значений заполнителя (-1, 0.5, или π), как проиллюстрировано в следующей таблице. Чтобы изучить, как использовать параметры блока для обработки недопустимых вводов и выводов, смотрите следующий раздел.

Установка выходного параметраЗаполнительДемонстрационные недопустимые Выходные параметры

LSF in radians (0 pi)

π

[w1w2w3πππππ]

LSF normalized in range (0 0.5)

0.5

[w1w20.5]

LSP in range (-1 1)

-1

[потому что(w13)потому что(w23)111]

Параметры для обработки недопустимых вводов и выводов

Необходимо установить, как блок обрабатывает недопустимые вводы и выводы путем установки этих параметров:

  • Show output validity status (1=valid, 0=invalid) — Установите этот параметр, чтобы активировать второй выходной порт, который выводит вектор с одним булевым элементом на канал; 1, когда вывод соответствующего канала допустим, и 0, когда вывод недопустим. LSF и LSP выходные параметры недопустимы, когда блоку не удается найти весь LSF или значения LSP или когда вход LPCs нестабильны (для получения дополнительной информации смотрите Требования для Допустимых Выходных параметров). Смотрите предыдущий раздел, чтобы изучить, как распознать недопустимые выходные параметры.

  • If current output is invalid, overwrite with previous output — Установите этот флажок, чтобы заставить блок перезаписывать недопустимые выходные параметры с предыдущим выводом. Когда вы устанавливаете этот параметр, также необходимо рассмотреть эти параметры:

    • When first output is invalid, overwrite with user-defined values — Когда первый вход нестабилен, можно перезаписать недопустимый первый вывод с также

      • Значения по умолчанию, путем снятия этого флажка

      • Значения вы задаете путем установки этого флажка

      Начальные значения перезаписи по умолчанию являются LSF или представлениями LSP фильтра все-передачи. Вектор, который используется, чтобы перезаписать недопустимый вывод, хранится как внутреннее состояние.

    • User-defined LSP/LSF values for overwriting invalid first output — Задайте вектор значений для перезаписи недопустимого первого вывода, если вы выбрали параметр When first output is invalid, overwrite with user-defined values. Для многоканальных входных параметров предоставьте матрице то же количество каналов как вход или один вектор, который будет применен к каждому каналу. Вектор или матрица значений LSP/LSF, которые вы задаете, должны иметь ту же размерность, размер и состояние кадра как другие выходные параметры.

  • If first input value is not 1 — Блок вывод в любом канале недопустим, когда первый коэффициент в векторе LPC не 1; этот параметр определяет то, что блок делает, когда дали такие входные параметры:

    • Ignore — Возобновите вычисления, как будто первый коэффициент равняется 1.

    • Normalize — Разделите вход LPCs на значение первого коэффициента прежде, чем вычислить вывод.

    • Normalize and warn — В дополнение к Normalize, отображение предупреждающее сообщение в командной строке MATLAB®.

    • Ошибка Остановите симуляцию и отобразите сообщение об ошибке в командной строке MATLAB.

Параметры

Output

Задает, преобразовать ли входные коэффициенты полинома линейного предсказания (LPCs) в LSP in range (-1 1), LSF in radians (0 pi) или LSF normalized in range (0 0.5). Смотрите Установку Выходные параметры к LSFs или LSPs для описаний этих трех настроек.

Root finding coarse grid points

n значения, где блок делит интервал (-1, 1) на подынтервалы n равной длины, и ищет корни (значения LSP) в каждом подынтервале. Необходимо выбрать n, достаточно большой, или блок вывод может быть недопустимым, как описано в Требованиях для Допустимых Выходных параметров. Чтобы изучить, как блок использует этот параметр, чтобы вычислить вывод, см. LSF и Метод Вычисления LSP: Метод Полинома Чебышева для Корневого Открытия. Также смотрите Корректировку Выходное Время вычисления и Точность с Корневым Нахождением параметров. Настраиваемый (Simulink).

Root finding bisection refinement

k значения, где каждый LSP вывод в 1/(n2k) из фактического значения LSP, где n является значением параметра Root finding coarse grid points. Чтобы изучить, как блок использует этот параметр, чтобы вычислить вывод, см. LSF и Метод Вычисления LSP: Метод Полинома Чебышева для Корневого Открытия. Также смотрите Корректировку Выходное Время вычисления и Точность с Корневым Нахождением параметров. Настраиваемый (Simulink).

Show output validity status

Установите этот параметр, чтобы активировать второй выходной порт, который выводит вектор с одним булевым элементом на канал; 1, когда вывод соответствующего канала допустим, и 0, когда вывод недопустим. LSF и LSP выходные параметры недопустимы, когда блоку не удается найти весь LSF или значения LSP или когда вход LPCs нестабильны (для получения дополнительной информации смотрите Требования для Допустимых Выходных параметров).

If current output is invalid, overwrite with previous output

Выбор этого флажка заставляет блок перезаписывать недопустимые выходные параметры с предыдущим выводом. Установка этого параметра активирует другие параметры для заботы о начальных значениях перезаписи (когда самый первый вывод блока недопустим). Для получения дополнительной информации смотрите Параметры для Обработки Недопустимых Вводов и выводов.

When first output is invalid, overwrite with user-defined values

Когда первый вход нестабилен, можно перезаписать недопустимый первый вывод с также

  • Значения по умолчанию, путем снятия этого флажка

  • Значения вы задаете путем установки этого флажка

Начальные значения перезаписи по умолчанию являются LSF или представлениями LSP фильтра все-передачи. Вектор, который используется, чтобы перезаписать недопустимый вывод, хранится как внутреннее состояние. Для получения дополнительной информации смотрите Параметры для Обработки Недопустимых Вводов и выводов.

User-defined LSP/LSF values for overwriting invalid first output

Задайте вектор значений для перезаписи недопустимого первого вывода, если вы выбрали параметр When first output is invalid, overwrite with user-defined values. Для многоканальных входных параметров предоставьте матрице то же количество каналов как вход или один вектор, который будет применен к каждому каналу. Вектор или матрица значений LSP/LSF, которые вы задаете, должны иметь ту же размерность, размер и состояние кадра как другие выходные параметры.

If first input value is not 1

Определяет то, что делает блок, когда первым коэффициентом входа не является 1. Блок может или возобновить вычисления как тогда, когда первый коэффициент 1 (Ignore); разделите вход LPCs на значение первого коэффициента прежде, чем вычислить вывод (Normalize); в дополнение к Normalize, отображение предупреждающее сообщение в командной строке MATLAB (Normalize and warn); остановите симуляцию и отобразите сообщение об ошибке в командной строке MATLAB (Error). Для получения дополнительной информации смотрите Параметры для Обработки Недопустимых Вводов и выводов.

Теория

LSF и метод вычисления LSP: метод полинома Чебышева для корневого открытия

Примечание

Чтобы изучить принципы, на которых базируются LSP блока и метод вычисления LSF, смотрите ссылку, перечисленную в Ссылках.

Чтобы вычислить LSP выходные параметры для каждого канала, блок полагается на то, что значения LSP являются корнями двух конкретных полиномов, связанных с полиномом входа LPC; блок находит эти корни с помощью корня Полинома Чебышева нахождение метода, описанного затем. Чтобы вычислить LSF выходные параметры, блок вычисляет арккосинус LSPs, выводя значения в пределах от 0 к радианам π.

Корневой метод нахождения

LSPs, которые являются корнями двух конкретных полиномов, всегда находятся в диапазоне (-1, 1). (Гарантируемые корни в 1 и-1 факторизуются.) Блок находит LSPs путем поиска изменения знака значений этих двух полиномов между точками в области значений (-1, 1). Поиски блока максимум k (n – 1) точки, где

  • n является значением параметра Root finding coarse grid points.

  • k является значением параметра Root finding bisection refinement.

Метод блока для выбора, который указывает на проверку, состоит из выполняющего двух шагов:

  1. Coarse Root Finding — - блок делит интервал [-1, 1] на интервалы n, каждую длину 2/n, и проверяет знаки значений обоих полиномов в конечных точках интервалов. Блок начинает проверять знаки в 1 и продолжает проверять знаки в 1 – 4/n, 1 – 6/n, и так далее на шагах длины 2/n, выводя любую точку, если это - корень. Блок прекращает искать в этих ситуациях:

    1. Блок находит изменение знака значений полинома между двумя смежными точками. Интервал, содержащий изменение знака, как гарантируют, будет содержать корень, таким образом, блок дальнейшие поисковые запросы интервал, как описано на Шаге 2, Корневом Улучшении Нахождения.

    2. Блок находит и выходные параметры все корни M (данный length-M+1 вход LPC).

    3. Блоку не удается найти, что весь M базируется и приводит к недопустимым выходным параметрам, как описано в Обработке и Распознавании Недопустимых Вводов и выводов.

  2. Root Finding Refinement — То, когда блок находит изменение знака в интервале, [a, b], это ищет корень, гарантировало, что легло в интервале путем выполнения этих шагов:

    1. Check if Midpoint Is a Root — проверки блока знак средней точки интервала [a, b]. Блок выводит среднюю точку, если это - корень и продолжает Шаг 1, Крупное Корневое Открытие, на следующем этапе, a – 2/n. В противном случае блок выбирает полуинтервал с конечными точками противоположного знака (любой [a, (a + b)/2] или [(a + b)/2, b]) и выполняет Шаг 2b, Остановку, или Продолжите Корневое Улучшение Нахождения.

    2. Stop or Continue Root Finding Refinement — Когда блок повторил Шаг 2a времена k (k является значением параметра Root finding bisection refinement), блок линейно интерполирует корень при помощи конечных точек полуинтервала, выводит результат как значение LSP и возвращается к Шагу 1, Крупному Корневому Открытию. В противном случае блок повторяет Шаг 2a с помощью полуинтервала.

Крупное корневое улучшение нахождения открытия и корня

Корневые ограничения метода открытия: отказ найти корни

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

В частности, блок может не найти некоторые корни, если значение параметра Root finding coarse grid points, n, является слишком маленьким. Если полиномы колеблются быстро и имеют корни, которые являются очень близко друг к другу, корневое открытие может быть слишком крупным, чтобы идентифицировать корни, которые являются очень друг близко к другу, как проиллюстрировано в Фиксации Не пройдено Корневого Открытия.

Для полиномов входа LPC высшего порядка необходимо увеличить значение Root finding coarse grid points, чтобы гарантировать, что блок находит все корни и производит допустимые выходные параметры.

Фиксация не пройдено корневого открытия

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

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

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

  • Булевская переменная — Поддерживаемый только дополнительным выходным портом, который появляется, когда вы устанавливаете параметр, Show output validity status (1=valid, 0=invalid)

Ссылки

Kabal, P. и Ramachandran, R. “Вычисление Строки Спектральные Частоты Используя Полиномы Чебышева. “Транзакции IEEE на Акустике, Речи и Обработке сигналов, Издание ASSP-34 № 6, декабрь 1986. стр 1419-1426.

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

LSF/LSP к Преобразованию LPCDSP System Toolbox
LPC к/от RCDSP System Toolbox
LPC/RC к АвтокорреляцииDSP System Toolbox
poly2lsfSignal Processing Toolbox

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

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

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