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

Реферат

 

Декодер Витерби для восстановления потока исходных информационных битов, которые были сверхточно закодированы как поток кодовых символов в системе подвижной связи с многостанционным доступом с кодовым разделением (СДМА). Декодер одновременно декодирует при различных скоростях передачи данных, связанных с многоскоростными вокодерами, а также может декодировать при неизвестной скорости передачи данных либо в непрерывном режиме, либо в режимах синхронизированных пакетов. При этом декодер осуществляет одновременное декодирование при многих скоростях и создание одной или более метрик качества данных для каждого пакета декодированных данных. Входной буфер содержит логику выбора и накапливания для организации информационных кодов в пакеты для осуществления режима повтора или случайного пакетного режима при более низких скоростях передачи циклов данных. Пакеты декодированных данных для каждого из нескольких заранее определенных скоростей передачи данных удерживаются в выходном буфере в течение примерно половины цикла декодирования, что позволяет микропроцессору системы выбрать соответствующий пакет декодированных данных. Декодер кроме этого может работать с одним из нескольких заранее определенных сверхточных алгоритмов кодирования. Декодер Витерби, выполненный в виде единой монолитной интегральной микросхемы, может быть использован в одном или всех различных каналах многопользовательской связи. Технический результат, достигаемый при реализации изобретения, состоит в осуществлении декодирования в реальном времени для передачи последовательности циклов, имеющих одну из совокупности заранее заданных скоростей передачи данных, которая может меняться от цикла к циклу без передачи информации о скорости. 8 с. и 12 з.п. ф-лы, 16 ил., 2 табл.

ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ Эта заявка связана с находящейся на рассмотрении заявкой на патент, озаглавленной "Способ и устройство для определения скорости передачи данных, передаваемых с переменной скоростью в приемнике", поданной с серийным 08/079.196 18 июня 1993 года, Батлером (Butler) и др., и принадлежащей настоящему заявителю. Эта заявка включена сюда как ссылка.

ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ 1. Область применения настоящего изобретения Настоящее изобретение относится, в общем, к системам для декодирования последовательных потоков данных в канале с шумом и, более конкретно, к декодеру сверточных кодов Витерби для последовательного декодирования при различных, заранее определенных скоростях передачи данных.

2. Описание области техники В области техники цифровой связи хорошо известно, что данные могут передаваться последовательно как непрерывным образом, так и в циклах с постоянной длительностью Т во времени, каждый цикл содержит фиксированное количество битов N, которое ограничено произведением скорости последовательной передачи и длительностью цикла Т. Однако в конкретных системах связи необходимо передавать меньше, чем N данных, в течение выбранных циклов. Одна из таких систем это система передачи с многостанционным доступом с кодовым делением (СDМА), в которой используется техника расширения спектра последовательности для непосредственной модуляции несущей.

В патенте США 5103459 настоящего заявителя на имя Klein S.Gilhousen и др. описана подобная СDМА система для использования в сотовой связи. Патент 5103459 упомянут в качестве ссылки, полностью относящейся к области техники. В системе СDМА объем системы ограничен общими помехами в пределах передаваемой полосы частот. Общие помехи состоят из сигналов других пользователей, которые состоят в основном из данных вокодера (речи, преобразованной в цифровую форму). Для уменьшения уровня пользовательских помех как можно в большей степени в системе СDМА, описанной Gilhousen и др., используются данные вокодера, передаваемые с переменной скоростью и приспособленные для передачи в циклах данных с фиксированной длительностью во времени.

При некоторых сниженных скоростях передачи данных вокодера предоставляется некоторый запас в цикле данных для поддержки передачи данных посредством всего цикла. Таким образом, для цикла, в котором уменьшена полная скорость передачи данных, количество повторяемых символов исходных данных меньше, чем N, что необходимо для заполнения цикла N символами. Хотя повторение данных, передаваемых с меньшей скоростью, вызывает помехи того же уровня, что и при полной скорости передачи данных при одинаковой мощности передачи, но вспомогательная информация в цикле позволяет уменьшить передаваемую мощность в соответствии с эквивалентной "информационной мощностью" или энергией на символ. Эта техника позволяет уменьшить уровень помех, тем самым увеличивая емкость системы настолько, насколько позволяют резервы вокодера.

