Научная статья на тему 'Принципы разработки языка для обработки сигналов'

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

CC BY
91
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
алгоритмический язык программирования / обработка сигналов / компилятор / транслятор

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — В Е. Бочаров, В Г. Галаган

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Принципы разработки языка для обработки сигналов»

пластины ), равно взятому с обратным знаком полю тела с тем же значением и направлением намагниченности, форма которого дополняет объем данного отверстия.

В общем случае составляющая поля, сонаправленная с вектором намагниченности, объема V намагниченностью /, характеризующегося размагничивающим фактором N и содержащего в себе п объемов К, намагниченностью /, , имеющих размагничивающие факторы М, может быть представлена через размагничивающие факторы объемов следующим соотношением:

И 1

¡л /.1о

п

- 2 ( / - ) лг,

(• = I

(8)

Полученные соотношения позволяют оценить характеристики элементов ТМЗ различной конфигурации при выполнении термомагнитной регистрации информации в однослойных и многослойных структурах.

Список использованной литературы

1. Вонсовский С.И. Магнетизм. М., 1971. 348 с.

11оступила в редколлегию 04.03.92

УДК 681.325.5-181.4

В.Е. БОЧАРОВ,канд.техн.наук, доц., В.Г. ГЛЛЛГАП, канд. техн. наук, нач. сектора

ПРИНЦИПЫ РАЗРАБОТКИ ЯЗЫКА ДЛЯ ОБРАБОТКИ СИГНАЛОВ

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

Проблема цифровой обработки сигналов на базе универсальных вычислительных систем предусматривает необходимость создания эффективного программного обеспечения. В таких проблемно ориентированных задачах эффективность программного обеспечения в значительной степени определяется возможностью представления реальных сигналов и алгоритмов обработки в виде, наиболее адекватном их физическому эквиваленту, с возможностью создания алгоритмов цифровой обработки сигналов в реальном масштабе времени. Удовлетворение этих требований к программному обеспечению инструментальными средствами традиционных языков высокого уровня обусловливает, как правило, значительные затраты труда квалифицирован© В.Е.Бочаров, В.Г.Галаган, 1993

ных программистов. Стремление повысить производительность написания программ, а также сделать сам процесс программирования задач цифровой обработки сигналов более доступным для специалиста-предметника привело к идее создания алгоритмического языка обработки сигналов (ЯОС ) [1,2 ]. Язык, отвечающий указанным целям, должен быть проблемно ориентированным языком высокого уровня, эффективно обеспечивающим типичные алгоритмы цифровой обработки сигналов (цифровая фильтрация, спектральный анализ, нелинейная обработка, многоканальная обработка, оценка параметров, модуляция и демодуляция [3]). Характерные особенности предлагаемого ЯОС отражены в приведенных ниже понятиях и операторах.

В предлагаемом ЯОС ключевым является понятие дискретного сигнала (ДС) как неограниченной последовательности чисел — отсчетов непрерывного сигнала-эквивалента. Такое представление сигнала исключает необходимость оперировать отрезками сигнала на уровне операторов и объектов ЯОС, а также позволяет представлять сложные алгоритмы обработки сигналов в форме, близкой к математической. Решение задачи физического представления неограниченного сигнала в памяти ЭВМ возлагается при этом на транслятор [4 ]. Эти особенности ДС позволят, по нашему мнению, значительно упростить программирование многих алгоритмов. Кроме того, при таком представлении ДС сложные алгоритмы в программе могут представляться в традиционной форме — уравнениями или функциями (функционалами), «понятными» транслятору ЯОС [ 5,6,7 ]. Такой подход, в свою очередь, позволяет использовать возможности прогрессивной концепции функционального программирования [1].

Другим важным понятием ЯОС следует считать понятие дискретных временных шкал — основной и прореженных. ?то позволяет представить в рамках одного алгоритма разнообразные виды дискретных сигналов с различной размерностью отсчетов, взаимно прореженных и/или задержанных относительно друг друга, а также однозначно синхронизированных при взаимных операциях в задаче.

Предметная ориентация диктует необходимость представления средствами ЯОС отрезков дискретного сигнала в виде массивов, чщ;ел и генерации сигналов из отсчетов массива.

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

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

27

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

ЗАДАЧА определяется как совокупность программ для ЭВМ (комплекс программ) и аппаратных средств ввода-вывода дискретных сигналов, которые связаны друг с другом в том смысле, что для их функционирования и взаимодействия использованы средства ЯОС.

ОСНОВНАЯ ВРЕМЕННАЯ ШКАЛА (ОВШ ) представляет собой множество моментов времени, расположенных эквидистантно с базовым периодом Те на временной оси ( 7б ассоциируется с минимальным периодом дискретизации сигнала ). Все моменты времени пронумерованы последовательностью целых чисел так, что любой момент времени определяется как пТй.

ДОПОЛНИТЕЛЬНЫЕ ВРЕМЕННЫЕ ШКАЛЫ ( ДВШ ) представляют собой множества моментов времени временной шкалы, расположенных эквидистантно с периодом Тк = КТЬ, где К— коэффициент прореживания относительно ОВШ. Моменты времени дополнительных шкал также пронумерованы последовательностью целых чисел а ). При этом номер момента времени определяется как (/К + Р )/Гб, гдсР — задержка нулевого момента времени ДВШ относительно нулевого момента ОВШ, измеримая количеством отсчетов ОВШ. Две временные шкалы являются СОГЛАСОВАННЫМИ, если их коэффициенты прореживания/С1 и/С2кратны, т.е./Г1 = тК2(т — целое число или правильная дробь ), и разность задержки Р\ и Р2 по модулю меньшего из К равна нулю: /Р1— /'2/тосЗ тш ( К\, К2 ) = 0. Это условие соответствует совпадению моментов времени более и менее прореженных шкал. Это позволяет выполнять взаимные операции в задачах над сигналами, «промасшта-бированными» ( проградуированными ) такими шкалами, принимая равными нулю отсутствующие отсчеты сигнала, соответствующего более прореженной шкале.

