устройство перемежения и приемник для сигнала, сформированного устройством перемежения
Классы МПК: | H03M13/27 с использованием техники чередования |
Автор(ы): | ЭБЕРЛЯЙН Эрнст (DE), БРАЙЛИНГ Марко (DE), КАЙП Седрик (DE), СТАДАЛИ Хольгер (DE), ХОЙБЕРГЕР Альберт (DE) |
Патентообладатель(и): | ФРАУНХОФЕР-ГЕЗЕЛЬШАФТ ЦУР ФЕРДЕРУНГ ДЕР АНГЕВАНДТЕН ФОРШУНГ Е.Ф. (DE) |
Приоритеты: |
подача заявки:
2007-06-05 публикация патента:
10.01.2011 |
Изобретение относится к цифровой технике передачи и может быть использовано для изменяющихся во времени каналов передачи. Технический результат - уменьшение вероятности ошибок передачи. Сверточный перемежитель для обработки кодового слова, полученного из входного блока символов с использованием кодирования с добавлением избыточности и содержащего больше символов, чем входной блок, причем кодовое слово содержит последовательность блоков перемежения, а каждый блок перемежения содержит, по меньшей мере, два символа, включает в себя средство перемежения. Средство перемежения изменяет последовательность блоков перемежения для получения перемеженного кодового слова, содержащего измененную последовательность блоков перемежения. В частности, средство перемежения не изменяет порядок символов внутри блока перемежения. Однако порядок блоков перемежения в кодовом слове по отношению друг к другу или по отношению к предыдущему или последующему кодовому слову изменяется. 7 н. и 27 з.п. ф-лы, 12 ил.
Формула изобретения
1. Устройство перемежителя для обработки кодового слова, полученного из входного блока символов с использованием кодирования с добавлением избыточности и содержащего больше символов, чем входной блок, причем кодовое слово содержит последовательность блоков перемежения, причем каждый блок перемежения содержит, по меньшей мере, два символа, содержащее
блочный перемежитель для изменения порядка символов в кодовом слове так, что порядок символов, как генерируется кодированием с добавлением избыточности, изменяется так, чтобы получить кодовое слово, содержащее последовательность блоков перемежения, и
средство перемежения для изменения последовательности блоков перемежения для получения перемеженного кодового слова, содержащего измененную последовательность блоков перемежения, причем средство перемежения сформировано так, чтобы не изменять порядок символов внутри блока перемежения и изменять последовательность так, что, по меньшей мере, один блок перемежения предыдущего или последующего кодового слова помещается между двумя блоками перемежения кодового слова.
2. Устройство перемежителя по п.1, в котором размер блока перемежения выбран так, что кодовое слово содержит, по меньшей мере, четыре блока перемежения, и при этом средство перемежения сформировано для изменения последовательности, по меньшей мере, четырех блоков перемежения.
3. Устройство перемежителя по п.1, в котором символ является битом и каждое средство перемежения содержит, по меньшей мере, два бита, или в котором символ является байтом и каждый блок перемежения содержит, по меньшей мере, два байта.
4. Устройство перемежителя по п.1, в котором кодирование с добавлением избыточности работает на посимвольной основе для получения символа кодового слова, используя комбинацию из одного или более символов входного блока, так, что кодовое слово основано на символьном растре, и в котором средство перемежения сформировано для выполнения изменения последовательности в растре блока перемежения, более грубом, чем символьный растр.
5. Устройство перемежителя по п.1, в котором блок перемежения содержит, по меньшей мере, 128 символов и в котором средство перемежения сформировано для изменения последовательности блоков перемежения, каждый из которых содержит, по меньшей мере, 128 символов.
6. Устройство перемежителя по п.1, в котором средство перемежения сформировано для того, чтобы не изменять порядок символов внутри блока перемежения и изменять последовательность так, что порядок блоков перемежения в перемеженном кодовом слове отличается от порядка последовательности блоков перемежения.
7. Устройство перемежителя по п.6, в котором блочный перемежитель сформирован для реализации следующего правила перемежителя:
b[i]=a[(CILM_Inc*i)mod codewordLen],
где b[i] - символ в позиции i кодового слова на выходе блочного перемежителя, а[х] - значение символа в положении x кодового слова, введенного в блочный перемежитель, CILM_Inc - настраиваемое целое число, mod - операция по модулю и codewordLen - длина кодового слова.
8. Устройство перемежителя по п.7, в котором блочный перемежитель является конфигурируемым для работы с использованием конфигурируемого параметра CILM_Inc.
9. Устройство перемежителя по п.8, в котором блочный перемежитель сформирован, чтобы содержать конфигурируемый параметр, зависимый от кодовой скорости кодера с добавлением избыточности, где параметр в типовом случае является простым числом или произведением простых чисел.
10. Устройство перемежителя по п.1, в котором символ включает в себя бит, если кодирование с добавлением избыточности включает в себя турбокод, код Витерби или LDPC-код, и в котором символ включает в себя байт, если кодирование с добавлением избыточности является кодированием Рида-Соломона.
11. Устройство перемежителя по п.1, в котором средство перемежения содержит
множество соединительных линий, причем каждая соединительная линия сформирована для обеспечения определенной задержки, которая является отличающейся для каждой соединительной линии или которая, по существу, равна 0 для соединительной линии; входной мультиплексор, сформированный для переключения после подачи некоторого количества полных блоков перемежения в одну соединительную линию на другую соединительную линию, причем число полных блоков перемежения равно или больше чем 1; выходной мультиплексор, сформированный для переключения после приема некоторого количества полных блоков перемежения из одной соединительной линии на другую соединительную линию, причем упомянутое число равно или больше чем 1.
12. Устройство перемежителя по п.11, в котором множество соединительных линий содержит первую группу соединительных линий, в которой каждая соединительная линия, за исключением первой, сформирована для обеспечения определенной первой величины задержки или целого кратного определенной первой величины задержки, и
множество соединительных линий содержит вторую группу соединительных линий, причем каждая соединительная линия второй группы сформирована для обеспечения того же самого кратного определенной первой величины задержки, а также определенной второй задержки, отличающейся от определенной первой задержки, или целого кратного определенной второй величины задержки.
13. Устройство перемежителя по п.12, в котором множество соединительных линий дополнительно содержит третью группу соединительных линий, причем каждая соединительная линия третьей группы сформирована для обеспечения того же самого кратного определенной первой задержки, а также того же самого кратного определенной второй задержки, а также определенной третьей задержки, отличающейся от определенной первой задержки или определенной второй задержки.
14. Устройство перемежителя по п.12, в котором определенная первая величина задержки или определенная вторая величина задержки являются конфигурируемыми с использованием параметра конфигурации, обеспечивающего возможность конфигурирования в целых кратных блока перемежения.
15. Устройство перемежителя по п.13, в котором третья группа соединительных линий сформирована, чтобы конфигурировать определенную третью величину задержки в целых кратных блока перемежения.
16. Устройство перемежителя по п.1, в котором средство перемежения конфигурировано, чтобы выполнять перемежение так, что блоки перемежения кодового слова посылаются равномерно во времени для достижения равного профиля расширения.
17. Устройство перемежителя по п.1, в котором средство перемежения конфигурировано, чтобы выполнять перемежение так, что блоки перемежения кодового слова передаются более интенсивно в первом или третьем временном интервале, чем во втором временном интервале, лежащем между первым и третьим временными интервалами, и в котором передается меньше блоков перемежения или не передается блоков перемежения по сравнению с первым и третьим временными интервалами, чтобы реализовать ранне-поздний профиль расширения.
18. Устройство перемежителя по п.1, в котором средство перемежения конфигурировано, чтобы выполнять перемежение так, что часть блоков перемежения передается равномерно распределенным образом во времени, а оставшаяся часть блоков перемежения передается пакетно-подобным образом в последующем временном интервале, в котором передается больше блоков перемежения в единицу времени, чем в первом временном интервале, чтобы реализовать равно-поздний профиль расширения.
19. Устройство перемежителя по п.1, в котором средство перемежения конфигурировано, чтобы выполнять перемежение так, что некоторое количество блоков перемежения передается пакетно-подобным образом в первом временном интервале, а оставшаяся часть блоков перемежения кодового слова передается в последующем более длинном временном интервале, причем больше блоков перемежения в единицу времени передается в первом временном интервале, чем в последующем временном интервале, чтобы получить ранее-равный профиль расширения.
20. Устройство перемежителя по п.1, в котором средство перемежения является конфигурируемым, при этом параметры конфигурации вводятся в сигнал передачи, чтобы детектироваться приемником.
21. Передатчик для генерации сигнала передачи, содержащий
кодер с добавлением избыточности с кодовой скоростью, меньшей чем 1, который сформирован для генерации из входного блока сигналов кодового слова, содержащего число символов, большее чем число символов входного блока; средство перемежения по п.1 и модулятор для модуляции потока данных, выводимого из средства перемежения в канал передачи.
22. Способ обработки кодового слова, полученного из входного блока сигналов с использованием кодирования с добавлением избыточности и содержащего больше символов, чем входной блок, причем кодовое слово содержит последовательность блоков перемежения, причем каждый блок перемежения содержит, по меньшей мере, два символа, содержащий изменение порядка символов в кодовом слове, так что порядок символов, как генерируется кодированием с добавлением избыточности, изменяется так, чтобы получить кодовое слово, содержащее последовательность блоков перемежения; и
изменение последовательности блоков перемежения для получения перемеженного кодового слова, содержащего измененную последовательность блоков перемежения, причем изменение выполняется так, чтобы не изменять порядок символов внутри блока перемежения и изменять последовательность так, что, по меньшей мере, один блок перемежения предыдущего или последующего кодового слова помещается между двумя блоками перемежения кодового слова.
23. Приемник для приема сигнала, полученного из блока символов с использованием кодирования с добавлением избыточности и основанного на кодовом слове, содержащем последовательность блоков перемежения, причем последовательность блоков перемежения изменена, причем порядок символов в кодовом слове, как генерируется кодированием с добавлением избыточности, изменен, при этом порядок символов внутри блока перемежения не изменен, и, по меньшей мере, один блок перемежения предыдущего или последующего кодового слова помещен между двумя блоками перемежения кодового слова, содержащий детектор для детектирования блоков перемежения из сигнала; модуль оценки побочной информации для оценки побочной информации для блока перемежения, относящейся к передаче полного блока перемежения; и процессор для обработки блока перемежения дополнительно на основе побочной информации, определенной для соответствующего полного блока перемежения.
24. Приемник по п.23, в котором модуль оценки побочной информации сформирован, чтобы оценивать информацию качества приема для блока перемежения, при этом процессор сформирован для того, чтобы либо сохранять полный блок перемежения на основе побочной информации полностью для дальнейшей обработки, либо игнорировать его полностью для дальнейшей обработки.
25. Приемник по п.24, в котором процессор сформирован для того, чтобы сохранять блок перемежения для дальнейшей обработки, если побочная информация указывает качество приема более высокое, чем порог.
26. Приемник по п.24, в котором процессор сформирован для того, чтобы сохранять блок перемежения для дальнейшей обработки, если процессор определил, что еще недостаточно блоков перемежения для декодирования при определенной частоте ошибок сохранено для кодового слова.
27. Приемник по п.26, в котором процессор сформирован для того, чтобы перезаписывать уже сохраненный блок перемежения худшего качества приема в памяти, если уже сохранено достаточно блоков перемежения для кодового слова, и если побочная информация, указывающая лучшее качество приема для блока перемежения, чем уже сохраненное качество приема, оценивается для средства перемежения.
28. Приемник по п.24, в котором сигнал содержит множество программ, и
в котором процессор сформирован для сохранения, если достаточно блоков перемежения для кодового слова выбранной программы уже сохранено и если свободная память еще доступна, блоков перемежения других программ, но не сохранения блоков перемежения кодового слова выбранной программы.
29. Приемник по п.24, в котором процессор сформирован для установки приемника в энергосберегающий режим, если сохранено достаточно блоков перемежения для корректного декодирования кода.
30. Приемник по п.23, в котором сигнал перемежен так, что существует поздняя длительность времени, в которую включено больше блоков перемежения кодового слова, чем в другую длительность времени передачи, и процессор имеет функциональность быстрого доступа, чтобы начать декодирование кодового слова уже на основе блоков перемежения, найденных из позднего временного интервала, не ожидая блоков перемежения из другого временного интервала.
31. Приемник по п.23, в котором сигнал подвергается кодированию с кодовой скоростью, равной или меньшей чем 0,5, при этом поздний временной интервал имеет долю блоков перемежения такой величины, что числа блоков перемежения в позднем временном интервале уже достаточно для декодирования с определенной частотой ошибок в случае определенного качества канала.
32. Способ приема сигнала, полученного из блока символов с использованием кодирования с добавлением избыточности и основанного на кодовом слове, содержащем последовательность блоков перемежения, причем последовательность блоков перемежения изменена, причем порядок символов в кодовом слове, как генерируется кодированием с добавлением избыточности, изменен, при этом порядок символов внутри блока перемежения не изменен, и, по меньшей мере, один блок перемежения предыдущего или последующего кодового слова помещен между двумя блоками перемежения кодового слова, содержащий детектирование блоков перемежения из сигнала; оценивание побочной информации для блока перемежения, относящейся к передаче полного блока перемежения; и дополнительную обработку блока перемежения на основе побочной информации, определенной для соответствующего полного блока перемежения.
33. Машиночитаемый носитель, содержащий сохраненную на нем компьютерную программу с программным кодом, исполнение которой на компьютере обеспечивает выполнение способа обработки кодового слова по п.22.
34. Машиночитаемый носитель, содержащий сохраненную на нем компьютерную программу с программным кодом, исполнение которой на компьютере обеспечивает выполнение способа приема сигнала по п.32.
Описание изобретения к патенту
Настоящее изобретение относится к цифровой технике передачи, и в частности к принципам передачи, которые особенно хорошо подходят для изменяющихся во времени каналов передачи, которые встречаются в мобильной связи и радиосвязи.
Временное перемежение и/или частотное перемежение в комбинации с кодами, исправляющими ошибки (прямое исправление ошибок - FEC), относятся к основному принципу в технике передачи, как показано на фиг.6.
Информационное слово, состоящее из информационных битов, при этом вводится в кодер FEC, который из этого информационного слова формирует кодовое слово, т.е. вектор из кодовых символов или кодовых битов. Эти кодовые слова или сформированные из них блоки подаются на перемежитель. Последний изменяет последовательность символов и выдает перемешанные таким образом символы в канал передачи. Переупорядочивание символов может осуществляться по временной оси (временное перемежение) и/или по частотной оси (частотное перемежение).
Применение перемежителя целесообразно в том случае, если канал передачи является не статическим, то есть когда его собственные свойства изменяются во времени или по частоте. Так, поступающая в приемник мощность сигнала в случае подвижного приемника может сильно варьироваться. Из-за этого некоторые кодовые символы являются ошибочными с более высокой вероятностью (например, из-за наложенных тепловых шумов), чем другие.
В зависимости от движения передатчика, приемника и/или объектов на пути передачи и в зависимости от состояния окружающей среды передатчика, приемника и пути передачи свойства канала могут изменяться более или менее быстро. Мерой временного постоянства канала передачи является время когерентности: за это время канал изменяется незначительно.
Вероятность ошибки передачи, как правило, оценивается из состояния канала. Состояние канала описывает качество сигнала приема (например, мгновенное отношение уровня сигнала к шумам). Целью перемежителя является таким образом распределять информацию во времени (и часто также по частоте), чтобы при изменяющихся во времени свойствах канала отношение «хороших» (с незначительной вероятностью ошибки передачи) к «плохим» (с высокой вероятностью ошибки передачи) символам в среднем становилось примерно постоянным во времени после обращенного перемежителя, который реверсирует перемежитель на стороне передачи. При быстро изменяющихся во времени свойствах канала (например, при высоких скоростях транспортного средства) достаточен, как правило, относительно короткий перемежитель. При медленно изменяющихся во времени свойствах канала должна выбираться соответственно большая длина перемежителя.
Изменение свойств канала может быть результатом различных эффектов.
- В случае многолучевого распространения относительное фазовое положение сигнальных составляющих определяет, является ли суперпозиция сигнальных составляющих конструктивной или деструктивной. Уже изменение положения на долю длины волны несущего сигнала приводит здесь к другим фазовым положениям. Соответственно, быстро могут изменяться свойства канала. В этом случае говорят о «быстром замирании».
- Но свойства сигнала также сильно зависят от окружающей среды. Так, сигнал ослабляют, например, стены. Соответственно, как правило, качество сигнала внутри здания хуже, чем снаружи. Коррелированное с окружающей средой изменение свойств сигнала изменяется медленно по сравнению с замиранием. Соответственно, в данном случае говорят о «медленном замирании».
Как правило, при проектировании перемежителя принимают во внимание только свойства быстрого замирания. Но так как затраты на память становятся все более низкими, также все более интересными становятся очень длинные перемежители. В этом случае также в большей степени должны приниматься во внимание свойства медленного замирания при проектировании перемежителя.
В качестве примеров медленного замирания могут быть названы следующие.
- Мобильный прием спутниковых сигналов. Для движущегося автомобиля сценарий приема постоянно изменяется в соответствии с окружающей средой. Для каждого сценария приема могут быть определены три состояния приема:
Существует соединение прямой видимости со спутником (например, на открытых улицах). В этом случае говорят о «состоянии линии прямой видимости» (LOS).
Сигналы ослабляются (например, деревьями). Это состояние часто обозначают как «состояние затенения».
Сигнал ослабляется настолько сильно, что он больше не может использоваться. Тогда говорят о «состоянии блокировки».
- Передача в сотовых сетях с передатчиками относительно низкой мощности передачи.
В сотовых сетях покрытие зоны реализуется посредством множества передатчиков. Для этого типа сетей необходимо считаться с тем, что условия приема относительно быстро изменяются. Так как расстояние до передатчика мало, то относительное расстояние до приемника может быстро изменяться. В этом случае свойства сигналов в длинных перемежителях могут сильно изменяться уже в пределах длины перемежителя.
В приемнике перемежение кодовых символов, выполненное в передатчике, вновь реверсируется (подвергается обращенному перемежению). Это приводит к тому, что возникающие при передаче ошибки пакетов после обращенного перемежителя распределяются как индивидуальные ошибки по всему блоку данных и, тем самым, легче могут корректироваться FEC-декодером.
Следует различать следующие типы перемежителей:
- сверточный перемежитель,
- блочный перемежитель.
В случае сверточного перемежителя речь идет о межблочном перемежении, то есть блоки во времени таким образом «размываются», что блоки, которые следовали перед перемежителем друг за другом, после перемежителя переплетаются друг с другом. При этом блок составляется из одного или более кодовых слов. Длина перемежителя зависит не от величины блоков, а от ширины «размытия».
В приведенном для примера сверточном перемежителе блок кодовых символов FEC подразделяется перемежителем на четыре не равных по величине частичных блока и переплетается с предыдущими и/или последующими блоками.
Сверточные перемежители характеризуются следующими свойствами.
- Выход FEC-кодера подразделяется посредством демультиплексора на различные частичные потоки данных. Принцип представлен на фиг.7. Поток данных при этом, как правило, подразделяется побитовым образом или группами битов (символами) на частичные потоки данных. Каждый частичный поток данных задерживается посредством линий задержки (например, реализованных посредством FIFO).
- Для синхронизации сверточного обращенного перемежителя в приемнике должен синхронизироваться только демультиплексор.
- Длина линий задержки может быть регулярным образом ступенчатой. Также могут выбираться любые конфигурации, но так, чтобы следующие один за другим символы лежали максимально далеко один от другого, и, тем самым, свойства каналов являются некоррелированными.
Блочные перемежители имеют дело с «внутриблочным перемежением», то есть обработка осуществляется поблочным образом, причем один блок состоит из одного или более кодовых слов. Размер блока здесь определяет длину перемежителя. Здесь часто используются систематические FEC-коды; блок данных здесь содержит полезную информацию (= информации, подлежащей передаче) и дополнительную избыточность, чтобы иметь возможность корректировать ошибки передачи.
Известны различные типы блочных перемежителей.
- Базовым принципом блочного перемежителя является то, что осуществляется перестановка элементов вектора данных или матрицы, то есть обмен ими.
- Вариант блока, принимаемого за матрицу, хорошо известен. Здесь одна строка формирует, например, одно кодовое слово (например, кодовое слово Рида-Соломона). Информация затем копируется в матрицу строка за строкой, и считывается столбец за столбцом в передатчик/перемежитель. В качестве примера здесь можно упомянуть способ из стандарта ETSI EN301192, который иллюстрируется на фиг.8.
На фиг.9 показана конфигурация полезных данных («данных приложения»). Считывание и/или передача затем осуществляется в дейтаграммах, причем на фиг.9 далее показана матричная конфигурация в строках, где матрица имеет число строк, равное «no_of_rows» («число строк»). Кроме того, в качестве примера, имеется число столбцов от 0 до 190. Для того чтобы заполнить матрицу, так называемые байты заполнения, продолжающиеся (cont.) вплоть до последних байтов заполнения, добавляются после последней дейтаграммы.
Свойства перемежителя, в числе прочего, могут быть охарактеризованы следующими параметрами.
- Сквозная задержка
Этот параметр определяет временной интервал между моментом времени, когда символ доступен на входе перемежителя, до момента времени, когда этот символ доступен на выходе обращенного перемежителя.
- Время доступа (приемника)
Временной интервал между моментом времени, когда первый символ доступен на входе обращенного перемежителя, и моментом времени, когда кодовое слово доступно и может декодироваться на входе FEC-декодера, что означает на выходе обращенного перемежителя. В соответствии с изобретением, необходимо только ожидать, пока достаточно большая часть кодового слова будет доступной на выходе обращенного перемежителя, а не полное время сквозной задержки, если принимаемые пакеты имеют достаточное отношение сигнала к шуму. Этот параметр определяет, например, в вещательном приемнике, время между включением приемника или переключением на другую программу и доступностью сигнала (например, аудио- или видеосигнала) для пользователя. Декодирование, например, видеосигнала при таких обстоятельствах может означать дополнительную задержку, которая, однако, не должна входить во время доступа. В этом отношении, следует отметить, что аудио- или видеодекодер мог бы генерировать дополнительную задержку, также оказывая влияние на услуги без временного перемежения.
- Требование к памяти
Требование к памяти определяется длиной перемежителя и типом перемежителя, а также выбранным представлением сигналов в передатчике или приемнике.
Вышеописанные принципы перемежителя характеризуются хорошим скремблированием как в пределах кодового слова или блока, так и за пределами границ кодового слова во временном отношении. Как показано на фиг.7, изменение порядка индивидуальных символов в кодовом слове, последовательно входящем в демультиплексор входной стороны, достигается посредством элементов задержки во внешнем перемежителе. По отношению к передаче этих данных это не должно обязательно быть скремблированным во времени, однако при этом здесь может быть реализовано частотное скремблирование. Частотное скремблирование реализуется, например, если поток данных, выводимый из мультиплексора на конце правой стороны внешнего перемежителя, подвергается последовательно-параллельному преобразованию и ассоциированию с набором из, например, 1024 несущих в символе OFDM, так что всегда два бита потока данных выходной стороны ассоциированы с несущей, если используется отображение QPSK, например, так что OFDM-заполнение занимает 2048 битов в порядке, как генерируется внешним перемежителем. Естественно, это означает, что биты и/или FEC-символы располагаются на других несущих, по сравнению с тем, как они были бы расположены, если бы внешнего перемежителя не было, ввиду элементов задержки во внешнем перемежителе.
Сверточный перемежитель или перемежающий перемежитель с задержками, таким образом, работает как временной перемежитель или как частотный перемежитель, или как временной, так и частотный перемежитель, в зависимости от последующей реализации.
Недостатком структуры перемежителя, показанной на фиг.7, являются высокие затраты и высокие требования к памяти как на стороне передатчика, так и на стороне приемника. Этот недостаток становится все более серьезным с увеличением кодовых слов, то есть, чем больше битов вводится в качестве блока в FEC-кодер и больше битов выводится из FEC-кодера, например, как показано на фиг.6. FEC-кодеры всегда имеют кодовые скорости меньше 1. Кодовая скорость 1/3, например, означает, что число битов в выводе кодового слова из FEC-кодера равно умноженному на три числу битов во входном блоке или информационном слове, введенном в FEC-кодер, как показано на фиг.6. Перемежитель теперь должен выполнить временное и частотное скремблирование настолько хорошо, насколько это возможно, так что управление мультиплексором и/или, вообще говоря, его собственная «обработка» необходимы для каждого бита и/или для каждого байта (в зависимости от схемы FEC-кодирования).
Это непосредственно влечет за собой то, что соответствующее управление обращенным перемежителем также требуется на приемной стороне. Кроме того, информация качества, такая как значение для достигнутого отношения сигнал/шум, для вероятности битовых ошибок или вероятности для значения бита и/или байта должна генерироваться для декодирования для каждого бита и/или для каждого символа, причем такие вероятности используются особенно в так называемых мягких декодерах. Хотя это не так критично в относительно малых кодовых словах, проблема возрастает с увеличением длины кодовых слов. Для пониженной сложности передатчика и, в частности, для пониженной сложности приемника, что особенно критично для вещательных приложений, поскольку приемники являются продуктами массового производства и должны предлагаться по низкой цене, это означает, что действительно желательна малая длина кодового слова. С другой стороны, увеличенная длина кодового слова обеспечивает лучшие преимущества при медленно изменяющихся во времени свойствах канала, поскольку кодовое слово может «распределяться» по более длительному периоду времени и/или по большему частотному диапазону.
Целью настоящего изобретения является создание эффективного и, следовательно, хорошо управляемого принципа передачи и при этом обеспечение хороших результатов для каналов с медленно изменяющимися свойствами.
Эта цель достигается устройством перемежителя согласно пункту 1, передатчиком согласно пункту 21, способом обработки кодового слова согласно пункту 22, приемником согласно пункту 23, способом приема согласно пункту 32 или машиночитаемым носителем согласно пункту 33.
Настоящее изобретение основано на обнаружении того, что хорошая эффективность может поддерживаться также в случае увеличения кодовых слов, если устройство перемежителя, обеспечивающее задачу сверточного перемежителя, не выполняет перемежение способом по каждому FEC-символу, но работает с блоками перемежения (IU), где блок перемежения содержит, по меньшей мере, два FEC-символа. В некоторых FEC-кодерах FEC-символ представляет собой один бит. Тогда блок перемежения содержит по меньшей мере два бита. В других FEC-кодерах FEC-символ представляет собой один байт. Тогда блок перемежения включает в себя, по меньшей мере, два байта. Кодовое слово, которое содержит последовательность блоков перемежения, причем каждый блок перемежения имеет ассоциированные, по меньшей мере, два символа, вводится в средство перемежения, чтобы получить перемеженное кодовое слово, имеющее измененную последовательность блоков перемежения. В частности, перемежение выполняется так, что порядок символов в блоке перемежения не изменяется, в то время как последовательность блоков перемежения изменяется, так что, по меньшей мере, один блок перемежения предыдущего или последующего кодового слова размещается между двумя блоками перемежения одного и того же кодового слова, или порядок блоков перемежения в перемеженном кодовом слове отличается от порядка последовательности блоков перемежения кодового слова до обработки средством перемежения.
Достигаемое при этом перемежение является масштабируемым, поскольку число символов в блоке перемежения может регулироваться произвольным образом. Иными словами, в неизменным образом существующем или неизменно спроектированном перемежителе, который работает в блоках перемежения, но больше не в символах, длина кодового слова может увеличиваться или уменьшаться произвольным образом. С этой целью структуры перемежителя не должны обязательно изменяться. Только число символов в блоке перемежения должно изменяться. При фиксированном числе отводов перемежителя может быть обработано большее кодовое слово, если число символов в блоке перемежения увеличено, в то время как число символов в блоке перемежения может быть уменьшено, если должны обрабатываться меньшие кодовые слова. Чем больше число символов в блоке перемежения, тем более эффективной становится обработка на стороне приемника, а также на стороне передатчика. С другой стороны, с увеличением числа символов в блоке перемежения положительный эффект сверточного перемежения может ослабляться. Этот эффект может, однако, быть ослаблен, если перед сверточным перемежителем подсоединен блочный перемежитель, не работающий способом на каждый блок перемежения, а в действительности выполняющий блочное перемежение способом на каждый FEC-символ перед формированием блоков перемежения. В этом предпочтительном варианте осуществления настоящего изобретения блочный перемежитель и сверточный перемежитель, таким образом, скомбинированы, причем блочный перемежитель работает на посимвольной основе по всему блоку, однако при этом сверточный перемежитель работает только по каждому блоку перемежения, но не на посимвольной основе.
В других вариантах осуществления эффективный блочный перемежитель может быть даже заменен специальными FEC-кодами, которые уже достигают особенно хорошего распределения информации по всему кодовому слову, как это имеет место, например, для FEC-кодеров с очень большой длиной регистра сдвига (например, более 25 ячеек памяти) для регистра сдвига с линейными обратными связями (LFSR).
В соответствии с изобретением весь приемник может теперь быть заменен обработкой на основе по каждому блоку перемежения. Следовательно, случайную информацию, то есть побочную информацию, ассоциированную с принимаемыми блоками перемежения, больше не требуется определять на посимвольной основе, а следует определять ее только на основе по каждому блоку перемежения. Если блок перемежения имеет, например, восемь символов, это означает 8-кратное уменьшение стоимости приемника.
Более того, управление памятью может быть значительно упрощено не только на стороне передатчика, но и также на стороне приемника, поскольку запись в память и считывание из памяти могут осуществляться существенно более быстро пакетами, причем пакет особенно эффективен, если он учитывает смежные адреса памяти. Поскольку порядок внутри блока перемежения не изменен, блок перемежения может, поэтому, считываться особенно эффективно памятью приемника пакетно-подобным способом для выполнения функциональности перемежения. Индивидуальные блоки перемежения на самом деле упорядочены по различным адресам памяти, которые могут быть распределены довольно широко в пределах памяти. Символы в пределах блока перемежения, однако, являются непрерывными и, следовательно, также заполнены непрерывно в памяти приемника, поскольку сверточный перемежитель стороны передатчика не затрагивает порядок символов в пределах блока перемежения.
Другими преимуществами настоящего изобретения является то, что затраты на управление и затраты памяти для побочной информации сильно снижены на стороне приемника, поскольку побочная информация должна генерироваться, управляться и использоваться только для блока перемежения, но не для каждого индивидуального символа. Кроме того, в блоках перемежения также может быть определено, действительно ли декодер, в случае относительно хорошего качества передачи, имеет достаточно данных для выполнения декодирования с низким уровнем ошибок или без ошибок уже после некоторого времени и/или после некоторого числа принятых блоков перемежения. Затем дальнейшие блоки перемежения могут просто игнорироваться и маркироваться в качестве так называемых «стираний» в приемнике. Это приводит к значительному сокращению в сквозной задержке.
Кроме того, эффективное управление энергией может быть выполнено посредством того, что приемник или соответствующая часть приемника может быть установлена в неактивный режим, поскольку достаточное количество блоков перемежения для корректного декодирования уже было принято.
Кроме того, также может быть реализовано лучшее время доступа приемника, поскольку приемник уже находится в состоянии готовности, когда он имеет достаточно блоков перемежения и начинает декодирование, и он не предпринимает декодирование полного кодового слова для того, чтобы перейти в состояние готовности.
Предпочтительным образом используются входные блоки, то есть информационные слова с длиной более чем 5000 символов и предпочтительно более чем 10000 символов. При частоте кодирования 1/3, например, FEC-кодер тогда обеспечивает кодовые слова из более чем 15000 символов. В общем случае, используется размер кодового слова на выходе FEC-кодера более чем 10000 битов. Предпочтительные блоки перемежения тогда не только имеют, по меньшей мере, два бита/символа, но и, по меньшей мере, 100 символов, так что число блоков перемежения на кодовое слово меньше чем 200 и оптимально находится в пределах от 10 до 50.
Предпочтительные варианты осуществления настоящего изобретения поясняются ниже более детально со ссылками на иллюстрирующие чертежи, на которых показано следующее:
фиг.1 - принципиальная иллюстрация концепции перемежителя согласно изобретению;
фиг.2 - предпочтительный вариант осуществления передатчика согласно изобретению;
фиг.3 - предпочтительный вариант осуществления приемника согласно изобретению;
фиг.4 - функциональная иллюстрация структуры приемника по фиг.3;
фиг.5 - предпочтительный вариант осуществления процедуры обработки процессора для повышения эффективности приемника;
фиг.6 - принципиальная иллюстрация комбинации FEC-кодера и перемежителя;
фиг.7 - сверточный перемежитель из DVB-T EN 300744;
фиг.8 - структура блочного перемежителя согласно EN 301192;
фиг.9 - конфигурация «данных приложения» полезных данных, причем считывание и/или передача осуществляются в дейтаграммах;
фиг.10 - предпочтительный вариант осуществления устройства перемежения согласно изобретению с тремя группами соединительных линий с различными задержками;
фиг.11 - равный профиль перемежителя;
фиг.12 - равно-поздний профиль перемежителя, подходящий для канала передатчика с хорошими условиями приема и допускающий короткое время доступа (быстрый доступ).
Перед детальным объяснением отдельных фигур чертежей сначала иллюстрируются особые преимущества предпочтительного устройства перемежителя, как будет описано на основе фиг.1. В частности, в случае длинных сверточных перемежителей, настоящее изобретение обеспечивает эффективную реализацию, которая достигает своих конкретных преимуществ не только сама по себе, но и в комбинации со специальными стратегиями декодера.
Целью изобретения является структура перемежителя, обеспечивающая возможность эффективной реализации, в частности, для очень длинных временных перемежителей. Структура является предпочтительной в связи со стратегиями декодера.
Стратегии декодера могут быть подразделены на следующие группы.
- Без информации состояния канала
Ошибки должны распознаваться и корректироваться без дополнительной информации.
- Мягкое декодирование
Вероятность ошибки передачи может оцениваться для каждого бита или символа.
- Декодирование стирания
Известно, что никакой символ не принят. Эта форма может рассматриваться как специальный случай мягкого декодирования. Для не принятого бита или байта (или бита или байта с чрезвычайно низким отношением сигнала к шуму) имеет место «рассуждение с догадкой», т.е. вероятность бита, равного «0» или «1», устанавливается на 50% для каждого.
Выбранная архитектура, в частности, предоставляет преимущества для мягкого декодирования и декодирования стирания. Выбранная структура имеет следующие преимущества.
- Информация состояния канала, необходимая для стирания или мягкого декодирования, формируется для каждого блока (блока перемежителя = IU) и сохраняется вместе с IU.
- Информация состояния канала также может использоваться, чтобы снизить требования к памяти. Таким образом, возможно, что сохраняются, например, только данные, имеющие достаточное качество сигнала.
- Поскольку IU из множества битов (в типовом случае, по меньшей мере, 100 или более) управляются как один блок в приемнике, можно использовать, например, современные микросхемы памяти, которые обычно поддерживают доступ к блоку данных более эффективно, чем селективный доступ к индивидуальным ячейкам памяти.
- Структура также обеспечивает возможность лучшего управления памятью в случае смены программы или после включения приемника. Так, для того чтобы избежать смешивания данных из старой (= ранее выбранной) программы и новой программы, память должна освобождаться в случае смены программы (или следует ожидать до тех пор, пока память не заполнится новыми данными). С предложенной структурой достаточно, если только информация состояния канала устанавливается на «стирание».
Настоящее изобретение описывает структуру перемежителя и соответствующие стратегии декодера, которые, в частности, релевантны для систем с длинными временными перемежителями.
В связи с кодами исправления ошибок низкой скорости перемежитель обеспечивает защищенную передачу также в случае сильно изменяющихся во времени каналов, как это является типичным, например, для спутниковых передач или также сотовых наземных сетей. С помощью подходящих параметров и стратегий декодера многие типичные недостатки перемежителей также снижаются, например, более высокое время доступа и более высокие требования к памяти.
Это достигается тем, что данные дополнительно обрабатываются как небольшие пакеты данных (IU), с одной стороны. Это (как уже упоминалось выше) позволяет осуществлять более эффективное управление данными. Однако для того чтобы реализовать полный выигрыш перемежителя, является предпочтительным перемежать данные побитовым способом. Это реализуется посредством так называемого смесителя.
Посредством конкатенации двух перемежителей преимущества побитового перемежения комбинируются с более эффективной реализацией ориентированной на пакетные данные обработки.
Фиг.1 показывает устройство перемежителя согласно изобретению для обработки различных кодовых слов CW1, CW2, CW3, которые упорядочены последовательно во времени и формируют поток выходных данных с FEC-кодера, как это показано, например, на фиг.6. Альтернативно, кодовые слова могут также представлять собой кодовые слова, выведенные из блочного перемежителя или «смесителя», как будет пояснено со ссылкой на фиг.2. Каждое кодовое слово делится на некоторое число блоков перемежения IU, причем каждый блок перемежения имеет два индекса, а именно, индекс i и индекс j, только для целей записи. Индекс i указывает последовательный номер кодового слова в последовательности кодовых слов, в то время как индекс j указывает последовательный номер блока перемежения в самом кодовом слове i. Важно, что каждый блок перемежения включает в себя несколько символов, например, несколько битов или байтов, в зависимости от FEC-кодера, где число битов или байтов, то есть, вообще говоря, число символов в блоке перемежения предпочтительно больше чем 50 и меньше чем 400.
Кроме того, число символов в блоке перемежения зависит от длины кодового слова, так что является предпочтительным, чтобы каждое кодовое слово имело предпочтительно, по меньшей мере, 50 или даже более блоков перемежения. Только для ясности, кодовые слова показаны только с четырьмя блоками перемежения в варианте, показанном на фиг.1.
Кодовое слово получают из входного блока символов в FEC-кодере с использованием кодирования с добавлением избыточности, причем кодовое слово содержит больше символов, чем входной блок, что синонимично утверждению, что кодовая скорость кодера с добавлением избыточности меньше, чем 1. Кодовое слово содержит последовательность блоков перемежения, причем каждый блок перемежения содержит, по меньшей мере, два символа.
Устройство перемежителя содержит, в качестве его ядра, средство 10 перемежения, конфигурированное для изменения последовательности блоков перемежения в кодовом слове для получения перемеженного кодового слова, содержащего измененную последовательность блоков перемежения. В частности, средство 10 перемежения сформировано, чтобы не изменять порядок символов в блоке перемежения, а изменять последовательность блоков перемежения, так что, по меньшей мере, один блок перемежения предыдущего или последующего кодового слова располагается между двумя блоками перемежения кодового слова, и/или что порядок блоков перемежения в перемеженном кодовом слове отличается от порядка последовательности блоков перемежения. Предпочтительно, средство перемежения сформировано так, чтобы иметь входной демультиплексор 11, множество соединительных линий 12 и выходной мультиплексор 13. После ввода некоторого количества полных блоков перемежения в одну соединительную линию входной мультиплексор сформирован для переключения на другую соединительную линию, при этом число полных блоков перемежения равно или больше, чем 1.
Кроме того, в варианте осуществления, показанном на фиг.1, первая соединительная линия 12а имеет значение задержки, по существу равное нулю. Таким образом, не вводится никакой элемент задержки сам по себе в форме памяти FIFO или специальной линии задержки. С другой стороны, вторая соединительная линия 12b имеет определенную задержку D, причем следующая соединительная линия 12с имеет другую определенную задержку, которая сформирована двумя средствами задержки D и отличается от задержки в блоке 12b. Задержка в соединительной линии 12с, только для примера, равна удвоенной задержке в линии задержки 12b. Произвольные отношения задержек могут настраиваться, но целочисленный растр является предпочтительным, по меньшей мере, для некоторого числа соединительных линий из множества соединительных линий, как будет детализировано в связи с фиг.10, причем вариант осуществления, показанный на фиг.10, содержит множество соединительных линий, включающих в себя, по меньшей мере, две, а в варианте осуществления, показанном на фиг.10, даже три группы соединительных линий, которые характеризуются специальными общими значениями задержек.
Фиг.2 показывает предпочтительный вариант осуществления для передатчика, причем включение устройства перемежителя по фиг.1 в концепцию передатчика также следует из фиг.2. Устройство передатчика, показанное на фиг.2, включает в себя устройство перемежителя, соответствующее настоящему изобретению, которое обозначено на фиг.2 ссылочной позицией 20, а также входной FEC-кодер 22, выходной мультиплексор 24 и модулятор 26 на выходе мультиплексора. Устройство 20 перемежителя также содержит модуль 10 перемежения, показанный на фиг.1, в предпочтительном варианте осуществления, показанном на фиг.2. Модуль 10 перемежения упоминается на фиг.2 как «распределитель», но в принципе имеет ту же самую функциональность, что и модуль 10 перемежения по фиг.1. На входе распределителя 10 имеется смеситель 18, который также содержится в предпочтительном варианте осуществления в устройстве 20 перемежителя согласно изобретению, для того чтобы выполнять, перед обработкой на каждый блок перемежения в распределителе, функцию блочного перемежения, в которой выполняется посимвольное перемежение, как изменяющее порядок символов в кодовом слове с FEC-кодера 22.
На фиг.3 показана полностью комплементарная этому структура приемника. Входной сигнал подается на демодулятор 30, питающий демультиплексор 32, имеющий возможность извлечения дополнительной информации и различных потоков данных из входного сигнала. Только в качестве примера, обработка потока данных представлена номером i, причем этот поток данных является потоком данных, сгенерированным в примере, показанном на фиг.2. Обработка на стороне передатчика и на стороне приемника для других потоков данных k, j, которые являются, например, другими вещательными или телевизионными программами или другими переговорами, может осуществляться на стороне передатчика и на стороне приемника подобно обработке потока данных i. Поток данных i, который выделен мультиплексором 32, подается на обращенный распределитель 34, который подает блоки перемежения (IU) на обращенный смеситель 36, который затем восстанавливает индивидуальные кодовые слова, которые могут быть затем поданы на FEC-декодер 38, чтобы снова создать, если передача была успешной и/или была добавлена достаточная избыточность, воспроизведение входного блока символов, идентичного, - не считая битовых ошибок, - входному блоку символов, который был введен в FEC-кодер 22 по фиг.2 на стороне передатчика.
FEC-кодер 22 служит для добавления избыточности во входной сигнал. Для этой цели подходят, например, сильные коды, такие как турбокоды, известные, например, из стандарта 3GPP2, или коды LDPC, известные, например, из стандарта DVB-S2. Однако также могут использоваться другие коды. Выходом FEC-кодера 22 является кодовое слово. Использование относительно длинных кодовых слов, которые в типовом случае превышают 10000 битов, является предпочтительным для качества передачи.
Смеситель 20 является некоторым типом блочного перемежителя, изменяющим порядок битов в кодовом слове посимвольным образом, например, побитовым или побайтовым образом. После этого осуществляется мультиплексирование блоков перемежения. Выход смесителя подразделяется на блоки перемежения (IU). Блок перемежения представляет собой группу битов или байтов, или в общем случае группу символов. В типовом случае кодовое слово должно подразделяться примерно на 20 или более блоков перемежения. При размере кодового слова более 10000 битов получается 200 или более битов на блок перемежения.
Распределитель 10 представляет собой некоторый тип сверточного перемежителя, служащего для распределения блоков перемежения во времени. В отличие от нормальных сверточных перемежителей, переключение не осуществляется побитовым или посимвольным образом, а оно осуществляется на основе по каждому блоку перемежения.
Выход распределителя 10 может затем мультиплексироваться с другими данными, как показано на фиг.2, то есть с дополнительной информацией, другими программами или группами программ.
Модулятор 26 затем генерирует из этого радиочастотный (RF) сигнал. Могут использоваться различные модуляторы. Здесь в качестве примеров упомянуты только OFDM или модуляция несущей с n-PSK-модуляцией.
Приемник, показанный на фиг.3, включает в себя демодулятор 30, который содержит соответствующее средство синхронизации. Кроме того, может выполняться синхронизация кадров, если демодулятор не использует какую-либо структуру кадра или использует другую длину кадра. Эта синхронизация кадров служит для синхронизации демультиплексора и обращенного перемежителя.
Демультиплексор 32 предоставляет поток данных с последовательностью блоков перемежения на своем выходе. Кроме того, также выполняется оценка состояния канала, как будет пояснено со ссылкой на фиг.4. Здесь состояние канала оценивается не на посимвольной основе, а на основе по каждому блоку перемежения или, вообще говоря, фрагмент информации о качестве приема предоставляется на каждый блок перемежения, некоторым образом предоставляя отчет относительно надежности или качества приема блока перемежения в целом. Состояния канала, отношения сигнал-шум, частоты ошибок битов и т.д. представляют собой такую информацию о качестве приема. Никакая информация о качестве приема не определяется и не используется на каждый символ.
Поток данных подается на обращенный распределитель, который будет пояснен далее и который реализован, например, средством управления памятью. На выходе обращенного распределителя выполняется мультиплексирование, чтобы вновь генерировать из блоков перемежения на выходе обращенного распределителя кодовые слова, подвергаемые затем блочному обращенному перемежению в обращенном смесителе 36, чтобы затем окончательно выполнить декодирование в FEC-декодере 38, например, декодирование Витерби или декодирование любого другого типа. Вообще говоря, обращенный распределитель 34 выполняет операцию, комплементарную функциональности распределителя 10, и обращенный смеситель 36 выполняет операцию, комплементарную операции смесителя 18. Однако элементы 34 и 36 стороны приемника не всегда должны обрабатывать полностью кодовые слова, но могут также заменять некоторые блоки перемежения стираниями, как будет пояснено ниже, так что операции элементов 34 и 36 обращенного перемежителя затем выполняются с использованием информации стирания, а не с использованием действительно принятых блоков перемежения.
Далее более детально будет пояснен смеситель 18.
Смеситель является блочным перемежителем, выполняющим перестановку битов в коротком блоке, например, кодовом слове.
В схеме перемежителя с распределителем обращенный смеситель служит для того, чтобы распределять ошибки пакета, неизбежно возникающие после обращенного распределителя вследствие обращенного перемежения на основе по каждому IU, по возможности благоприятным образом по блоку, например, равномерно по кодовому слову, так что процесс декодирования обеспечивает лучшие результаты.
В одном варианте осуществления перемежение входных битов а[i] в выходные биты b[i] осуществляется в соответствии со следующей формулой:
b[i]=а[(CILM_Inc*i)mod codewordLen],
где
codewordLen - длина кодового слова,
CILM_Inc - конфигурируемый параметр, и
mod - операция по модулю.
Далее будет пояснен распределитель 10 по фиг.2, как он представлен в обобщенном виде также на фиг.1.
Действительным временным перемежителем (возможно, также используемым как частотный перемежитель) является распределитель. Он распределяет блоки (например, кодовые слова), выведенные смесителем, во времени (и/или по частоте). Распределитель является сверточным перемежителем, работающим не на побитовой основе, а на поблочной основе. Ввиду функционирования на поблочной основе, использование смесителя имеет смысл (см. выше).
Преимущества перемежения на поблочной основе можно видеть, в числе прочего, в приемнике:
- Обращенное перемежение обычно осуществляется путем сохранения входящих данных в промежуточном хранилище и последующего считывания в обращенно перемеженном порядке. Сохранение и считывание поблочным образом обеспечивают возможность эффективного управления памятью. Запись в динамическое ОЗУ (RAM) и считывание из него могут осуществляться намного более быстро в пакетах, чем при доступе к индивидуальным байтам непоследовательным образом. При этом, в случае блочного перемежения (а) может быть предоставлена более медленная/дешевая память, чем в случае побитового перемежения, или (b) память может лучше использоваться совместно с другими пользователями (арбитраж совместно используемой памяти), так что требуется меньше модулей памяти. В обоих случаях может быть обеспечена экономия затрат.
- Управление данными приема в обращенном перемежителе осуществляется более эффективно: информация состояния канала (например, оценка отношения сигнал/шум) должна сохраняться только на каждый IU, вместо того, чтобы сохраняться на каждый символ/бит; при этом экономится пространство памяти. Более того, хранение на основе по каждому IU позволяет управлению перемежителем удалять индивидуальные IU, если они не требуются, например, когда достаточно «хороших» (почти не распределенных) IU принято из кодового слова, «плохие» IU больше не требуется хранить, и уже принятые могут быть просто опущены путем интеллектуального управления перемежителем. Интеллектуальное управление перемежителем здесь означает, что модуль управления перемежителем сохраняет побочную информацию по каждому сохраненному IU в таблице, чтобы оптимизировать результат декодера и необходимую память. Модуль управления перемежителем может всегда определять, какие IU необходимы в последующем процессе декодирования, а какие не нужны. Для декодирования, IU, которые не сохранены, должны быть заменены стираниями. Поэтому обращенный смеситель получает некоторое количество стираний для этих IU из обращенного распределителя.
Фиг.10 показывает принципиальную структуру сверточного перемежителя в распределителе для одного варианта осуществления. Перемежитель имеет нерегулярные линии задержки.
Распределитель включает в себя noIlvTaps параллельных линий задержки, причем noIlvTaps соответствует размеру блока на выходе смесителя, деленному на размер одного IU (далее IU_Len). Линии запитываются одна за другой от демультиплексора (DEMUX). Вход этого демультиплексора является потоком битов или символов кода с выхода смесителя. DEMUX подает на каждую линию задержки точно один блок перемежителя (IU), который соответствует IU_Len битов или символов кода с выхода смесителя. Затем DEMUX переключается на следующую линию и т.д. В начале блока, обрабатываемого смесителем (например, кодового слова), DEMUX всегда переключается на первую линию (индекс 0). Конец блока достигается, когда DEMUX подал IU на последнюю линию (индекс noIlvTaps-1).
Показанный перемежитель может быть конфигурирован с помощью семи параметров: noIlvTaps, middleStart, lateStart, tapDiffMult, earlyTapDiff, middleTapDiff, lateTapDiff.
Каждая линия включает в себя элементы задержки. Имеется три возможных элемента, как можно видеть на фиг.10:
- задержка «E» включает в себя tapDiffMult*earlyTapDiff IUs (т.е. tapDiffMult*earlyTapDiff*IU_Len битов/символов),
- задержка «М» включает в себя tapDiffMult*middleTapDiff IUs,
- задержка «L» включает в себя tapDiffMult*lateTapDiff IUs.
На выходе линий мультиплексор (MUX) объединяет выходы элементов задержки. Его переключение линий надлежащим образом синхронизировано с DEMUX.
Выход MUX, таким образом, представляет собой поток IU перемеженных блоков или кодовых слов.
IU в первой линии (индекс 0) всегда не задержаны. Все другие IU с индексом 0<i<noIlvTaps блока/кодового слова задержаны следующим образом по отношению к первому IU (см. также фиг.10):
для 0<=i<middleStart: задержка в блоках/кодовых словах равна i*tapDiffMult*earlyTapDiff,
для middleStart<=i<lateStart: задержка в блоках/кодовых словах равна (middleStart-1)*tapDiffMult*earlyTapDiff+(i-middleStart+1)*tapDiffMult*middleTapDiff,
для lateStart<=i<noIlvTaps: задержка в блоках/кодовых словах равна (middleStart-1)*tapDiffMult*earlyTapDiff+(lateStart-middleStart)*tapDiffMult*middleTapDiff+(i-lateStart+1)*tapDiffMult*lateTapDiff.
По этой причине первые middleStart IU (ранняя часть) блока/кодового слова распределены по-разному во времени, чем средние (lateStart - middleStart) IU (средняя часть), и последние (noIlvTaps - lateStart) IU вновь распределены по-разному:
- расстояние между IU ранней части, которая принадлежала тому же самому блоку/кодовому слову перед перемежением, тогда равно tapDiffMult*earlyTapDiff,
- расстояние между IU средней части равно tapDiffMult*middleTapDiff блоков/кодовых слов,
- расстояние между IU поздней части равно tapDiffMult*lateTapDiff блоков/кодовых слов.
Путем конфигурирования 7 параметров перемежителя возможно выбрать подходящий профиль перемежителя, т.е. благоприятное распределение содержимого блока/кодового слова во времени (и/или по частоте). Например, многие IU могут быть переданы с короткой задержкой в последней части, если это желательно, или IU могут быть распределены равномерно в заданном интервале времени, либо то и другое может комбинироваться, и т.д.
Фиг.10 показывает предпочтительный вариант осуществления ранее описанного устройства перемежителя, который также упоминается как распределитель. В частности, устройство перемежителя или средство распределения устройства перемежителя, показанное на фиг.10, включает в себя входной мультиплексор 11, который сформирован как демультиплексор и обозначен как DEMUX на фиг.10. Кроме того, имеется выходной мультиплексор 12, который обозначен как MUX на фиг.10. Между двумя мультиплексорами 11 и 12 имеется множество соединительных линий, которые подразделены на три группы в варианте осуществления, представленном на фиг.10, как уже описано. Первая группа является ранней частью 12d. Вторая часть является средней частью 12е, и третья группа является поздней частью 12f.
Каждая линия задержки и/или соединительная линия с задержкой, за исключением самой первой соединительной линии 12а, имеет некоторый блок задержки, причем блок задержки может быть конфигурирован различным образом в трех группах, а именно, посредством параметра earlyTapDiff для группы 12d, посредством параметра middleTapDiff для группы 12е и посредством параметра lateTapDiff для группы 12f.
Фиг.10 также показывает, что задержка увеличивается на приращение (Е, М или L) от одной соединительной линии (отвода) к другой соединительной линии, так что, например, соединительная линия отвод middleStart-1 имеет некоторое количество элементов задержки Е отвода middleStart-1. Кроме того, каждая соединительная линия второй группы 12е имеет то же самое число блоков задержки Е, что и последняя соединительная линия первой группы, а также дополнительно некоторое количество задержек М, увеличивающихся от соединительной линии к соединительной линии. Соответственно, каждая соединительная линия последней группы также имеет то же число задержек Е, что и последняя соединительная линия первой группы, и то же число задержек М, что и последняя соединительная линия второй группы, а также некоторое число элементов задержки L, увеличивающееся от соединительной линии к соединительной линии.
Каждая из первой группы, второй группы и третьей группы включает в себя соединительные линии, причем каждая из этих соединительных линий, кроме самой первой соединительной линии первой группы, имеет определенную величину задержки или целое кратное определенной величины задержки, причем определенная величина задержки, то есть приращение Е, М, L, может отличаться от группы к группе и, что важно, может конфигурироваться с помощью индивидуальных параметров управления, как объяснено ранее. Из фиг.10 и описания Е, М и L можно видеть, что базовым растром является длина блока перемежения, то есть IU_Len. Если блок перемежения имеет, например, 20 символов, то каждая задержка Е, М, L является целым кратным этой задержки, что соответствует длине блока перемежения IU_Len. Задержка, соответствующая всему блоку перемежения, задается длительностью интервала такта обработки, умноженного на число битов или символов, причем такт является битовым тактом в случае обработки битов, и такт является байтовым тактом в случае обработки байтов в качестве символов.
Далее будет проиллюстрирован конкретный пример конфигурации.
FEC-параметры
Турбокод, соответствующий стандарту 3GPP2, используется в качестве FEC-кодера.
Таблица | ||
Биты на блок на входе FEC-кодера (включая 6 концевых битов) | 12288 битов | Биты |
Кодовая скорость R | 1/4 | |
Число битов на выходе FEC-кодера | 49152 бита | Биты |
Размер IU | 512 битов | Биты |
Число IU на кодовое слово | 96 |
Конфигурация смесителя
codeWordLen есть 49152 бита, и CILM_Inc есть 217.
Конфигурация распределителя
Следующие подразделы показывают различные конфигурации, представляющие разные профили перемежителя, следовательно, разные случаи применения.
Равное расширение (фиг.11)
IU, принадлежащие одному блоку (или кодовому слову), распределены равномерно во времени, т.е. расстояние между IU является одинаковым на выходе распределителя.
Такая конфигурация имеет смысл, если канал передачи формирует случайные кратковременные прерывания (состояние плохого канала) и затем более или менее случайно перемешивает индивидуальные IU. В частности, эта конфигурация имеет смысл при высоких кодовых скоростях.
Одна возможная конфигурация заключается в использовании только ранней части, т.е. middleStart = noIlvTaps.
Ранний/поздний
IU одного блока передаются в двух пакетах (раннем и позднем), между которыми имеется временной интервал, в котором никакие IU этого блока не передаются или являются очень редкими.
Эта конфигурация должна быть использована, если канал передачи формирует очень длинные прерывания (например, при движении под мостом или через туннель). Здесь, в случае хорошего приема, ранняя или поздняя часть должна быть достаточна сама по себе, чтобы иметь возможность декодировать блок. Если это имеет место, то прерывание допустимо максимально настолько, каков интервал между ранней и поздней частью, не вызывая неудачи в декодировании этого блока.
Для параметризации этой конфигурации middleStart и noIlvTaps-lateStart (число в ранней и/или поздней части) должны быть больше, чем lateStart-middleStart (размер средней части). Для передачи, подобной пакетной, earlyTapDiff и lateTapDiff должны быть выбраны при нуле, в то время как tapDiffMult и middleTapDiff должны быть максимальными, чтобы расширить IU максимально возможно в средней части.
Равный/поздний (фиг.12)
Часть IU передаются в соответствии со стратегией «равного расширения» (см. выше), а остальное - пакетно-подобным способом, как поздняя часть.
В этом случае последняя часть должна включать в себя достаточное число IU, так что ее одной достаточно для безошибочного декодирования в случае хороших условий приема. Таким образом, этот профиль перемежителя подходит для быстрого доступа, так что время доступа может поддерживаться низким, несмотря на длинный перемежитель. Остальные IU в равной части предполагаются обеспечивающими защиту от случайных сбоев в IU (см. «равное расширение»).
Параметризация может осуществляться аналогичным образом, как описано выше для ранней, средней и поздней частей.
Ранний/равный
Эта конфигурация является зеркальным во времени изображением конфигурации «равный/поздний», т.е. имеется пакетно-подобная ранняя часть, за которой следует «равное расширение» для остальных IU.
Преимуществом здесь является то, что сквозная задержка мала. Самое ранее, декодирование уже может осуществляться после приема ранней части, которая следует непосредственно после того, как сопровождающая информация введена в передатчик.
Фиг.5 показывает функциональную реализацию устройства приемника согласно изобретению. Он принимает сигнал приема с перемеженными блоками перемежения в качестве выхода из мультиплексора 32, например, из потока данных с номером i на фиг.3, и вводит в обращенный распределитель 34. Эти перемеженные блоки перемежения вводятся в детектор 40 блоков перемежения, сформированный для приема блоков перемежения из сигнала. Продетектированные блоки перемежения необходимы для корректного управления обращенным распределителем 34. Кроме того, согласно изобретению, имеется модуль 42 оценки побочной информации, либо только осуществляющий связь с детектором 40 блоков перемежения, либо дополнительно получающий сигнал приема, либо имеющий возможность управляться другим устройством, таким как модуль оценки канала. Модуль оценки побочной информации сформирован для оценки информации из извлеченного блока перемежения, связанного с передачей всех блоков перемежения. Модуль 42 оценки побочной информации и детектор 40 блоков перемежения связаны с процессором 44 для дальнейшей обработки блоков перемежения с использованием побочной информации, определенной для всего блока перемежения и предоставленной из модуля 42. Следовательно, в предпочтительном варианте осуществления процессор объединяет функциональности обращенного распределителя 34 и обращенного смесителя 36 по фиг.3. Однако в предпочтительных вариантах осуществления настоящего изобретения он включает в себя дополнительные функциональности для повышения эффективности приемника, как будет пояснено со ссылками на фиг.5.
В частности, процессор 44 затем проверяет, когда он получил побочную информацию для блока перемежения, является ли качество приема лучшим, чем порог, назначенный для блока перемежения (этап 50). Если результат проверки отрицателен, то весь блок перемежения игнорируется (этап 52), что может быть реализовано, например, тем, что в памяти ничего не сохраняется, но просто проигнорированные блоки перемежения характеризуются как стирания, то есть, например, посредством информации вероятности, сигнализирующей вероятность 50% для 0 или 1, когда осуществляется обращенное распределение.
Если результат проверки на этапе 50 положителен, то такой блок перемежения, как устанавливается на этапе 54, сохраняется в памяти приемника, реализующей функциональность обращенного распределителя 34 путем считывания из памяти иным образом, по сравнению с записью в нее. И, кроме того, если уже определено, что принято достаточное количество блоков перемежения хорошего качества для кодового слова, так что корректное декодирование кодового слова уже может быть выполнено без приема всех блоков перемежения кодового слова, то проверяется, сохранен ли в памяти приемника блок перемежения, имеющий худшее качество, чем текущий рассматриваемый блок перемежения. Если такой блок перемежения найден, то он перезаписывается текущим продетектированным, новым блоком перемежения лучшего качества. Однако если определено, что все сохраненные блоки перемежения имеют лучшее качество, и если также определено, что уже принято достаточно блоков перемежения, то блок перемежения, имеющий относительно хорошее качество, ввиду оценки побочной информации, все равно игнорируется, поскольку он больше не нужен.
В этом отношении на этапе 56 проверяется, сохранено ли достаточно блоков перемежения, что означает, может ли уже осуществляться корректное декодирование кодового слова. Если результат этой проверки положителен, то на этапе 58 начинается декодирование, то есть кодовое слово подается на обращенный смеситель 36, если такой обращенный смеситель присутствует, или кодовое слово непосредственно вводится в FEC-декодер 38, если обращенный смеситель 36 по фиг.3 отсутствует, при этом стирания вводятся для блоков перемежения, которые были проигнорированы или больше не сохранялись. Если, однако, на этапе 60 определено, что память еще доступна, то может быть параллельно начато, для улучшения характеристики продолжительности времени в случае переключения программ, сохранение в этой памяти блоков перемежения другой программы (этап 62), так что - в оптимальном случае - вторая программа также сохраняется в памяти полностью в отношении кодовых слов, так что переключение с одной программы на другую программу осуществляется непосредственно, то есть без сквозной задержки, реально обусловленной длинным сверточным перемежителем.
Все это становится возможным, поскольку больше не работают простым способом на побитовой основе, а согласно изобретению работают способом на основе по каждому блоку перемежения, так что только качественная информация должна обрабатываться способом на основе по каждому блоку перемежения. Более того, память приема может считываться способом на основе по каждому блоку перемежения, т.е. пакетно-подобным способом, причем не только операция обращенного распределителя значительно ускоряется при использовании нормальной памяти типа RAM, но и также имеет место улучшение считывания при использовании любой другой памяти, поскольку соседние адреса памяти могут считываться пакетами для получения индивидуальных символов, присутствующих в блоке перемежения, так что выполняется операция обращенного распределителя. Кроме того, может поддерживаться четкая сигнализация, поскольку номер информации времени, подлежащей координации, больше не требуется генерировать, координировать и применять побитовым способом, а требуется только на основе по каждому блоку перемежения, что способствует 128-кратному сокращению в информации, подлежащей координации, если блок перемежения содержит, например, 128 битов или более. Таким образом, точность реально снижается, поскольку уже не имеется информации качества на бит, а только на блок перемежения, то есть в более грубой гранулярности. Однако это не является критичным, поскольку такая точная информация качества не требуется и/или такая информация качества в этой точной гранулярности не всегда настолько показательна в любом случае. В соответствии с изобретением, получение информации качества факультативно настроено, поэтому, на перемежитель, так что сложность модуля оценки канала также может быть снижена равным образом в случае снижения сложности, без обязательных при этом потерь качества.
Далее будут детально рассмотрены стратегии декодера, показанные на основе фиг.4 и фиг.5. Поскольку состояние канала определено ранее для каждого IU, эта побочная информация в обращенном распределителе может быть использована для управления дальнейшими этапами декодирования в нем. Реализация с оптимизированной памятью может быть следующей:
Использование кодов низкой скорости в изменяющемся во времени канале передачи обеспечивает то, что только «хорошие» (незначительно искаженные) IU должны сохраняться. IU с низким качеством сигнала не должны сохраняться. В качестве примера можно указать использование кода со скоростью 1/4, кодовые слова которого состоят из 96 IU. В случае очень хорошего приема примерно 30% IU достаточно, чтобы обеспечить возможность декодировать этот код, то есть 25% кода необходимо для представления информации в коде со скоростью 1/4 плюс 5% избыточности, чтобы детектор мог работать корректно. Если следуют стратегии «сохраняются только лучшие IU», то необходимая память может быть уменьшена до 30%. Соответственно, не 96 IU, а только 30%*96=29 IU, для которых была получена наилучшая оценка канала, сохраняются для каждого кодового слова. Если 29 IU уже сохранены и принимается другой, лучший, чем наихудший принятый ранее, то этот плохой просто заменяется на лучший. Это делается с помощью соответствующего модуля управления перемежителя в обращенном распределителе.
Аналогичная стратегия представляет особый интерес в связи с комбинированием разнесения или в случае, когда мультиплексор включает различные программы.
Концепция 1
- Столько IU, сколько нужно для декодирования, сохраняются выбранной программой (см. пример выше).
- Остаток используется для других программ, так что становится возможной быстрая смена программ (см. быстрый доступ). Поэтому существующая память используется оптимальным образом.
Концепция 2
- В случае объединения разнесения только хорошие IU сохраняются в ранней части. При этом необходимая память становится меньше.
Альтернативно или дополнительно, применяемая стратегия, оптимизированная по потреблению энергии, может быть следующей.
Если принято достаточно «хороших» IU, приемник может выключаться. Приемник, таким образом, непрерывно измеряет качество принятых IU. Если принято достаточно IU с хорошим качеством сигнала, то остальные больше не нужны и могут быть заменены «стираниями». Если, например, система передачи сформирована так, что некоторая дальность (максимальное расстояние между передатчиком и приемником) допустима, все приемники, более близкие к передатчику, принимают данные с более высоким качеством. Таким образом, приемники больше не требуют всех IU для безошибочного декодирования. Если индивидуальные IU больше не требуются, соответствующие части приемника могут выключаться кратковременно вновь и вновь. Тем самым, период работы портативных устройств увеличивается, поскольку среднее потребление мощности снижается. Управление данными существенно упрощается посредством выбранной структуры перемежителя.
Стратегия, оптимизированная посредством быстрого доступа, предоставляется оптимальным образом, если перемежитель конфигурирован для более весомой поздней части, т.е. если третья группа обращенного перемежителя по фиг.10 взвешивается более сильно.
В случае сверточного перемежителя справедливо, что сумма длины линии задержки в передатчике и приемнике равна для всех отводов. Если линия задержки выбрана длинной в передатчике, то линия задержки является соответственно короткой в приемнике. Длинная линия задержки в передатчике означает, что соответствующие данные передаются позже (= «поздняя часть»). Короткая линия задержки в приемнике означает, однако, короткую задержку. Соответствующие биты являются, таким образом, доступными на выходе обращенного распределителя спустя короткое время задержки (= более быстрый доступ = «быстрый доступ»). Эта конфигурация, в частности, выгодна при использовании относительно низкой скорости кода для FEC-кодера.
В итоге, настоящее изобретение, таким образом, включает в себя устройство перемежителя, реализующее функциональность сверточного перемежителя в средстве перемежения, который работает способом на основе по каждому блоку перемежения, причем блок перемежения включает в себя более одного символа. Число битов на символ здесь соответствует длине символа FEC-кодера.
Поэтому структура соответствующего изобретению перемежителя имеет то свойство, что кодовое слово разлагается на последовательность меньших пакетов данных, то есть блоков перемежения. Блок перемежения включает в себя более одного информационного символа и предпочтительно, по меньшей мере, 128 информационных символов. Эти блоки перемежения распределяются на различные соединительные линии с различными задержками посредством демультиплексора, причем соединительные линии и/или линии задержки имеют различные длины или реализуют различные задержки некоторым способом, например, посредством блока памяти FIFO. После соответствующей задержки выходной мультиплексор мультиплексирует выходы соединительных линий вновь в поток данных, который затем подается в модулятор, чтобы в итоге генерировать радиочастотный выходной сигнал.
В предпочтительном варианте осуществления смеситель подсоединен перед распределителем. При этом вводимый недостаток группирования в блоках перемежения, на первый взгляд, компенсируется. Однако, в частности, для FEC-кодов, которые имеют относительно хорошие свойства и без смесителя, также является предпочтительной реализация, способная работать без смесителя, по причинам сложности как на стороне передатчика, так и на стороне приемника.
Если смеситель используется, он функционирует как блочный перемежитель, который подсоединен перед средством перемежения и пересортировывает биты данных или символы данных кодового слова индивидуально, то есть посимвольным или побитовым способом.
Для улучшения функциональности декодера сначала определяется состояние канала на стороне декодера для каждого блока перемежения. После этого последовательность блоков перемежения вместе с информацией состояния канала приводится в первоначальный порядок посредством обращенного распределителя. Выход обращенного распределителя вместе с информацией состояния канала затем обрабатывается далее посредством FEC-декодера. Как пояснено на основе фиг.10, распределитель является конфигурируемым распределителем, имеющим несколько частей, длина которых в блоках перемежения и временная протяженность которых по отношению к задержкам в соответствующих частях могут быть выбраны различным образом, в зависимости от требования. Конфигурация распределителя в трех сегментах, а именно с ранним сегментом, средним сегментом и поздним сегментом, является специальной реализацией. Для некоторых приложений целесообразной может быть конфигурация «ранний-поздний» или «равный-поздний», причем FEC-коды низкой скорости и более весомая поздняя часть предпочтительны в последней конфигурации, чтобы обеспечить возможность быстрого доступа. Альтернативными конфигурациями являются конфигурация «ранний-равный» или конфигурация комплементарного распределителя в случае разнесения передачи. На стороне декодера предпочтителен алгоритм декодера, который сохраняет блоки перемежения, которые являются хорошими и необходимыми для декодирования, в памяти, в то время как худшие заменяются лучшими блоками перемежения, или худшие блоки перемежения не сохраняются. Блоки перемежения не сохраняются также, если канал лучше, чем планировалось. Недоступные блоки перемежения здесь рассматриваются как «стирания».
Эта функциональность может использоваться, в частности, для улучшенного управления энергией, что особенно выгодно для мобильных устройств, которые работают с батарейным питанием, срок службы которых может быть благодаря этому увеличен. В частности, если принято достаточно хороших блоков перемежения, то соответствующая часть приемника отключается в целях сбережения тока батареи питания.
В зависимости от обстоятельств, способы, соответствующие изобретению, могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может быть на цифровом носителе хранения, в частности, на диске или CD, имеющем считываемые электронным способом сигналы управления, способные взаимодействовать с программируемой компьютерной системой, так что будет выполняться соответствующий способ. В принципе, изобретение также заключается в компьютерном программном продукте, имеющем программный код, сохраненный на машиночитаемом носителе, для выполнения способа, когда компьютерный программный продукт исполняется на компьютере. Иными словами, изобретение может, таким образом, также быть реализовано как компьютерная программа, имеющая программный код для выполнения способа, когда компьютерная программа исполняется на компьютере.
Класс H03M13/27 с использованием техники чередования