В качестве альтернативы повторения данных при меньшей мощности данные могут передаваться с меньшей скоростью один раз в пределах одного цикла без уменьшения мощности передачи. Эта техника позволяет осуществить передачу полной мощности во время разделения цикла и не осуществлять передачу во время неиспользуемой части цикла. Блок данных, который должен передаваться в цикле, может просто помещаться в начало цикла или в любую другую заранее определенную позицию цикла. Однако в многопользовательской системе CDMA необходима более сложная процедура помещения блоков для равномерного распределения помех со стороны многих других пользователей во всем цикле. Ненужное перехлестывание при передаче данных многими пользователями неприемлемо повышает уровень помех системы сверх оптимального среднего уровня.

В патентной заявке США с серийным номером 07/846.312, поданной 5 марта 1992 года и озаглавленной "Рандомизатор пакета данных" на имя Gilhousen и др. , принадлежащей настоящему заявителю описана усложненная процедура расположения блока для гарантии минимальных уровней помех в пределах полного цикла, и эта заявка на патент включена в качестве ссылки, полностью относящейся к области техники.

Пример системы СDМА может быть понят после рассмотрения "ПРЕДЛАГАЕМОГО EIA/TIA ВРЕМЕННОГО СТАНДАРТА: СТАНДАРТ СОВМЕСТИМОСТИ СТАНЦИИ, ОСНОВАННОЙ НА ДВУМОДНОЙ ПОДВИЖНОЙ СТАНЦИИ ШИРОКОПОЛОСНОЙ, С РАСШИРЕННЫМ СПЕКТРОМ ЦИФРОВОЙ СОТОВОЙ СИСТЕМЫ" Qualcomm, Inc., San Diego, California, апрель 21, 1992 год. Этот стандарт CDMA системы определяет пять основных режимов передачи данных канала для трафика связи как в прямом, так и в обратном направлении. Здесь имеется три режима прямой связи и два режима обратной связи. В зависимости от конкретного режима канала передачи данных определяется один из двух разных алгоритмов сверточного кодирования. Два из этих режимов непрерывные режимы, а три из них это пакетные режимы, где последовательные данные организуются в фиксированные интервалы цикла. Три режима работают только при одной из нескольких заранее определенных скоростях передачи данных, а два режима работают от цикла к циклу при одной из четырех различных заранее определенных скоростях.

Это разнообразие скоростей передачи данных и режимов каналов порождает потребность в какой-либо единой аппаратуре декодирования. Проблема становится более сложной из-за того, что последовательное кодирование в канале с широким спектром происходит в реальном времени. То есть принятый сигнал должен быть продетектирован, перекомпонован и декодирован в реальном времени. Не имеется пространства цикла, пригодного для передачи информации о исходной скорости передачи данных вокодера. Имеется весьма небольшая возможность рассмотрения принятого сигнала для нескольких возможных скоростей передачи данных для определения, какая из конкретных скоростей должна быть декодирована для каждого нового цикла. Кроме этого, желательно использовать одно и то же устройство декодирования во всех режимах канала системы для предотвращения быстрого возрастания количества компонентов. В CDМА системе, описанной в упомянутом выше патенте на имя Gilhousen и др. используется ортогональное псевдослучайное шумовое (PN) кодирование, временное уплотнение, двухпозиционная фазовая модуляция (ВРSК) с ортогональным покрытием каждого BPSK символа с одновременным расширением покрытых символов посредством фазовой манипуляции с четвертичными сигналами (QРSК) и сверточного кодирования для исправления ошибок. Каждый из этих многих способов кодирования требует определенного усилия для декодирования на принимающей стороне в каждом режиме канала. Поэтому имеется огромная конкуренция на обладание ресурсами реального времени для последовательного декодирования закодированных сверточных символов, передаваемых для исправления ошибок.

Способы декодирования для сверточных кодов хорошо известны в технике и включают алгоритм Витерби коррекции ошибок, разработанный A.J. Viterbi ("Границы ошибок для сверточных кодов и асимптотический оптимальный алгоритм кодирования", IEE Trans. Ihform. Theory, Vol. 11-13, 2, pp. 260-269, апрель 1967 год) и рассмотренный профессионалами, такими как G.D. Forney, Jr. ("Алгоритм Витерби", Proc. of the IEEE, Vol.16, pp. 268-278, 1973) и J.A. Heller и др. ("Декодирование Витерби для спутниковой и космической связи", IEEE trans. Соmmun. Technol., Vol. 11-19, 5, pp. 835-348, октябрь 1971 года).