ДИСКРЕТНЫЙ СИГНАЛ — неограниченная последовательность чисел ( действительных,, если сигнал действительный, или комплексных, если сигнал комплексный ). При этом, если последовательность чисел одна, то сигнал одноразмерный или одноканальный, если N последовательностей, то сигнал Л^-размерный — X ( N) — или многоканальный. Каждое число представляет собой мгновенное значение «первообразного» непрерывного сигнала в моменты времени, определенные временной шкалой, которой «промасштабирован» сигнал ( одно- или //-мерный ). Таким образом, отсчеты сигнала всегда эквидистантны с периодом Тк или Тъ. Период дискретизации любого ДС может быть различным, но должен быть кратен базовому Тъ (7\ = К Тс,). Базовый период дискретизации Тъ принимается в качестве системного параметра задачи и может определяться как физическое время, если решается задача реального масштаба времени, связанная с внешними реальными сигналами.

ГРУППОВОЙ СИГНАЛ представляет собой несколько сигналов на единой шкале < основной или дополнительной). Определяется как отображение временной шкалы на область конечномерных векторов. Количество сигналов в групповом сигнале соответствует размерности векторов.

ТЕКУЩИЙ МОМЕНТ ВРЕМЕНИ ( ТМВ ) — специальный системный параметр, отражающий момент времени в процессе выполнения задачи. Назначение ТМВ — идентификация текущего времени задачи и минимизация требуемого для выполнения задачи объема памяти за счет ограничений на действия исполняемых операторов языка. В частности, текущие моменты времени дискретного сигнала совпадают с моментами времени той временной шкалы, которой он промасш-табирован, а выборки значений сигнала производятся только в эти моменты. Использовать отсчеты сигнала предыдущих ТМВ возможно, запомнив (задержав ) их, а последующих ТМВ — подождав наступления заданного момента.

ТМВ может изменяться в процессе выполнения задачи различным образом в зависимости от ее типа. Если задача не связана с реальным временем и сигналы генерируются в самой задаче, то ТМВ может изменяться без связи с реальным масштабом времени. Если задача выполняется в реальном масштабе времени, то ТМВ по умолчанию возрастает по мере поступления отсчетов от внешнего источника. В понятии ТМВ еще более важным обстоятельством является то, что операция, выполняемая оператором ЯОС, может производиться только в ТМВ. При этом ТМВ назначается исполняемому оператору посредством отождествления с моментом времени одной из временных шкал, реализующихся в рамкгл решения задачи. Если оператор выполняет операцию над несколькими сигналами, промасштабирован-ными различными, но согласованными шкалами, то ТМВ может быть отождествлен с понятием моментов взаимной синхронизации этих сигналов. Другими словами, ТМВ обозначает момент времени, когда все участвующие в операции сигналы достигают состояния готовности к взаимодействию.

Таким образом, программа представляет собой совокупность процессов, порождающих на выходе дискретные сигналы, представленные отсчетами в ТМВ, присвоенных данному процессу. Такое представление создает концепцию выполнения программы как протекание параллельных ( или квазипараллельных ) взаимно синхронизирующихся в ТМВ процессов. Количество процессов, порождаемых.программой, зависит от количества исполняемых операторов, порождающих на выходе сигнал. Сигналы с выходов операторов могут быть использованы другими операторами. Кроме того, ряд операторов может быть объединен в один процесс, если их ТМВ совпадают.

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

29

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

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

В соответствии с принципами, изложенными выше, авторами разработана совокупность операторов, которая отвечает концепции проблемно ориентированного языка. Для ряда типовых задач цифровой обработки составлены программы в терминах операторов предлагаемого ЯОС и согласованного с ним ФОРТРАНа. Проделанная работа позволяет сформулировать техническое задание на разработку транслятора ЯОС.

Слисок иснользованной литературы

1. Шоу А. Логическое проектирование операционных систем М., 1981. 359 с.2. Левин Р., Дранг Д., Эдельсон Б. Практическое введение в технологию искусственного интеллекта и экспертных систем с иллюстрациями на БЕЙСИКЕ. М., 1991. 235 с. 3. Сверхбольшие интегральные схемы и современная обработка сигналов /Под ред. С. Гука.Х. Уайтхауса, Т. Кайлата. М., 1989.359 с. 4. Затуливетер Ю.С., Нестеров АГ. Генератор трансляторов «Политран». М., 1990. 38 с. (Институт проблем управления), Деп. 28.05.90, № 2900—890. 5. Языки программирования и компиляции. Бухарест, 1987 (ВНТИ центр. Перевод № С—47452). 6. Языки программирования и когпиляции. Бухарест, 1987 ( ВНТИ центр. Перевод № С—47427 ). 7. ХэннесиД, Ганапати М. Успехи в технологии компиляторов // Ann. Rev. of Computer Science, USA, Palo Alto, Calif, v.1.1986 (ВНТИ центр. Перевод № С—3467/9).

Поступила в редколлегию 19.02.92

i Надоели баннеры? Вы всегда можете отключить рекламу.