Литература
1. Ретана Ф. Принципы проектирования корпоративных 1Р-сетей. - М.: Вильямс, 2002. - 368 с.
2. Богатырев В. А. Оптимизация отказоустойчивых кластеров с неполнодоступностью узлов и неоднородностью потока запросов // Информационные технологии. - 2008. - № 2. - С. 30-36.
3. Богатырев В. А. Оптимальное резервирование системы разнородных серверов // Приборы и системы. Управление, контроль, диагностика. - 2007. - № 12. - С. 30-36.
4. Богатырев В.А., Богатырев С.В. Объединение резервированных серверов в кластеры высоконадежной компьютерной системы // Информационные технологии. - 2009. - № 6. - С. 41-47.
5. Богатырев В.А. Надежность вариантов размещения функциональных ресурсов в однородных вычислительных сетях // Электронное моделирование. - 1997. - № 3. - С. 21-29.
6. Богатырев В.А. Отказоустойчивость распределенных вычислительных систем динамического распределения запросов и размещение функциональных ресурсов // Наука и образование: электронное научно-техническое издание. - 2006. - № 1 [Электронный ресурс]. - Режим доступа: http://technomag.edu.ru/doc/56860.html, свободный. Яз. рус. (дата обращения 1.02.2010).
7. Богатырев В.А. Метод оценки надежности вычислительных систем при функциональной неоднородности компьютерных узлов // Приборы и системы. Управление, контроль, диагностика. - 2006. -№ 12. - С. 20-22.
8. Богатырев В.А. Оценка надежности и оптимизация комплектации вычислительных систем при резервировании функционально неоднородных компьютерных узлов // Информационные технологии. - 2007. - № 5. - С. 41-47.
9. Богатырев В.А., Богатырев С.В. Надежность компьютерных систем при объединении серверов в кластерные группы // Информационные технологии моделирования и управления. - 2009. - № 4. -С. 548-552.
10. Богатырев В.А., Богатырев С.В. Критерии оптимальности многоустойчивых отказоустойчивых компьютерных систем // Научно-технический вестник СПбГУ ИТМО. - 2009. - № 5. - С. 92-97.
Богатырев Владимир Анатольевич - Санкт-Петербургский государственный университет информационных технологий, механики и оптики, доктор технических наук, профессор, [email protected]
Богатырев Станислав Владимирович - Санкт-Петербургский государственный университет информационных технологий, механики и оптики, аспирант, [email protected]
Богатырев Анатолий Владимирович - Санкт-Петербургский государственный университет информационных технологий, механики и оптики, студент, [email protected]
УДК 621.3.085.42
ПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛА А.А. Ожиганов, П.А. Прибыткин
Предложен новый тип кодовых шкал для цифровых преобразователей угла (ЦПУ) - псевдорегулярные кодовые шкалы. Рассмотрен метод их построения, основанный на использовании композиции нелинейных рекуррентных последовательностей и регулярных двоичных кодовых шкал. Приведен пример построения псевдорегулярной кодовой шкалы.
Ключевые слова: преобразователь угол-код, цифровой преобразователь угла, кодовая шкала, считывающие элементы, рекуррентная последовательность, псевдорегулярная кодовая шкала, последовательность де Брейна, нелинейная кодовая шкала.
Введение
ЦПУ являются измерительными преобразователями, служащими для ввода аналоговой информации об объекте в различные цифровые системы автоматического управления. Среди ЦПУ особое место занимают преобразователи абсолютного типа, основанные на методе считывания с пространственным кодированием [1, 2]. Основные требования к таким преобразователям - точность преобразования, быстродействие, надежность, стойкость к внешним воздействующим факторам и др. Достаточно хорошо изучены основные способы получения высокой точности и разрешающей способности ЦПУ, если нет ограничений в габаритах преобразователей. Но в ряде применений ЦПУ актуальна задача увеличения точности и разрешающей способности при одновременном уменьшении их габаритов [3].
Достижение этих технических требований во многом зависит от применяемой в ЦПУ кодовой шкалы (КШ), которая определяет число кодовых дорожек (КД), а также число и размещение считывающих элементов (СЭ). Среди разных типов построения кодовых шкал для ЦПУ [2] наибольшее распространение получили КШ, выполненные в обыкновенном двоичном коде - регулярные КШ, в циклическом коде - обычно в коде Грея, и в специальном коде. Наиболее перспективными являются кодовые шкалы с применением теории рекуррентных последовательностей - рекурсивные кодовые шкалы (РКШ) [4], позволяющие строить однодорожечные ЦПУ [5], двухдорожечные нереверсивные ЦПУ с двумя СЭ и реверсивные ЦПУ с подготовительными квантами [6], встречающиеся в литературе как «квазиабсолютные», а также КШ с возможностью формирования корректирующих кодов [7].
Различают КШ на основе линейных рекуррентных последовательностей (РП) и КШ на основе нелинейных РП в зависимости от свойства линейности или нелинейности (по отношению к оператору суммирования по модулю 2) рекуррентного соотношения, используемого для построения РП. Особенностью
КШ на основе линейных РП является то, что они имеют информационную емкость 2п -1, п = 1, 2, 3,... значений кода, не совместимую со многими техническими системами, в которые встраивается ЦПУ. В свою очередь, КШ на основе нелинейных РП позволяют осуществлять размещение СЭ вдоль КД шкалы единственным образом - с шагом в один квант. При конечных размерах СЭ (например, фотоприемников в фотоэлектрических ЦПУ) такое их размещение существенно ограничивает разрядность КШ.
С практической точки зрения применение РКШ для построения высокоразрядных малогабаритных ЦПУ связано с рядом ограничений конструктивного и особенно технологического характера, накладываемых минимальным размером градации кодовой шкалы, чувствительностью и размерами СЭ.
В связи с этим актуальной задачей является разработка кодовых шкал с учетом обозначенных ограничений, которые позволят создавать высокоразрядные малогабаритные ЦПУ. Такие кодовые шкалы в сравнении с классическими КШ должны иметь высокую информационную емкость при малом числе кодовых дорожек.
Теоретические основы построения псевдорегулярных кодовых шкал
Известны сдвигающие регистры, или регистры сдвига с обратной связью - электронные переключательные схемы специального вида, перерабатывающие информацию, заданную в форме соответствующим образом представленных элементов поля Галуа ОЕ(2) [8]. В общем виде п -позиционный регистр сдвига состоит из п последовательно соединенных триггерных ячеек. В результате действия к +1 тактовых импульсов, где к - целое неотрицательное число; состояние каждой ячейки (йк,ак+1,.,ак+п-\) £ {0,1} сдвигается в соседнюю ячейку. При введении обратной связи
/ (( xl,.^^, хп—1) = с0 х0 + с1х1 + + сп-1хп-1, (1)
где с, £ ОЕ(2), сдвигающий регистр оказывается в режиме непрерывной смены состояний.
С помощью булевой функции обратной связи (1) определяется п -е состояние регистра (после п тактов работы) как ап = / (ао, аь..., ап-1).
Таким образом, символы двоичной последовательности на выходе регистра сдвига удовлетворяют рекуррентному соотношению [9]
ап+} = Ип-1ап-1+} + Ип-2ап-2+} + .•• + И1а]+1 + а} , (2)
где И, £ ОЕ(2), ] = 0,1,....
Для работы регистра необходимо задать начальное состояние триггерных ячеек (,а1,...,ап-1), причем нулевая комбинация является запрещенной, так как порождает последовательность из одних нулей. Функцию обратной связи (1) можно представить также в форме полинома порядка п с коэффициентами из поля Галуа ОЕ (2), называемого характеристическим полиномом,
И(х) = Ипхп + Ип-1хп-1 +... + И1х + И0, (3)
где И0 = Ип = 1,, И, £ ОЕ(2).
Рекуррентная последовательность с линейной функцией обратной связи вида (1) может иметь
максимальный период 2п -1, т.е. 2п возможных состояний регистра, за исключением нулевой комбинации. Такую последовательность называют псевдослучайной последовательностью максимальной длины над полем ОЕ (2) (ПСПМД), или М -последовательностью. Для ее построения необходимо и достаточно, чтобы характеристический полином являлся примитивным полиномом [8] над полем ОЕ (2), а начальное состояние - отличным от нулевого. Кодовые шкалы на основе ПСПМД имеют информационную емкость 2п -1 и носят название псевдослучайные кодовые шкалы (ПСКШ).
М -последовательности относятся к классу циклических кодов и могут задаваться с помощью порождающего полинома [8]
( ) х2" -1 +1
где к(х) - характеристический полином, задаваемый (3).
Для каждой ПСПМД длиной М = 2" -1 существует ровно 2" -1 различных циклических сдвигов, которые могут быть получены путем умножения порождающего полинома g (х) на х1, где I = 0,1,..., М -1. Порядок размещения на ПСКШ " считывающих элементов определяется через запись циклических сдвигов, т.е. СЭ с номером т (т = 1,2,..., " ) ставит в соответствие с 1т циклический
сдвиг хImg(х) М -последовательности. Тогда полином, определяющий порядок размещения на шкале " СЭ, имеет вид [4]
г (х) = х11 + х12 +... + х1", 1т е 0,1,..., М -1. (4)
Между тем псевдослучайные последовательности с нулевой комбинацией получаются с помощью регистра сдвига с нелинейной функцией обратной связи
/((хl,.,х"-1) = с0х0 + с1х1 + + С"-1х"-1 + х1 х2 х"-1 , (5) где х является дополнением х; с е ОЕ(2). Такие последовательности имеют период 2" и являются частным случаем последовательностей де Брейна.
Символы нелинейной последовательности удовлетворяют рекуррентному соотношению
Ъ"+] = -1Ъ"-1+] + ^"-2Ъ"-
2+у + . + 1гф] +1 + Ь] + Ъ"-1+Д-2+у ...Ь] +1, (6)
где ] = 0,1,... . Начальные символы последовательности ЪА.-.Ъ"- выбираются произвольно. Рекуррентное соотношение (6) отличается от соотношения для линейных псевдослучайных последовательностей (2) только наличием последнего слагаемого - произведения значений " -1 символов.
Кодовые шкалы на основе нелинейных рекуррентных последовательностей имеют разрешающую способность q = 360°/ 2" и носят название нелинейные кодовые шкалы (НКШ). Для их построения характеристический полином вида (3), как и в случае ПСКШ, должен быть примитивным над полем ОЕ (2).
Размещение СЭ на НКШ, в отличие от ПСКШ, в силу нелинейных свойств применяемых последовательностей может осуществляться только единственным образом, причем с шагом, равным одному кванту, т.е. в соответствии с полиномом размещения
~(х) = 1 + х + х2 +... + х"-1. (7)
Единственность такого размещения отражает существенный недостаток НКШ, ограничивающий их применение для построения малогабаритных высокоразрядных ЦПУ.
Принцип композиции рекурсивных кодовых шкал
Преобразователи считывания представляют собой систему из I параллельно работающих N -разрядных преобразователей угла. Такой подход позволяет комбинировать КД, основанные на разных базовых методах пространственного кодирования, на каждой из которых происходит преобразование перемещения в соответствующую группу разрядов выходного кода [3, 10].
Пусть ЦПУ имеет р КД в порядке от старшей дорожки, с которой считывается старший по весу разряд, до младшей дорожки, с которой считывается младший по весу разряд. Период функции преобразования каждой КД - , где I = 1, р . В случае однооборотного ЦПУ с диапазоном изменения угла от 0° до 360° для первой КД = 360°, а для каждой последующей -
+1 =~ ,
NI
где N1 - число уровней квантования I -й кодовой дорожки.
В общем случае информационная емкость преобразователя равна
N = П N1 ,
I=1
а период функции преобразования каждой дорожки составляет
Пусть старшая КД строится в соответствии с символами РП длиной £. Пусть следующая за старшей КД также строится в соответствии с символами РП длиной £>2, причем в угловом секторе, соответствующем одному символу последовательности старшей КД, укладывается один период последовательности младшей КД, т.е. последовательность длиной £2 на младшей дорожке имеет £ периодов ^2 = ^1/Л = 3607£. Такое построение аналогично структуре регулярных двоичных КШ, в которых одному символу из {0,1} старшей дорожки соответствует последовательность 01 младшей дорожки.
Кодовую шкалу, представляющую собой композицию РКШ и регулярных КШ, в которой одному символу старшей КД ставится в соответствие один период РП на следующей КД, будем называть псевдорегулярной кодовой шкалой (ПРКШ).
Метод построения ПРКШ на основе нелинейных последовательностей
Основные этапы метода заключаются в следующем.
1. Для построения старшей КД выбирается характеристический полином вида (3), который должен являться примитивным над полем ОЕ (2). Информационная емкость старшей КД Л будет определяться порядком полинома п1.
2. Строится один период последовательности длиной £ = 2п1 . Для этого произвольным образом выбираются начальные значения П1 символов последовательности. Остальные 2п1 - П1 символов генерируется в соответствии с рекуррентным соотношением (6) при ] = 0,1,..., 2п - П1 -1.
3. Градации старшей КД выполняются в соответствии с символами полученной последовательности.
4. Производится размещение на КД п1 считывающих элементов в соответствии с полиномом размещения (7), т.е. с шагом в один квант ^ = ^.
5. Для построения младшей КД выбирается характеристический полином вида (3), который также должен являться примитивным над полем ОЕ (2) . Информационная емкость младшей КД Л 2 будет определяться порядком полинома п2 .
6. Строятся £1 периодов последовательности длиной £2 = 2п2. Для этого произвольно выбираются начальные значения П2 символов последовательности. Остальные £1 • 2п2 - П2 символов генерируются в соответствии с рекуррентным соотношением (6) при ] = 0,1,..., £1 • 2п2 -П2 -1.
7. Градации младшей КД выполняются в соответствии с символами полученной последовательности. Квант младшей дорожки ^ = ^з = 360°/Л^Л .
8. Производится размещение на КД п2 считывающих элементов в соответствии с полиномом размещения (7). В отличие от старшей КД размещение каждого СЭ может осуществляться не единственным образом, а в соответствии с соотношением а^ + Ч3 , а е {0,1,..., 2п -1}. Коэффициент а выбирается при проектировании ЦПУ из конструктивных соображений и позволяет наиболее рационально и технологично осуществить компоновку СЭ вдоль кодовой шкалы преобразователя.
Информационная емкость ЦПУ с такой ПРКШ, состоящей из двух дорожек, составит N = N^2 . Заметим, что число КД в общем случае не ограничено двумя.
Сгенерированную таким образом последовательность 00010111 используем для построения кодовой дорожки ЦПУ. При размещении трех считывающих элементов вдоль этой дорожки с шагом в один
360°
Пример построения ПРКШ
Рассмотрим нелинейную РП длиной 23 (п1 = 3), для построения которой будем использовать примитивный полином к(х) = х3 + х +1, начальные значения ¿0^2 зададим как 000. Рекуррентное соотношение последовательности, согласно (6), примет вид
Ь3+} = Ь} + ¿1+} + ¿1+уЬ2+] .
квант получим 2 = 8 значений кода. Эту трехразрядную дорожку возьмем в качестве старшей дорожки 7 ЦПУ, тогда период второй дорожки будет ^ = 360°/ 8 = 45°. Это же значение ^ является дискретностью преобразования (квантом) первой дорожки.
Вторую дорожку большего диаметра также выполним в соответствии с символами приведенной выше последовательности. Дорожка Т2 будет содержать 8 периодов последовательности 00010111, т.е. примет вид
0001011100010111000101110001011100010111000101110001011100010111.
При этом каждый период геометрически будет заполнять дугу окружности диаметра второй дорожки с центральным углом ^2, который соответствует одному символу старшей дорожки 7. Тогда шаг размещения считывающих элементов вдоль второй дорожки, благодаря тому, что она содержит 8 периодов последовательности, составит а360°/8 + 360°/64 , где а е 10,1,..., 23 -1|. Коэффициент а выбирается при проектировании ЦПУ.
Линейная развертка рассматриваемой в примере КШ приведена на рис. 1. ЦПУ с такой кодовой
шкалой, состоящей из двух дорожек, обладает разрешающей способностью q2 = 360°/26 , т.е. имеет 64 значения кода угла. На рис. 2 показана круговая КШ с одним из вариантов размещения считывающих элементов.
Т2 Т1
£2
СЭ 2,3
СЭ 1,1 СЭ 1,2 СЭ 1,3
СЭ 2,2
А
Рис. 1. Линейная развертка шестиразрядной ПРКШ
СЭ 2,3
СЭ 2,1
Рис. 2. Шестиразрядная ПРКШ Заключение
Предлагаемый принцип построения ПРКШ позволяет строить высокоразрядные цифровые преобразователи угла в уменьшенных габаритах с учетом технологических и конструктивных ограничений, таких как минимальная ширина градации и шаг размещения считывающих элементов. Преодоление этих ограничений особенно актуально при построении фотоэлектрических цифровых преобразователей угла, которым присущи высокая точность, технологичность, бесконтактность и ряд других преимуществ. Так, построенные по разработанному методу кодовые шкалы позволили создать в ОАО «Авангард» 18- и 20-разрядные фотоэлектрические ЦПУ с диаметрами всего 80 мм и 120 мм соответственно.
РЕАЛИЗАЦИЯ АЛГОРИТМА ШУМОПОДАВЛЕНИЯ В РЕЧЕВОМ ТРАКТЕ..
Литература
1. Преснухин Л.Н. Фотоэлектрические преобразователи информации / Л.Н. Преснухин, В.Ф. Шаньгин, С.А. Майоров, С.А. Меськин. - М.: Машиностроение, 1974. - 376 с.
2. Домрачев В.Г., Мейко Б.С. Цифровые преобразователи угла: принципы построения, теория точности, методы контроля. - М.: Энергоатомиздат, 1984. - 328 с.
3. Асиновский Э.Н. и др. Высокоточные преобразователи угловых перемещений / Под ред. А. А. Ах-метжанова. - М.: Энергоатомиздат, 1986. - 128 с.
4. Азов А.К., Ожиганов А.А., Тарасюк М.В. Рекурсивные кодовые шкалы // Информационные технологии. - 1998. - № 6. - С. 39-43.
5. Ожиганов А.А., Прибыткин П.А. Кодовые шкалы на основе нелинейных последовательностей для преобразователей угловых перемещений // Научно-технический вестник СПбГУ ИТМО. - 2010. -Вып. 4. - С. 81-84.
6. Ожиганов А.А., Прибыткин П.А. Использование нелинейных последовательностей при построении двухдорожечных кодовых шкал для преобразователей угловых перемещений // Изв. вузов. Приборостроение. - 2010. - Т. 53. - № 7. - С. 39-44.
7. Ожиганов А.А., Прибыткин П.А. Анализ возможностей применения корректирующих кодов в рекурсивных кодовых шкалах // Сб. научных трудов аспирантов, соискателей и студентов магистерской подготовки ОАО «Авангард». - 2010. - Вып. 2. - С. 70-77.
8. Лидл Р., Нидеррайтер Г. Конечные поля. В 2-х т. Т. 2. / Пер. с англ. - М.: Мир, 1988. - 822 с.
9. Macwilliams J., Sloane N. Pseudo-random sequences and arrays // Proceedings of the IEEE. - 1976. -V. 64. - № 12.
10. Габидулин М. А. Фотоэлектрические цифровые преобразователи перемещений пространственного кодирования // Искусственный интеллект. - 2008. - № 3. - С. 272-281.
Ожиганов Александр - Санкт-Петербургский государственный университет информационных технологий, Аркадьевич механики и оптики, доктор технических наук, профессор, [email protected]
Прибыткин Павел - ОАО «Авангард», начальник научно-исследовательского сектора, Александрович [email protected]
УДК 004.043
РЕАЛИЗАЦИЯ АЛГОРИТМА ШУМОПОДАВЛЕНИЯ В РЕЧЕВОМ ТРАКТЕ СИСТЕМ МОБИЛЬНОЙ СВЯЗИ НА БАЗЕ СБИС С.О. Чураев, А.Д. Адамова, Т. Т. Палташев
Приведен анализ вопросов аппаратной реализации комплексных алгоритмов цифровой фильтрации для речевого канала систем сотовой связи и последующей их коммерциализации на основе полузаказных СБИС и ПЛИС. Использован алгоритм адаптивного шумоподавления с применением прямого/обратного преобразования Фурье и фильтрации речевого сигнала по методу Винера.
Ключевые слова: фильтр Винера, временные домены, частотные домены, тактовые частоты, двухпортовая память, конечный автомат.
Введение
В данной работе отражены актуальные вопросы аппаратной реализации комплексных алгоритмов цифровой фильтрации в заказных сверхбольших интегральных схемах (СБИС) и программируемых логических интегральных схемах (ПЛИС) [1-5]. Рассматривается переход от алгоритмов, реализованных программно на языке С и адаптированных под микропроцессорную платформу, к проектированию СБИС на языке Verilog [6-8]. Применен алгоритм адаптивного подавления внешнего акустического шума, проникающего в канал связи вместе с речью человека через микрофон и не несущего полезной информации [1-5]. Для решения этой задачи использовано прямое/обратное преобразование Фурье и винеровская фильтрация речевого сигнала. Конечной целью является создание законченного RTL кода на языке Verilog для последующего изготовления специализированного ядра заказной СБИС шумоподавления и установки в телефоны компаний-производителей систем мобильной связи. Проектирование СБИС обусловлено требованиями увеличения скорости обработки данных и снижения энергопотребления подобных устройств. Необходимость выполнения данного проекта также продиктована требованием заказчиков снижения цены ключевых компонентов продукта в 5-10 раз. Далее рассмотрены важнейшие моменты аппаратной реализации [7].