Профессионалы уже усовершенствовали алгоритм Витерби в ответ на различные конкретные требования. Например, Hirosuke Yamamoto и др. ("Алгоритм декодирования Витерби для сверточных кодов с повторным запросом" IEEE Trans. Inform. , Theory, Vol. 11-26, 5, pp. 540-547, сентябрь 1980 года) рассматривает алгоритм декодирования Витерби с метрикой качества для повторного запроса. Их система предоставляет те же характеристики, когда приемник может использовать канал обратной связи для запроса повторной передачи, что и в случае более длинного сверточного кода, ограниченной длины без обратной связи. Yamamoto и др. добавили одиночный бит качества к выходу декодера, который указывает на "качество цикла". Если оно плохое, то запрашивается повторная передача. Они показали, что функция надежность работы их алгоритма асимптотически в два раза лучше, чем для известного алгоритма Витерби без повторного запроса.

Аналогично, N. Seshadri и др. ("Обобщенный алгоритм Витерби для определения ошибок посредством сверточных кодов", GLOBECOM 89 Dallas, Texas, pp. 1534-1538, Nov. 1989) представили два обобщенных алгоритма Витерби с полезным использованием для речи, закодированной в циклы с фиксированной длительностью. Высокая степень взаимного влияния смежных циклов речи позволяет осуществить полезную оценку содержания цикла на основании смежных циклов в ситуации, когда содержание этого цикла имеет неприемлемые уровни ошибок. Seshadri и др. показали, что может быть получено очень надежное межцикловое резервирование путем добавления битов четности к данным речи для определения ошибок при помощи высокоскоростного внешнего циклического кода блока. Увеличенный цикл затем кодируется внутренним сверточным кодом и весь блок затем модулируется и передается по шумящему каналу. Внутренний обобщенный декодер Витерби передает заранее определенное количество кандидатов для закодированного цикла, только один из которых должен иметь правильную информацию о четности. Если ни один из них не имеет правильную информацию о четности и если информационные биты представляют цикл дискретизированной речи, то может осуществляться внутрицикловая повторная оценка, либо если доступна обратная связь, то осуществляется автоматический запрос на повтор. Если имеется правильная альтернатива среди заранее определенного количества кандидатов, то повторной передачи можно избежать.

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

КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ Настоящее изобретение разрешает указанные выше проблемы путем предоставления последовательного декодера Витерби (SVD), имеющего специальные буферы входа и выхода, выполненные как устройство со сверхвысокой степенью интеграции (VLSI). Процедура Витерби используется для декодирования потока синхронизированных и дискретизированных кодовых символов в непрерывном режиме. Предоставляется несколько выходных метрик качества ("метрики ошибок") для определения скорости передачи данных. Предпочтительное исполнение SVD настоящего изобретения может осуществлять декодирование передаваемых с различными скоростями данных без предварительного предоставления информации о скорости передачи данных.

Целью настоящего изобретения является осуществление автоматического декодирования каждого цикла при одной из совокупности заранее заданных скоростей передачи данных без передачи информации о скорости. SVD настоящего изобретения осуществляет эту цель для каждого из совокупности режимов канала путем создания многократных путей для декодирования каждого цикла при каждой из всевозможных заранее определенных скоростей передачи данных и путем обеспечения "метриками ошибок", для определения исходной скорости передачи данных. Преимуществом SVD настоящего изобретения является то, что с его помощью можно осуществлять декодирование при неизвестной скорости передачи данных цикла из совокупности заранее определенных скоростей передачи данных цикла при условии, что известен сверточный код и известен также режим пакета данных (цикловой или непрерывный). Другим преимуществом SVD настоящего изобретения является то, что получается несколько "метрик ошибок" для всех декодируемых циклов при каждой гипотетической заранее определенной скорости передачи данных для использования при получении исходной скорости передачи данных.

