СИСТЕМЫ И СПОСОБЫ ДИНАМИЧЕСКОЙ НОРМАЛИЗАЦИИ ДЛЯ УМЕНЬШЕНИЯ ПОТЕРИ ТОЧНОСТИ ДЛЯ СИГНАЛОВ С НИЗКИМ УРОВНЕМ
SYSTEMS AND METHODS OF DYNAMIC NORMALISATION TO REDUCE LOSS OF ACCURACY FOR SIGNALS WITH LOW LEVEL

Заявление приоритета в соответствии с 35 USC § 119
Данная заявка на патент испрашивает приоритет в соответствии с предварительной заявкой № 60/868,476 под названием "DYNAMIC NORMALIZATION TO REDUCE LOSS IN PRECISION FOR LOW-LEVEL SIGNALS", поданной 4 декабря 2006 г., права на которую переданы правопреемнику настоящей заявки и которая тем самым явно включена в настоящую заявку посредством ссылки.
Область техники, к которой относится изобретение
Настоящее раскрытие, в общем, относится к технологии обработки сигналов. Более конкретно, настоящее раскрытие относится к системам и способам динамической нормализации для уменьшения потери точности для сигналов низкого уровня.
Уровень техники
Термин «обработка сигналов» может относиться к обработке и интерпретации сигналов. Сигналы, представляющие интерес, могут включать в себя звук, изображения и множество других. Обработка таких сигналов может включать в себя сохранение и реконструкцию, отделение информации от шумов, сжатие и выделение признаков. Термин «цифровая обработка сигналов» может относиться к исследованию сигналов в цифровом представлении и к способам обработки этих сигналов. Цифровая обработка сигналов является составной частью множества технологий передачи данных, таких как мобильные телефоны и Интернет. Алгоритмы, которые используют для цифровой обработки сигналов, могут выполняться с использованием специализированных компьютеров, в которых могут использоваться специализированные микропроцессоры, называемые цифровыми сигнальными процессорами (иногда сокращенно обозначаются как DSP (ЦСП)).
Краткое описание чертежей
На фиг.1 представлена система беспроводной связи;
на фиг.2 иллюстрируется широкополосный кодер, который можно использовать в системе беспроводной связи;
на фиг.3 представлен кодер верхней полосы из широкополосного кодера по фиг.2;
на фиг.4 иллюстрируется компонент определения коэффициента из кодера верхней полосы по фиг.3;
на фиг.5 иллюстрируется широкополосный декодер, который можно использовать в системе беспроводной связи;
на фиг.6 иллюстрируется способ динамической нормализации для уменьшения потери точности для сигналов низкого уровня;
на фиг.7 иллюстрируется способ определения коэффициента нормализации для текущего кадра сигнала возбуждения низкой полосы;
на фиг.8 иллюстрируются различные компоненты, которые могут использоваться в устройстве связи.
Подробное описание изобретения
Раскрыто устройство, которое выполнено с возможностью динамической нормализации для уменьшения потери точности для сигналов низкого уровня. Это устройство может включать в себя процессор и запоминающее устройство, электронным образом связанное с процессором. Инструкции могут быть сохранены в запоминающем устройстве. Инструкции могут выполняться для определения коэффициента нормализации для текущего кадра сигнала. Коэффициент нормализации может зависеть от амплитуды текущего кадра сигнала. Коэффициент нормализации также может зависеть от значений состояний после одной или большего количества операций, выполненных для предыдущего кадра нормализованного сигнала. Эти инструкции могут также выполняться для нормализации текущего кадра сигнала на основе определяемого коэффициента нормализации. Инструкции также могут выполняться для регулирования коэффициента нормализации состояний на основе определяемого коэффициента нормализации.
Раскрыт способ динамической нормализации для уменьшения потери точности для сигналов низкого уровня. Способ может включать в себя определение коэффициента нормализации для текущего кадра сигнала. Коэффициент нормализации может зависеть от амплитуды текущего кадра сигнала. Коэффициент нормализации также может зависеть от значений состояний после одной или большего количества операций, выполненных для предыдущего кадра нормализованного сигнала. Способ также может включать в себя нормализацию текущего кадра сигнала на основе определяемого коэффициента нормализации. Способ также может включать в себя коэффициент нормализации состояний на основе определяемого коэффициента нормализации.
Раскрыто устройство, которое выполнено с возможностью динамической нормализации для уменьшения потерь точности для сигналов низкого уровня. Это устройство может включать в себя средство определения коэффициента нормализации для текущего кадра сигнала. Коэффициент нормализации может зависеть от амплитуды текущего кадра сигнала. Коэффициент нормализации также может зависеть от значений состояний после одной или большего количества операций, выполненных для предыдущего кадра нормализованного сигнала. Устройство также может включать в себя средство нормализации текущего кадра сигнала на основе определяемого коэффициента нормализации. Устройство также может включать в себя средство регулирования коэффициента нормализации состояний на основе определенного коэффициента нормализации.
Также раскрыт машиночитаемый носитель. Машиночитаемый носитель может быть выполнен с возможностью хранения набора инструкций. Набор инструкций может выполняться для определения коэффициента нормализации для текущего кадра сигнала. Коэффициент нормализации может зависеть от амплитуды текущего кадра сигнала. Коэффициент нормализации может также зависеть от значений состояний после одной или большего количества операций, выполненных для предыдущего кадра нормализованного сигнала. Набор инструкций также может выполняться для нормализации текущего кадра сигнала на основе определенного коэффициента нормализации. Набор инструкций также может выполняться для регулировки коэффициента нормализации состояний на основе определенного коэффициента нормализации.
Также раскрыта система динамической нормализации, предназначенная для снижения потерь точности для сигналов низкого уровня. Система может включать в себя компонент определения коэффициента. Компонент определения коэффициента может быть выполнен с возможностью определения коэффициента нормализации для текущего кадра сигнала. Коэффициент нормализации может зависеть от амплитуды текущего кадра сигнала. Коэффициент нормализации также может зависеть от значений состояний после одной или большего количества операций, выполненных для предыдущего кадра нормализованного сигнала. Система также может включать в себя нормализатор сигнала. Нормализатор сигнала может быть выполнен с возможностью нормализации текущего кадра сигнала на основе определяемого коэффициента нормализации. Система также может включать в себя регулятор коэффициента нормализации состояний. Регулятор коэффициента нормализации состояний может быть выполнен с возможностью регулировки коэффициента нормализации состояний на основе определяемого коэффициента нормализации.
Используемый здесь термин "определение" (и его грамматические варианты) применяют в чрезвычайно широком смысле. Термин "определение" охватывает широкое разнообразие действий, поэтому "определение" может включать в себя расчет, вычисление, обработку, получение, исследование, поиск (например, поиск в таблице, базе данных или в другой структуре данных), установление и т.п. Кроме того, "определение" может включать в себя прием (например, прием информации), оценку (например, оценку данных в запоминающем устройстве) и т.п. Кроме того, "определение" может включать в себя разрешение, выбор, отбор, установление и т.п.
Фраза "основанный на" не означает "основан только на", если только не будет явно выражено другое. Другими словами, фраза "основанный на" описывает как "основанный только на", так и "основанный, по меньшей мере, на".
На фиг.1 иллюстрируется система 100 беспроводной связи, которая может включать в себя множество мобильных станций 102, множество базовых станций 104, контроллер 106 базовых станций (BSC, КБС) и центр 108 мобильной коммутации (MSC, ЦМК). MSC 108 может быть выполнен с возможностью формировать интерфейс с телефонной коммутируемой сетью 110 общего пользования (PSTN, ТКСОП). MSC 108 также может быть выполнен с возможностью формировать интерфейс с BSC 106. В системе 100 может быть более чем один BSC 106. Мобильные станции 102 могут включать в себя телефоны сотовой системы или портативные телефоны системы связи (PCS (КПС), комплект персональной связи).
Каждая базовая станция 104 может включать в себя, по меньшей мере, один сектор (не показан), где каждый сектор может иметь всенаправленную антенну или антенну, направленную в определенном направлении радиально от базовой станции 104. В качестве альтернативы, каждый сектор может включать в себя две антенны для разнесенного приема. Каждая базовая станция 104 может быть разработана для поддержки множества назначений частоты. Система 100 беспроводной связи может быть выполнена с возможностью реализации методов множественного доступа с кодовым разделением (CDMA, МДКР). В системе 100 CDMA пересечение сектора и назначения частоты может называться каналом CDMA.
Во время работы системы 100 беспроводной связи базовые станции 104 могут принимать наборы сигналов обратной линии связи из множества мобильных станций 102. Мобильные станции 102 могут выполнять телефонные вызовы или другую передачу данных. Каждый сигнал обратной линии связи, принимаемый данной базовой станцией 104, может быть обработан в этой базовой станции 104. Получаемые в результате данные могут быть перенаправлены в BSC 106. BSC 106 может обеспечивать распределение ресурсов вызова и функциональные возможности мобильного управления, в том числе взаимодействие мягкой передачи обслуживания между базовыми станциями 104. BSC 106 также может направлять принятые данные в MSC 108, который может предоставлять дополнительные услуги маршрутизации для взаимодействия с PSTN 110. Аналогично, PSTN 110 может формировать интерфейс с MSC 108, и MSC 108 может формировать интерфейс с BSC 106, который в свою очередь может управлять базовыми станциями 104 для передачи наборов сигналов прямой линии связи в наборы мобильных станций 102.
В качестве примера некоторые системы и способы будут описаны со ссылкой на речевые сигналы, которые могут быть обработаны широкополосным вокодером. (Термин "широкополосный вокодер" будет более подробно описан ниже.) Однако системы и способы, раскрытые здесь, можно применять за пределами контекста речевых сигналов. Фактически, системы и способы, раскрытые здесь, можно использовать совместно с обработкой любого типа сигналов (например, музыки, видео и т.д.) с конечной точностью.
Следующее описание включает в себя ссылки на состояния фильтра. Однако системы и способы, раскрытые здесь, применимы к другим типам состояний. Кроме того, термин "состояния" следует рассматривать широко, как означающий любую конфигурацию информации или запоминающих устройств в программе или в устройстве.
Передача голоса с использованием цифровых технологий получила широкое распространение, в частности в применениях на больших расстояниях и в цифровых радиотелефонах. В прошлом передача голоса была ограничена по полосе пропускания в частотном диапазоне 300-3400 кГц. Новые сети для передачи голоса, такие как сотовая телефония и передача голоса по IP, могут не иметь тех же ограничений полосы пропускания, и может быть желательно передавать и принимать по таким сетям голосовые передачи, которые включают в себя широкополосный частотный диапазон.
Голосовой кодер, или "вокодер", является устройством, которое способствует передаче сжатых речевых сигналов через канал передачи данных. Вокодер может содержать кодер и декодер. Входящий речевой сигнал может быть разделен на блоки по времени или кадры анализа. Кодер может анализировать входящий речевой кадр для извлечения определенных значимых параметров и затем может квантовать эти параметры в двоичное представление. Двоичное представление может быть упаковано в кадры передачи и может быть передано через канал передачи данных в приемник с декодером. Декодер может обрабатывать кадры передачи, производить их обратное квантование для получения параметров и повторно синтезировать речевые кадры, используя деквантованные параметры. Кодирование и декодирование речевых сигналов может быть выполнено с помощью цифровых сигнальных процессоров (DSP), действующих как вокодер. В связи с природой некоторых применений передачи голосовых данных кодирование и декодирование речевых сигналов может быть выполнено в режиме реального времени.
Устройство (например, мобильная станция 102 или базовая станция 104), которое применяется в системе 100 беспроводной связи, может включать в себя широкополосный вокодер, то есть вокодер, который выполнен с возможностью поддержки широкополосного диапазона частот. Широкополосный вокодер может содержать широкополосный кодер и широкополосный декодер.
На фиг.2 иллюстрируется широкополосный кодер 212. Широкополосный кодер 212 может быть реализован в устройстве, которое может использоваться в системе 100 беспроводной связи. Устройство может представлять собой мобильный телефон, карманный персональный компьютер (КПК), портативный компьютер, цифровую камеру, музыкальный проигрыватель, игровое устройство или любое другое устройство с процессором. Устройство может выполнять функции мобильной станции 102 или базовой станции 104 в системе 100 беспроводной связи.
Широкополосный речевой сигнал 214 может быть предоставлен в широкополосный кодер 212. Широкополосный кодер 212 может включать в себя гребенку 216 фильтров анализа. Гребенка 216 фильтров может фильтровать широкополосный речевой сигнал 214 для получения сигнала 218 низкой полосы и сигнала 220 высокой полосы.
Сигнал 218 низкой полосы может быть предоставлен в кодер 222 низкой полосы. Кодер 222 низкой полосы может кодировать сигнал 218 низкой полосы, генерируя, таким образом, кодированный сигнал 224 низкой полосы. Кодер 222 низкой полосы также может выводить сигнал 226 возбуждения низкой полосы.
Сигнал 220 высокой полосы может быть предоставлен в кодер 228 высокой полосы. Сигнал 226 возбуждения низкой полосы, который выводит кодер 222 низкой полосы, также может быть предоставлен в кодер 228 высокой полосы. Кодер 228 высокой полосы может кодировать сигнал 220 высокой полосы в соответствии с информацией сигнала 226 возбуждения низкой полосы, генерируя, таким образом, кодированный сигнал 230 высокой полосы.
На фиг.3 иллюстрируется кодер 228 высокой полосы. Как описано выше, сигнал 226 возбуждения низкой полосы может быть предоставлен в кодер 228 высокой полосы. Кодер 228 высокой полосы может включать в себя генератор 332 возбуждения высокой полосы. Генератор 332 возбуждения высокой полосы может выводить сигнал 334 возбуждения высокой полосы из сигнала 226 возбуждения низкой полосы.
Конечное количество битов доступно для представления амплитуды сигналов в широкополосном кодере 212, таких как входящий широкополосный речевой сигнал 214 и сигнал 226 возбуждения низкой полосы. Точность, с которой эти сигналы могут быть представлены, может быть прямо пропорциональна количеству битов, которые используют для их представления. Термин "амплитуда", используемый здесь, может относиться к любому значению амплитуды массива значений амплитуды. Например, термин "амплитуда" может относиться к максимальному и абсолютному значениям элементов массива значений амплитуды.
Генератор 332 возбуждения высокой полосы может выполнять множество арифметических операций по сигналу 226 возбуждения низкой полосы (или, как поясняется ниже, нормализованной версии 336 сигнала 226 возбуждения низкой полосы) для генерирования сигнала 334 возбуждения высокой полосы. При выполнении, по меньшей мере, некоторых из таких арифметических операций для сигнала 226 возбуждения низкой полосы генератор 332 возбуждения высокой полосы может использовать N старших значимых битов (MSB, СЗБ) сигнала 226 возбуждения низкой полосы. Другими словами, если М битов используют для представления амплитуды сигнала 226 возбуждения низкой полосы, генератор 332 возбуждения высокой полосы может отбрасывать M-N младших значимых битов (LSB, МЗБ) из сигнала 226 возбуждения низкой полосы и может использовать N MSB сигнала 226 возбуждения низкой полосы для выполняемых арифметических операций.
Речь человека может быть классифицирована множеством различных способов. Некоторая классификация речи может включать в себя голосовую речь, не голосовые звуки, переходную речь и интервалы тишины/фоновых шумов во время пауз между словами. В определенных обстоятельствах (например, для не голосовых звуков, переходной речи и интервалов тишины/фоновых шумов) амплитуда широкополосного речевого сигнала 214 может быть относительно низкой. Термин сигнал низкого уровня можно использовать здесь для обозначения широкополосного речевого сигнала 214, который имеет относительно низкую амплитуду. В случае когда входящий широкополосный речевой сигнал 214 является сигналом низкого уровня, амплитуда сигнала 226 возбуждения низкой полосы может быть полностью представлена или, по меньшей мере, в основном представлена в пределах LSB доступных битов. Если LSB будут отброшены генератором 332 возбуждения высокой полосы, может произойти существенная потеря точности, с которой будет представлен сигнал 226 возбуждения низкой полосы. В крайнем случае сигнал 226 возбуждения низкой полосы может быть аппроксимирован как ноль генератором 332 возбуждения высокой полосы.
Для того чтобы решить данную проблему и потенциально уменьшить потерю точности, кодер 228 высокой полосы может включать в себя нормализатор 338 сигнала. Нормализатор 338 сигнала может нормализовать сигнал 226 возбуждения низкой полосы, получая, таким образом, нормализованный сигнал 336 возбуждения низкой полосы. Дополнительные детали работы нормализатора 338 сигнала при нормализации сигнала 226 возбуждения низкой полосы будут описаны ниже.
Сигнал 226 возбуждения низкой полосы может быть нормализован на основе коэффициента 344 нормализации. Коэффициент 344 нормализации, в качестве альтернативы, может называться Q коэффициентом 344. Коэффициент 344 нормализации может быть выбран для предотвращения насыщения, как будет описано ниже. Компонент, который определяет коэффициент 344 нормализации, может называться компонентом 346 определения коэффициента.
Сигнал 226 возбуждения низкой полосы может быть разделен на множество кадров. Термин "текущий кадр" может относиться к кадру, который обрабатывают в настоящее время с помощью широкополосного кодера 212. Термин "предыдущий кадр" может относиться к кадру сигнала 226 возбуждения низкой полосы, который был обработан непосредственно перед текущим фреймом.
Нормализация может быть выполнена на покадровой основе. Таким образом, разные коэффициенты 344 нормализации могут быть определены для разных кадров сигнала 226 возбуждения низкой полосы. Поскольку коэффициент 344 нормализации может меняться с течением времени, то тип нормализации, которая может быть выполнена нормализатором 338 сигнала и регулятором 340 коэффициента нормализации состояния фильтров, может называться динамической нормализацией.
После того как будет определен коэффициент 344 нормализации текущего кадра и сигнала 226 возбуждения низкой полосы, нормализатор 338 сигнала может нормализовать текущий кадр сигнала 226 возбуждения низкой полосы на основе коэффициента 344 нормализации. Нормализация сигнала 226 возбуждения низкой полосы может содержать сдвиг влево битов сигнала 226 возбуждения низкой полосы на величину, которая соответствует коэффициенту 344 нормализации.
В некоторых вариантах осуществления коэффициент 344 нормализации может быть отрицательным. Например, после первоначального определения коэффициента 344 нормализации определенная величина (например, 1) может быть вычтена из исходного значения коэффициента 344 нормализации в качестве защиты для предотвращения насыщения. Это может называться обеспечением "запаса". В случае когда коэффициент 344 нормализации отрицательный, сдвиг влево на отрицательный коэффициент 344 нормализации может быть таким же, как и сдвиг вправо на соответствующее положительное число.
Кроме того, может быть предусмотрен регулятор 340 коэффициента нормализации состояний фильтра. Регулятор 340 коэффициента нормализации состояний фильтра может регулировать коэффициент нормализации состояний 342 фильтра на основе определяемого коэффициента 344 нормализации. Регулировка коэффициента нормализации состояний 342 фильтра может содержать сдвиг влево битов состояний 342 фильтра на величину, которая соответствует разности между коэффициентом 344 нормализации, который был определен для текущего кадра сигнала 226 возбуждения низкой полосы, и коэффициентом 344 нормализации, который был определен для предыдущего кадра сигнала 226 возбуждения низкой полосы. Такая операция переводит состояния 342 фильтра к тому же коэффициенту 344 нормализации, как и у нормализованного сигнала 336 возбуждения низкой полосы, что может способствовать выполняемым операциям фильтрации.
После определения коэффициента 344 нормализации, нормализации текущего кадра сигнала 226 возбуждения низкой полосы и регулирования коэффициента нормализации состояний 342 фильтра генератора 332 возбуждения высокой полосы генератор 332 возбуждения высокой полосы может получать сигнал 334 возбуждения высокой полосы из нормализованного сигнала 336 возбуждения низкой полосы. Это может включать в себя выполнение операции фильтрации по нормализованному сигналу 336 возбуждения низкой полосы, используя отрегулированные состояния 342 фильтра, оба из которых имеют коэффициент 344 нормализации.
(M-1)
M
15
15
Коэффициент 344 нормализации для текущего кадра сигнала 226 возбуждения низкой полосы можно выбирать таким образом, чтобы не возникало насыщение. Возможны несколько путей возникновения насыщения. Например, насыщение может возникнуть в результате сдвига влево битов сигнала 226 возбуждения низкой полосы до такой степени, когда сигнал возбуждения низкой полосы выходит за пределы диапазона, причем диапазон задан количеством битов, используемых для представления сигнала возбуждения низкой полосы. В описанном выше примере предполагалось, что М битов используют для представления сигнала 226 возбуждения низкой полосы. В этом случае максимальное значение сигнала 226 возбуждения низкой полосы при использовании арифметики дополнения до 2 со знаком может представлять собой 2-1, и минимальное значение может представлять собой -2. Если М=16 (то есть если 16 битов используют для представления сигнала 226 возбуждения низкой полосы), максимальное значение сигнала 226 возбуждения низкой полосы при использований арифметики дополнения до 2 со знаком может составлять 2-1, или 32767, и минимальное значение может составлять -2, или -32768. В этой ситуации насыщение может возникнуть, если биты сигнала 226 возбуждения низкой полосы будут сдвинуты влево таким образом, что значение сигнала 226 возбуждения низкой полосы превысит 32767 (для положительных чисел) или станет меньше чем -32768 (для отрицательных чисел). Коэффициент 344 нормализации может быть определен таким образом, чтобы насыщение этого типа не возникало. Таким образом, коэффициент 344 нормализации может зависеть от амплитуды текущего кадра сигнала 226 возбуждения низкой полосы. В соответствии с этим текущий кадр сигнала 226 возбуждения низкой полосы может быть предусмотрен для компонента 346 определения коэффициента и может использоваться для определения коэффициента 344 нормализации.
В качестве другого примера насыщение может возникать в результате сдвига влево битов состояний 342 фильтра генератора 332 возбуждения высокой полосы до такой степени, когда состояния фильтра выходят за пределы диапазона. Как описано в представленном выше примере, если M=16, этот диапазон задан по набору чисел, которые попадают в категорию чисел не больше чем +32767 и не меньше чем -32768. Коэффициент 344 нормализации может быть определен таким образом, чтобы этого не происходило. Когда коэффициент нормализации состояний 342 фильтра регулируют, значения состояний 342 фильтра могут зависеть от операций фильтрации, которые выполняли по предыдущему кадру нормализованного сигнала 336 возбуждения низкой полосы. Таким образом, коэффициент 344 нормализации может зависеть от значений состояний 342 фильтра после выполнения операции фильтрации по предыдущему кадру нормализованного сигнала 336 возбуждения низкой полосы. В соответствии с этим информация 348 о значениях состояний 342 фильтра после операций фильтрации, которые были выполнены по предыдущему кадру нормализованного сигнала 336 возбуждения низкой полосы, может быть предоставлена в компонент 346 определения коэффициента и может использоваться для определения коэффициента 344 нормализации.
Каждый кадр сигнала 226 возбуждения низкой полосы может быть нормализован таким образом, как описано выше. Более конкретно, для каждого кадра сигнала 226 возбуждения низкой полосы может быть определен коэффициент 344 нормализации. Текущий кадр сигнала 226 возбуждения низкой полосы может быть нормализован на основе коэффициента 344 нормализации, который определен для этого кадра. Кроме того, коэффициент нормализации состояний 342 фильтра можно регулировать на основе коэффициента 344 нормализации, который определен для этого кадра. Эти этапы (то есть определение коэффициента 344 нормализации путем нормализации текущего кадра сигнала 226 возбуждения низкой полосы и регулировки коэффициента 342 нормализации состояний фильтра) можно выполнять для каждого кадра сигнала 226 возбуждения низкой полосы.
На фиг.4 иллюстрируется компонент 346 определения коэффициента. Как описано выше, компонент 346 определения коэффициента может определять коэффициент 344a нормализации для текущего кадра сигнала 226 возбуждения низкой полосы.
Как описано выше, текущий кадр сигнала 226 возбуждения низкой полосы может предоставляться в компонент 346 определения коэффициента. Текущий кадр сигнала 226 возбуждения низкой полосы можно анализировать для определения оптимального значения для коэффициента 344a нормализации для текущего кадра сигнала 226 возбуждения низкой полосы. (Оптимальное значение помечено ссылочной позицией 450 на фиг.4, и ниже ссылка на него будет сделана как на оптимальное значение 450.) Компонент, который реализует эти функции, может называться компонентом 452 определения оптимального значения.
Оптимальное значение 450 для коэффициента 344 нормализации может быть определено на основе амплитуды текущего кадра сигнала 226 возбуждения низкой полосы. Поскольку сигнал 226 возбуждения низкой полосы текущего кадра содержит массив чисел, оптимальное значение 450 коэффициента 344 нормализации может относиться к количеству битов максимума абсолютного значения массива чисел, который может быть сдвинутым влево без возникновения насыщения, и также называется коэффициентом нормализации блока. Оптимальное значение 450 для коэффициента 344 нормализации может указывать, в какой степени биты текущего кадра сигнала 226 возбуждения низкой полосы могут быть сдвинутыми влево без возникновения насыщения.
Как описано выше, информация 348 о значениях состояний 342 фильтра после выполнения операции фильтрации по предыдущему кадру нормализованного сигнала 336 возбуждения низкой полосы также может быть предоставлена в компонент 346 определения коэффициента. Эту информацию 348 можно использовать для определения коэффициента 454 масштабирования для состояний 342 фильтра генератора 332 возбуждения верхней полосы. Компонент, который реализует такие функции, можно назвать компонентом 456 определения коэффициента масштабирования.
Коэффициент 454 масштабирования может быть определен на основе информации 348 состояний фильтра, которая была принята. Коэффициент 454 масштабирования может указывать, в какой степени биты состояний 342 фильтра могут быть сдвинуты влево без возникновения насыщения. Процедура получения такого коэффициента 454 масштабирования может быть аналогична описанной выше процедуре определения оптимального значения 450 коэффициента 344 нормализации, массив чисел в данном случае является состояниями фильтра, где состояния фильтра могут быть состояниями других фильтров.
В некоторых вариантах осуществления некоторые состояния фильтра могут иметь двойную точность (DP (ДТ), 32 бита), и некоторые состояния фильтра могут иметь одиночную точность (SP (ОТ), 16 битов). В таких вариантах осуществления может быть получен коэффициент нормализации блока для состояний фильтра с двойной точностью. Такой коэффициент нормализации блока затем может быть уменьшен по масштабу с коэффициентом два для того, чтобы перевести его в область одиночной точности. Затем может быть определено, какой из коэффициентов нормализации блока между этим масштабированным с уменьшением коэффициентом нормализации блока с двойной точностью и коэффициентом нормализации блока состояний фильтра с одиночной точностью является наименьшим. Наименьший коэффициент нормализации блока можно затем вывести в качестве коэффициента 454 масштабирования. В этом конкретном примере термины текущий коэффициент 344a нормализации кадра и коэффициент 344b нормализации предыдущего кадра относятся к коэффициенту нормализации в области единичной точности. Регулятор 340 коэффициента нормализации состояний фильтра выполняет масштабирование с увеличением с коэффициентом два разности между коэффициентом 344 нормализации, который был определен для текущего кадра сигнала 226 возбуждения нижней полосы, и коэффициентом 344 нормализации, который был определен для предыдущего кадра сигнала 226 возбуждения низкой полосы перед сдвигом влево битов состояний 342 фильтра с двойной точностью.
Условие насыщения может быть оценено. Компонент, который реализует такую функцию, можно назвать компонентом 458 оценки условия. Условие насыщения может зависеть от оптимального значения 450 для коэффициента 344a нормализации текущего кадра сигнала 226 возбуждения низкой полосы. Условие насыщения также может зависеть от коэффициента 454 масштабирования для состояний 342 фильтра генератора 332 возбуждения высокой полосы.
Условие насыщения также может зависеть от коэффициента 344b нормализации для предыдущего кадра сигнала 226 возбуждения низкой полосы. Коэффициент 344b нормализации для предыдущего кадра сигнала 226 возбуждения низкой полосы может указывать, в какой степени биты предыдущего кадра сигнала 226 возбуждения низкой полосы были сдвинуты перед выполнением операций фильтрации для предыдущего кадра нормализованного сигнала 336 возбуждения низкой полосы.
Оцениваемое условие насыщения может быть выражено следующим образом:
Qinp - prev_Qinp > Q_states
(1)
В уравнении (1) член Qinp может относиться к оптимальному значению 450 для коэффициента 344a нормализации для текущего кадра сигнала 226 возбуждения низкой полосы. Член prev_Qinp может относиться к коэффициенту 344b нормализации для предыдущего кадра сигнала 226 возбуждения низкой полосы. Член Q_states может относиться к коэффициенту 454 масштабирования для состояний 342 фильтра.
Если будет определено, что условие насыщения не удовлетворяется, этот результат можно интерпретировать как означающий, что установка коэффициента 344a нормализации равным определенному оптимальному значению 450 не будет создавать насыщение. В этом случае определение коэффициента 344a нормализации для текущего кадра сигнала 226 возбуждения низкой полосы может включать в себя установку коэффициента 344a нормализации, который равен определенному оптимальному значению 450.
Если будет определено, что условие насыщения удовлетворяется, этот результат можно интерпретировать как означающий, что установка коэффициента 344a нормализации равным определенному оптимальному значению 450 вызовет насыщение. В этом случае определение коэффициента 344a нормализации для текущего кадра сигнала 226 возбуждения низкой полосы может включать в себя установку коэффициента 344a нормализации, равного prev_Qinp + Q_states. В этом выражении члены Qinp, prev_Qinp и Q_states могут иметь то же значение, которое было описано выше в связи с уравнением (1). Следовательно, коэффициент 344a нормализации может быть задан выражением MIN (Q_inp, prev_Qinp + Q_states).
На фиг.5 иллюстрируется широкополосный декодер 560. Широкополосный декодер 560 может быть реализован в виде устройства, которое может использоваться в системе 100 беспроводной связи. Такое устройство может представлять собой мобильный телефон, карманный персональный компьютер (КПК), портативный компьютер, цифровую камеру, музыкальный проигрыватель, игровое устройство или любое другое устройство с процессором. Устройство может функционировать как мобильная станция 102 или как базовая станция 104 в системе 100 беспроводной связи.
Кодированный сигнал 524 (или 224) низкой полосы может быть представлен в широкополосный декодер 560. Широкополосный декодер 560 может включать в себя декодер 562 низкой полосы. Декодер 562 низкой полосы может декодировать кодированный сигнал 524 низкой полосы, получая, таким образом, декодированный сигнал 518 низкой полосы. Декодер 562 низкой полосы также может выводить сигнал 526 возбуждения низкой полосы.
Кодированный сигнал 530 (или 230) высокой полосы также может быть представлен в широкополосный декодер 560. Широкополосный декодер 560 может включать в себя декодер 564 высокой полосы. Кодированный сигнал 530 высокой полосы может быть представлен в декодер 564 высокой полосы. Сигнал 526 возбуждения низкой полосы, который выводит декодер 562 низкой полосы, также может быть представлен в декодере 564 высокой полосы. Декодер 564 высокой полосы может декодировать кодированный сигнал 530 высокой полосы в соответствии с информацией, содержащейся в сигнале 526 возбуждения низкой полосы, получая, таким образом, декодированный сигнал 520 высокой полосы.
Широкополосный декодер 560 также может включать в себя гребенку 516 фильтров синтеза. Декодированный сигнал 518 низкой полосы, который выводит декодер 562 низкой полосы, и декодированный сигнал 520 высокой полосы, который выводит декодер 564 высокой полосы, могут быть предоставлены в гребенку 516 фильтров синтеза. Гребенка 516 фильтров синтеза может комбинировать декодированный сигнал 518 низкой полосы и декодированный сигнал 520 высокой полосы для получения широкополосного речевого сигнала 514.
Декодер 564 высокой полосы может включать в себя некоторые из идентичных компонентов, которые были описаны выше со ссылкой на кодер 228 высокой полосы. Например, декодер 564 высокой полосы может включать в себя генератор 332 возбуждения высокой полосы, нормализатор 338 сигнала, регулятор 340 коэффициента нормализации состояний фильтра и компонент 346 определения коэффициента. (Эти компоненты не показаны на фиг.5.) Работа этих компонентов может быть аналогична или идентична работе соответствующих компонентов, которые были описаны выше со ссылкой на кодер 228 высокой полосы. Таким образом, методы, описанные выше для динамической нормализации сигнала 226 возбуждения низкой полосы в контексте широкополосного кодера 212, также можно применять для сигнала 526 возбуждения низкой полосы, который показан на фиг.5 в контексте широкополосного декодера 560.
На фиг.6 иллюстрируется способ 600 динамической нормализации для понижения потерь точности для сигналов низкого уровня. Способ 600 может осуществляться широкополосным кодером 212 в мобильной станции 102 или в базовой станции 104 в системе 100 беспроводной связи. В качестве альтернативы, способ 600 может осуществляться широкополосным декодером 560 в мобильной станции 102 или в базовой станции 104 в системе 100 беспроводной связи.
В соответствии со способом 600 текущий кадр сигнала 226 возбуждения низкой полосы может быть принят на этапе 602. Коэффициент 344 нормализации для текущего кадра сигнала 226 возбуждения низкой полосы может быть определен на этапе 604. Коэффициент 344 нормализации может зависеть от амплитуды текущего кадра сигнала 226 возбуждения низкой полосы. Коэффициент 344 нормализации также может зависеть от значений состояний 342 фильтра генератора 332 возбуждения высокой полосы после выполнения операций фильтрации для предыдущего кадра нормализованного сигнала 336 возбуждения низкой полосы.
Текущий кадр сигнала 226 возбуждения низкой полосы может быть нормализован на этапе 606 на основе коэффициента 344 нормализации, который определяют на этапе 604. Кроме того, коэффициент нормализации состояний фильтра генератора 332 возбуждения высокой полосы может регулироваться на этапе 608 на основе коэффициента 344 нормализации, который определяют на этапе 604.
На фиг.7 иллюстрируется способ 700 определения коэффициента 344a нормализации для текущего кадра сигнала 226 возбуждения низкой полосы. (Ссылочная позиция 344a относится к коэффициенту 344a нормализации для текущего кадра, и ссылочная позиция 344b относится к коэффициенту 344b нормализации для предыдущего кадра.) Способ 700 может быть осуществлен с помощью широкополосного кодера 212 в мобильной станции 102 или в базовой станции 104 в системе 100 беспроводной связи. В качестве альтернативы, способ 700 может быть осуществлен с помощью широкополосного декодера 560 в мобильной станции 102 или в базовой станции 104 в системе 100 беспроводной связи.
В соответствии со способом 700 оптимальное значение 450 для коэффициента 344a нормализации текущего кадра сигнала 226 возбуждения низкой полосы может быть определено на этапе 702. Оптимальное значение 450 коэффициента нормализации 344a может указывать, в какой степени биты текущего кадра сигнала 226 возбуждения низкой полосы могут быть сдвинуты влево без возникновения насыщения.
Коэффициент 454 масштабирования для состояний 342 фильтра генератора 332 возбуждения высокой полосы может быть определен на этапе 704. Коэффициент 454 масштабирования может указывать, в какой степени биты состояний 342 фильтра могут быть сдвинуты влево без возникновения насыщения.
Условие насыщения может быть оценено на этапе 706. Условие насыщения может зависеть от оптимального значения 450 коэффициента 344a нормализации для текущего кадра сигнала 226 возбуждения низкой полосы. Условие насыщения также может зависеть от коэффициента 454 масштабирования для состояний 342 фильтра генератора 332 возбуждения высокой полосы. Условие насыщения также может зависеть от коэффициента 344b нормализации для предыдущего кадра сигнала 226 возбуждения низкой полосы.
Если на этапе 706 будет определено, что условие насыщения не удовлетворяется, этот результат можно интерпретировать как означающий, что установка коэффициента 344 нормализации равным оптимальному значению 450, которое было определено на этапе 702, не будет вызывать насыщение. В соответствии с этим коэффициент 344 нормализации для текущего кадра сигнала 226 возбуждения низкой полосы может быть установлен на этапе 708 равным оптимальному значению 450, которое было определено на этапе 702.
Если на этапе 706 будет определено, что условие насыщения удовлетворяется, этот результат можно интерпретировать как означающий, что установка коэффициента 344 нормализации равным оптимальному значению 450, которое было определено на этапе 702, вызовет насыщение. В соответствии с этим коэффициент 344a нормализации для текущего кадра сигнала 226 возбуждения низкой полосы может быть установлен на этапе 710 равным prev_Qinp + Q_states. Как описано выше, член prev_Qinp может относиться к коэффициенту 344b нормализации для предыдущего кадра сигнала 226 возбуждения низкой полосы. Член Q_states может относиться к коэффициенту масштабирования для состояний 342 фильтра.
На фиг.8 иллюстрируются различные компоненты, которые можно использовать в устройстве 801 связи. Устройство 801 связи может включать в себя процессор 803, который управляет работой устройства 801. Процессор 803 также можно назвать CPU (ЦПУ). Запоминающее устройство 805, которое может включать в себя как постоянное запоминающее устройство (ROM, ПЗУ), так и оперативное запоминающее устройство (RAM, ОЗУ), предоставляет инструкции и данные в процессор 803. Часть запоминающего устройства 805 может также включать в себя энергонезависимое оперативное запоминающее устройство (NVRAM, ЭНОЗУ).
Устройство 801 связи также может включать в себя корпус 809, который может включать в себя передатчик 811 и приемник 813, которые обеспечивают возможность передачи и приема данных между устройством 801 связи и удаленным местоположением. Передатчик 811 и приемник 813 могут быть скомбинированы в приемопередатчике 815. Антенна 817 может быть закреплена на корпусе 809 и может быть электрически соединена с приемопередатчиком 815.
Устройство 801 связи также может включать в себя детектор 807 сигнала, который можно использовать для детектирования и квантования уровня сигналов, принимаемых приемопередатчиком 815. Детектор 807 сигнала может детектировать такие сигналы как суммарную энергию, энергию пилотного сигнала по псевдошумовым (PN, ПШ) элементарным сигналам, спектральную плотность мощности и другие сигналы.
Модуль 819 изменения состояния устройства 801 связи может управлять состоянием устройства 801 связи на основе текущего состояния и дополнительных сигналов, принятых приемопередатчиком 815 и детектированных детектором 807 сигнала. Устройство 801 связи может быть выполнено с возможностью работы в любом одном из множества состояний. Устройство 801 связи также может включать в себя системный определитель 821, который можно использовать для управления устройством 801 и для определения, в какую систему, предоставляющую услугу, устройство 801 должно перейти, когда оно определяет, что текущая система, предоставляющая услугу, является неподходящей.
Различные компоненты устройства 801 связи могут быть соединены вместе с помощью системы 823 шины, которая может включать в себя шину питания, шину сигнала управления и шину сигнала состояния в дополнение к шине передачи данных. Однако для ясности различные шины представлены на фиг.8 как система 823 шины. Устройство 801 связи также может включать в себя цифровой сигнальный процессор (DSP) 825, предназначенный для использования при обработке сигналов.
Информация и сигналы могут быть представлены с использованием любой из множества различных технологий и методов. Например, данные, инструкции, команды, информация, сигналы и т.п., на которые могла быть сделана ссылка в приведенном выше описании, могут быть представлены напряжениями, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами или любой их комбинацией.
Различные иллюстративные логические блоки, модули, цепи, способы и этапы алгоритма, раскрытые здесь, могут быть осуществлены в виде аппаратных средств, программных средств или с использованием обоих этих подходов. Для того чтобы ясно представить возможность такой взаимной замены аппаратных средств и программных средств, различные иллюстративные компоненты, блоки, модули, цепи и этапы были описаны выше, в общем, в терминах их функциональных возможностей. Осуществление таких функциональных возможностей либо в виде аппаратного, либо программного средства зависит от конкретного варианта осуществления и конструктивных ограничений, наложенных на всю систему. Специалисты в данной области техники могут воплотить описанные функциональные возможности различными способами для каждого конкретного варианта применения, но такие решения в отношении осуществления не следует интерпретировать как ограничение объема формулы изобретения.
Различные иллюстративные логические блоки, модули и цепи, описанные выше, могут быть осуществлены или выполнены с помощью процессора общего назначения, цифрового сигнального процессора (DSP), специализированной интегральной микросхемы (ASIC, СИМС), программируемой вентильной матрицы сигнала (FPGA, ПВМС) или другого программируемого логического устройства, дискретных ключей или транзисторной логики, дискретных аппаратных компонентов или любой их комбинации, разработанной для выполнения описанных здесь функций. Процессор общего назначения может представлять собой микропроцессор, но в качестве альтернативы, процессор может представлять собой контроллер, микроконтроллер или конечный автомат. Процессор также может быть реализован как комбинация вычислительных устройств, например комбинация DSP и микропроцессора, множества микропроцессоров или одного или большего количества микропроцессоров совместно с ядром DSP или любая другая такая конфигурация.
Способы, раскрытые здесь, могут быть осуществлены в виде аппаратных средств, в виде программных средств или с использованием обоих этих подходов. Программное средство может находиться в любой форме носителя информации, который известен в данной области техники. Некоторые примеры носителей информации, которые можно использовать, включают в себя оперативное запоминающее устройство, флэш-память, постоянное запоминающее устройство, запоминающее устройство EPROM (СППЗУ, стираемое программируемое постоянное запоминающее устройство), запоминающее устройство EEPROM (ЭСППЗУ, электрически стираемое программируемое постоянное запоминающее устройство), регистры, жесткий диск, съемный диск, оптический диск и т.д. Программные средства могут содержать одну инструкцию или множество инструкций и могут быть распределены по нескольким различным сегментам кода, разным программам и по множеству разных носителей записи. Носитель записи может быть соединен с процессором таким образом, чтобы процессор мог считывать информацию с него и записывать информацию на носитель записи. В качестве альтернативы, носитель записи может быть выполнен интегрально с процессором.
Способы, раскрытые здесь, могут содержать один или больше этапов или действий, предназначенных для достижения описанного способа. Этапы способа и/или действия можно взаимно заменять друг другом без выхода за пределы объема формулы изобретения. Другими словами, если только не будет указан конкретный порядок этапов или действий, порядок и/или использование конкретных этапов и/или действий можно модифицировать без выхода за пределы объема формулы изобретения.
Хотя были представлены и описаны конкретные свойства, аспекты и конфигурации, следует понимать, что формула изобретения не ограничивается точной конфигурацией и компонентами, представленными выше. Различные модификации, изменения и варианты можно выполнить в компоновке, работе и деталях свойств, аспектов и конфигураций, описанных выше, без выхода за пределы объема формулы изобретения.