SVD настоящего изобретения предоставляет одну из таких метрик ошибок, путем записи выходного потока декодированных данных, сравнения его с потоком входных кодовых символов для оценки коэффициента ошибок в символах (SER) входного потока. SVD настоящего изобретения может содержать другие метрики ошибок, такие как результаты контроля избыточным циклическим кодом (CRC), а также метрику качества Yamamoto (YQM). Метрика SER осуществляет оценку коэффициента ошибок в принятых кодовых символах. Результаты CRC позволяют определять ошибки в исходных двоичных данных. YQM указывает, что условия оцениваемой ошибки в декодируемом цикле превышают заранее определенный порог. Преимуществом SVD настоящего изобретения является то, что приемник предоставляет одну или более этих "метрик ошибок" в качестве средств для определения исходной скорости данных без приема информации о скорости передачи от передатчика.

Другой целью настоящего изобретения является обеспечение декодирования в одиночном SVD устройстве для всех необходимых режимов канала. SVD настоящего изобретения допускает использование одиночного VLSI устройства для обоих режимов канала как для прямой, так и обратной связи системы CDMA, приведенной в качестве примера. Например, предпочтительное исполнение этого SVD обеспечивает высокую эффективность декодирования, которая приближается к теоретическому пределу для скоростей 1/2 и 1/3 сверточных кодов, имеющих ограниченную длину 9, где данные кодового символа обрабатываются в пакетах данных с N=384 символами (скорость1/2) или N=576 символами (1/3). Пакеты циклов начинающиеся и заканчивающиеся в любом фиксированном состоянии либо непрерывный поток информационных кодовых символов может декодироваться посредством SVD настоящего изобретения. Например, в режиме повтора каналы CDMA действуют так, что каждый символ повторяется по необходимости для заполнения цикла и повторенные символы накапливаются в одиночном символе в SVD настоящего изобретения для уменьшения скорости передачи двоичной информации и мощности. В режиме рандомизатора пакета данных (DBR) и обратной связи CDMA передается только один символ из каждого набора повторяемых символов посредством использования техники расположения псевдослучайного цикла, которая описана в приведенной выше заявке на патент на имя Gilhousen и др. Используя возможность выбора скорости передачи кодов и режимов повтора, SVD настоящего изобретения обрабатывает поток кодовых символов с любой заранее определенной эффективной скоростью передачи данных как в режиме повтора посланного сообщения, так и в обратном режиме DBR.

Еще одной целью настоящего изобретения является отделение внутренней процедуры декодирования от тактирования внешнего канала. SVD настоящего изобретения осуществляет это посредством предоставления устройства для посылки прерывания на микропроцессор канала и посредством предоставления буфера для изолирования микропроцессора от синхронизации цикла системы и для удержания декодированных данных и данных метрики качества. Кроме этого SVD настоящего изобретения содержит входной буфер, который позволяет либо принимать кодовые символы в SVD непрерывно со скоростью приема символов канала, либо передавать их на SVD в виде пакетов в качестве пакетов циклов. Специальные входные и выходные буферы позволяют SVD настоящего изобретения работать независимо от внешнего канала и тактирования микропроцессора. Гибкий интерфейс микропроцессора позволяет использовать SVD с различными системами микропроцессоров.

SVD настоящего изобретения содержит пять основных элементов, как показано на фиг.5. Входной буфер (IB) хранит более одного цикла данных кодового символа. В режиме блокировки это позволяет SVD осуществлять повторную обработку данных столько раз, сколько это необходимо для определения действительной скорости передачи данных в режиме повтора или DBR, используемой для этого цикла канала. Декодер Витерби (VD) принимает кодовые символы мягкого решения от IВ и обрабатывает их в логике добавления-сравнения-выбора, известной в технике. Результаты процесса ACS сохраняются в памяти внутреннего пути внутри VD. Посредством процесса обратного звена, использующего память обратного пути, получается одиночный бит данных каждого набора кодовых символов после осуществления обратного просмотра во времени посредством многих слов решений. Каждый из этих битов одиночных данных совместно с метриками качества такими, как метрика качества Yamamoto (YQM), запоминаются в выходном буфере (OВ), который является третьим элементом SVD настоящего изобретения. В режиме пакета цикла кодовые символы декодируются для четырех различных скоростей и четыре конечных декодированных пакета данных (включая информацию о качестве) запоминаются в OВ и удерживаются в течение примерно половины фиксированной длительности цикла, чтобы позволить микропроцессору осуществить их чтение. Четвертым элементом является блок управления (СВ), который создает все внутренние сигналы синхронизации, необходимые для работы SVD настоящего изобретения. Эти внутренние сигналы синхронизации получаются посредством генератора тактовой частоты CDMA системы и посредством стробирующего сигнала синхронизации внешнего декодера. DVD настоящего изобретения запускается и управляется посредством пятого элемента - интерфейса микропроцессора (MI), который связан с четвертым элементом СВ настоящего изобретения. Данные могут приниматься также и посредством MI.

Вышеупомянутые, а также другие цели, признаки и преимущества настоящего изобретения станут более очевидными после рассмотрения следующего описания, формулы изобретения и прилагаемых чертежей.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ Для более полного понимания настоящего изобретения обратимся теперь к следующему детальному описанию исполнений, как это описано на прилагаемых чертежах, на которых: на фиг. 1 представлена функциональная блок-схема подвижного приемника CDMA; на фиг. 2 представлена функциональная блок-схема приемника платы канала ячейки CDMA; на фиг. 3, которая содержит фиг.3А-3Е, представлено описание пяти типов каналов CDMA; фиг.4 является описанием параметров установки нормального режима CDMA; фиг.5 является функциональной блок-схемой последовательного декодера Витерби (SVD) настоящего изобретения; на фиг. 6, которая содержит фиг.6А-6В, показана теоретическая работа декодера Витерби; фиг. 7 является функциональной блок-схемой входного буфера (1В) настоящего изобретения; на фиг. 8 показано описание выбора символов рандомизатора пакета данных (DBR) для CDMA системы; фиг.9 является функциональной блок-схемой элемента декодера Витерби (VD) настоящего изобретения; фиг. 10 является функциональной блок-схемой выходного буфера (OВ) настоящего изобретения; фиг. 11 является функциональной блок-схемой логики метрики качества Yamamoto (YQM) настоящего изобретения.

ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ИСПОЛНЕНИЙ Проблема декодирования системы CDMA Для описания и рассмотрения настоящее изобретение описано в контексте примера исполнения подвижной системы CDMA, которая описана в патенте на имя указанных выше авторов: Gilhousen и др. Однако необходимо учитывать, что настоящее изобретение можно использовать и для других типов систем связи таких, как системы частной связи (PCS), беспроводная локальная сеть, учрежденческая телефонная станция (PBX) или для других полезных систем связи. Более того, другие системы, использующие другие известные способы модуляции передачи, такие как многостанционный доступ с разделением времени (TDMA), тоже могут использовать настоящее изобретение. Как описано в упомянутом выше патенте на имя авторов: Gilhousen и др. в примере исполнения системы подвижной связи CDMA налагаются некоторые требования на аппаратуру декодирования и соответствующие процедуры, этим требованиям до сих пор не может эффективно удовлетворять известная в технике единая конструкция декодера. Эти требования приведены в сокращенном виде для пояснения.

На фиг. 1 показана блок-схема модема подвижного приемника, предназначенного для системы CDMA. Последовательный декодер Витерби (SVD) 20 настоящего изобретения показан совместно с другими элементами подвижного модема 22. Во время работы RF приемником 24 принимаются сигналы радиочастоты и демодулируются в демодуляторе 26 с участием аналогового процессора 28 и под управлением центрального блока обработки (CPU) 30. Демодулированный поток данных повторно уплотняется в аппаратуре временного уплотнения импульсных сигналов 32, которая вырабатывает поток последовательных символов на входе SVD 34. Сигналы синхронизации, тактирования и сигналы тактового генератора передаются на SVD 20 по соответствующим сигнальным линиям. SVD 20 связан с шиной микропроцессора 36 для связи с вокодером 38, который перекомпоновывает сигналы речи, которые были декодированы посредством SVD 20.

На фиг.2 показан тот же самый SVD 20, связанный с логикой канальной платы модема приемника 40 на стороне ячейки. CPU 42, устройство временного уплотнения импульсных сигналов 44 и демодуляторы 46 с функциональной точки зрения схожи с их соответствующими частями, изображенными на фиг.1. Так же, как и на фиг.1, SVD 20 принимает поток последовательных кодовых символов на входе декодера 34 и передает поток параллельных данных в шину 36 микропроцессора для передачи другим элементам (не показаны) логики 40.

Для CDMA системы, описанной в упомянутом выше патенте авторов Gilhouse и др. , SVD 20 должен работать в любом из пяти основных режимов канала для того, чтобы осуществить все необходимое декодирование данных как прямой, так и обратной линии связи. Эти режимы описаны на фиг.3А-3Е. Во время прямой связи ячейки с подвижным пользователем используются три режима, показанные на фиг. 3А-3С (синхронизации, пэйджинговый и режим трафика). Обратная связь подвижного пользователя с ячейкой использует два режима, показанные на фиг. 3D-3Е (доступ и трафик).

Фиг. 3А описывает параметры модуляции канала синхронизации прямой связи взятого в качестве примера примера. Данные канала синхронизации декодируются из канала, который кодируется сверточным образом при скорости 1/2 (ограниченной длины К=9) и каждый кодовый символ повторяется один раз. Данные передаются со скоростью 4800 символов модуляции в секунду и SVD 20 принимает сверхцикл, содержащий 384 символа модуляции за каждые 80 миллисекунд. Таким образом SVD 20 может быть согласован с фиксированной скоростью 1200 бит/с для этого канала. Исходные информационные биты кодируются как непрерывный поток без контроля избыточными циклическими кодами (CRC) на границах цикла. Эквивалентная скорость передачи двоичных данных равна 1200 бит/с.

На фиг.3В описаны параметры модуляции канала прямого пэйджинга в качестве примера. Данные пэйджингового канала кодируются из канала, который кодируется сверточным образом при скорости 1/2 (К=9) и каждый кодовый символ передается один раз, дважды или четыре раза, в зависимости от исходной скорости передачи двоичных данных. Исходная скорость передачи двоичных данных для этого канала задана и не изменяется от цикла к циклу. Таким образом SVD 20 может быть согласован с фиксированной скоростью передачи двоичных данных для этого канала. Данные передаются со скоростью 19200 символов в секунду и SVD 20 принимает цикл, содержащий 384 символов модуляции в каждые 20 милисекунд. Данные кодируются в непрерывный поток без CRC кодов на границах цикла.

На фиг.3С представлены параметры модуляции канала прямого трафика в качестве примера. Данные канала трафика прямой связи декодируются из канала, который сверточно кодируется при скорости 1/2 (К=9) и каждый кодовый символ передается до девяти раз, в зависимости от исходной скорости передачи двоичных данных, выбранной для каждого цикла вызывающим вокодером. Исходная скорость передачи двоичных данных может изменяться от цикла к циклу под управлением вызывающего вокодера и SVD 20 должен декодировать при любых возможных скоростях для всех циклов, так как эта данная скорость передачи данных не может быть задана. Данные передаются со скоростью 19200 символов модуляции в секунду (сим/с) и SVD 20 принимает новый цикл с 384 символами модуляции в каждые 20 милисекунд. Эти данные кодируются в пакеты, которые начинаются и заканчиваются в нулевом состоянии ("0" биты добавляются в конец каждого цикла до кодирования) и ожидается CRC код в конце каждого пакета из 96 исходных битов и 192 исходных битов. Никакой код CRC не ожидается для более коротких (48 и 24 бита) пакетов, так как ограничение пространства делает CRC довольно дорогим.

На фиг. 3D даны параметры модуляции канала обратного трафика в качестве примера. Данные канала трафика обратной линии декодируются из канала, который сверточно кодируется со скоростью 1/3 (К=9). Каждый кодовый символ повторяется до семи раз (что порождает восемь вариантов), но только один из повторяемых кодовых символов передается в пакете. Синхронизация пакета определяется случайным числом, которое выбирается из последних нескольких битов кода PN для предыдущего цикла. Скорость повторения кодового символа зависит от скорости передачи данных вызывающего вокодера для каждого цикла. SVD 20 должен осуществлять декодирование одновременно для всех скоростей и для каждого цикла, так как исходная битовая скорость передачи двоичных данных может изменяться от цикла к циклу вызывающим вокодером. Хотя SVD 20 не знает исходную скорость передачи двоичных данных для конкретного цикла, но синхронизация пакета для каждого цикла повторяемых символов осуществляется на основании последних нескольких битов кода PN предыдущего цикла. Данные передаются со скоростью 28800 кодовых символов в секунду и SVD 20 принимает цикл, содержащий 576 возможных кодовых символов кода в каждые 20 милисекунд. Данные кодируются в пакеты, которые начинаются и заканчиваются в нулевом состоянии, так как "0" биты добавляются в конец каждого пакета. Код CRC ожидается на конце каждого пакета 96 исходных битов и 192 исходных битов (сразу же после последовательности "0" битов). Циклы, содержащие меньше, чем 96 исходных битов, пропускают код CRC для сохранения пространства.

На фиг. 3Е в качестве примера представлены параметры модуляции канала доступа обратной линии. Данные канала доступа обратной линии декодируются из канала, который сверточно кодируется со скоростью 1/3 (К=9) и каждый кодовый символ передается дважды. Исходная скорость передачи двоичных данных зафиксирована на 4800 бит/с и SVD 20 для этого канала приспособлен для работы на этой одной фиксированной скорости. Данные передаются со скоростью 28800 кодовых символов в секунду и SVD 20 принимает цикл, содержащий 576 кодовых символов за каждые 20 милисекунд. Данные кодируются в пакеты, которые начинаются и заканчиваются в "0" состоянии (добавляется "0" биты к концу каждого пакета) но CRC код не предоставляется.

SVD настоящего изобретения пригоден для любого из пяти описанных примеров канала, представленных на фиг.3, из-за его возможности непрерывного декодирования для многих скоростей возможности переключения из непрерывного режима в пакетный режим и возможности переключения (1/2 и 1/3) скоростей сверточного кодирования. Что наиболее важно, SVD настоящего изобретения может осуществлять декодирование данных канала как прямого, так и обратного трафика. Такое разделение канала прямого и обратного трафика можно лучше оценить после рассмотрения вышеупомянутого патента авторов Gilhousen и др. и заявки на изобретение.

На фиг.4 представлена таблица, в которую сведены все функции управляющих сигналов, необходимые для SVD настоящего изобретения в случае каждого из пяти каналов, рассмотренных выше в качестве примеров со ссылкой на фиг.3. Необходимо учитывать, что исходные скорости передачи двоичных данных канала прямого пэйджинга и sync канала зафиксированы.

ИСПОЛНЕНИЕ МОНОЛИТНОГО SVD Предпочтительно, чтобы SVD настоящего изобретения был выполнен как схема со сверхвысокой степенью интеграции, (VLSI). На фиг.5 показаны пять основных элементов примера исполнения примера SVD 20. Входной буфер (IB) 48 запоминает 1.5 цикла данных, тем самым допуская несколько путей декодирования для одиночного цикла, что позволяет позже определить правильное повторение или скорость передачи данных в режиме рандомизатора пакета данных (DBR) для цикла. Декодер Витерби (VD) 50 принимает символ мягкого решения от IB 48 по 7-битной шине symbuf 52. Эти кодовые символы обрабатываются логикой добавить-сравнить-выбрать (ACS) и результаты запоминаются в качестве метрик состояний во внутренней оперативной памяти (ОЗУ). Решения после ACS обработки запоминаются во внутренней памяти путей. Процесс по обратной цепи посредством этой памяти путей определяет одиночные выходные информационные биты для каждой группы кодовых символов после обратного просмотра во времени 64 уровней слов решений для гарантии, что рассматриваемый путь совпадает с наиболее вероятным глобальным путем. Эти выходные двоичные данные совместно с информацией о метрике качества (QM) запоминаются в выходном буфере (OВ) 54 посредством линии данных 56. После завершения декодирования посредством VD 50, OB 54 возвращает декодиророванные информационные биты для осуществления доступа со стороны интерфейса микропроцессора 58 по шине decdata 60. В пакетном режиме кодовые символы декодируются на четырех исходных различных скоростях передачи двоичных данных и четыре результирующих выходных пакета данных запоминаются в OВ 54 совместно с дополнительными данными QМ. Это приготовление предоставляет процессору (не показан) примерно 10 милисекунд на считывание данных в OВ 54. SVD 20 запускается и управляется посредством интерфейса микропроцессора 58 и контроллера 62, которые создают все необходимые сигналы синхронизации для SVD 20. Сигналы синхронизации получаются на основании сигналов задающего генератора системы и стробирующего сигнала декодера (не показан).

АЛГОРИТМ ДЕКОДИРОВАНИЯ ВИТЕРБИ Общая теория работы декодера Витерби хорошо известна в технике и может быть оценена после обращения к одной из вышеупомянутых ссылок. Теперь эта теория будет кратко описана для облегчения оценки настоящего изобретения.

Сверточные кодер преобразует последовательность исходных двоичных данных (поток входных битов) в последовательность кодовых символов (входной поток символов). Для каждого входного бита имеется несколько выходных кодовых символов, которые определяются этим входным битом и предыдущими (К-1) входными битами, где К ограниченная длина для кодера. Количество кодовых символов, создаваемых для каждого двоичного символа, определяется скоростью кодирования; то есть, например, два символа для скорости 1/2 и три символа для скорости 1/3. Каждый кодовый символ создается путем сдвига и осуществления операции XOR над входным потоком в соответствии со специальным полиномиальным кодом, таким как код скорости 1/2 G1, представленный последовательностью х8654+1 (октальное значение 05618). Количество битов в полиномиальном коде такое же, как и значение ограниченной длины, которое зафиксировано на девяти для предпочтительного исполнения SVD настоящего изобретения. Действительные коды (G0, G1) или (G0, G1, G2) выбираются на основании моделирования несистематических кодов, создаваемых для получения кодов с наилучшими свойствами с точки зрения ошибок в подвижном окружении. Предпочтительные сверточные коды, используемые в приведенной в качестве примера системе CDMA, которые обсуждались выше, имеют следующие значения для прямой линии G0= 07538, и G1=05618): а для обратной линии G0=05578, G1=06638 и G2=07118. Эти сверточные коды обеспечивают минимальную свободную дистанцию Хамминга, равную 12 для скорости кодирования 1/2, и минимальную свободную дистанцию Хамминга, равную 18 для скорости кодирования 1/3.

Алгоритм декодирования Витерби работает путем определения наиболее вероятной последовательности декодирования для входного потока кодовых символов. Прежде всего вычисляются метрики состояний или весы соответствующих вероятностей для каждого возможного пути. Наиболее вероятные преобразования для каждого состояния сохраняются в памяти путей для всех состояний и затем декодер осуществляет просмотр или образует обратную цепь во времени посредством наиболее вероятной последовательности для выбора каждого выходного бита. Основными шагами этого процесса являются создание метрики ветки, создание метрики состояния и определение пути обратного звена. Характеристики декодера для конкретной ограниченной длины и скорости определяются тремя параметрами: величиной шага и количеством уровней квантования входных кодовых символов, процедурой нормализации метрики состояния и глубиной действующего обратного звена памяти путей.

Метрики веток являются функциями цен, которые соответствуют логарифму вероятностей того, что во время преобразования каждое возможное преобразование битов входные кодовые символы данного мягкого решения. Информация о знаке и величине в мягких решениях масштабируется и объединяется для создания метрики каждой ветки. Для скорости 1/2 имеется четыре возможных метрики. Для скорости 1/3 имеется восемь, а для произвольной скорости 1/n имеется n возможных метрик. Используемые для подсчета и масштабирования метрик веток уравнения выбираются так, чтобы получить наилучшие характеристики декодера для оконечного канала, используя опыт и моделирование. Эти уравнения используются в SVD логике настоящего изобретения. Входы метрики масштабируются величинами символьной метрики, которые хранятся в таблице символьной метрики (SMT) в VD 50. Уровень "стирания" вызывает игнорирование кодового символа при вычислении метрики ветки. Стирание может использоваться для "протыкания" кода, когда необходима более высокая скорость канала для передачи данных. Кроме этого, стирание может быть использовано для удаления некоторых кодовых символов канала, которые являются частью "укрытых" данных или канала управления. Так как стертый кодовый символ не влияет на значение метрики, то разумная степень стирания не имеет ощутимого воздействия на характеристики декодирования.

Сверточные коды могут создавать неограниченную последовательность кодовых символов, но определенные свойства кодов дают возможность уменьшить количество последовательностей символов. Первое свойство состоит в том, что интерес представляет наилучший (наиболее возможный) путь к состоянию, так как любой глобальный путь через состояние должен следовать некоторому наилучшему