авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:   || 2 |
-- [ Страница 1 ] --

УДК 621.38(075.8)

ББК 32.94-5я73

МИНОБРНАУКИ РОССИИ

У 91

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕРВИСА»

(ФГБОУ ВПО «ПВГУС»)

Рецензент Кафедра «Информационный и электронный сервис»

д.т.н., проф. Шакурский В. К.

УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС по дисциплине «Цифровая обработка аудио- и видеосигналов»

для студентов специальности 210312.65 «Аудиовизуальная техника»

Учебно-методический комплекс по дисциплине «Цифровая У 91 обработка аудио- и видеосигналов» / сост. В. Н. Будилов. – Тольятти : Изд-во ПВГУС, 2012. – 68 с.

Для студентов специальности 210312.65 «Аудиовизуальная техника».

Одобрено Учебно-методическим Советом университета Составитель Будилов В. Н.

© Будилов В. Н., составление, © Поволжский государственный университет сервиса, Тольятти СОДЕРЖАНИЕ 1. Рабочая учебная программа дисциплины............................................................................................. 1.1. Цели и задачи изучения дисциплины............................................................................................. 1.2. Структура и объем дисциплины..................................................................................................... 1.3. Содержание дисциплины................................................................................................................ 1.4. Требования к уровню освоения дисциплины и формы текущего и промежуточного контроля.......................................................................................................................................... 2. Конспект лекций..................................................................................................................................... 2.1. Основы цифровой обработки сигналов.......................................................................................... 2.2. Анализ и обработка аудио- и видеосигналов.............................................................................. 2.3. Аппаратные средства цифровой обработки сигналов................................................................ 3. Практические занятия........

................................................................................................................... 3.1. Аналого-цифровые и цифро-аналоговые преобразователи....................................................... 3.2. Погрешности и качество цифровых аудио- и видеосигналов.................................................... 3.3. Дискретная свертка........................................................................................................................ 3.4. Фильтры с бесконечной импульсной характеристикой............................................................. 3.5. Цифровой анализ спектральных и временных характеристик сигналов.................................. 3.6. Кодирование и обработка сигналов изображения...................................................................... 3.7. Кодирование и обработка сигналов звука................................................................................... 4. Лабораторные работы........................................................................................................................... 4.1. Аналого-цифровые и цифро-аналоговые преобразователи....................................................... 4.2. Цифровой фильтр с конечной импульсной характеристикой................................................... 4.3. Цифровой фильтр с бесконечной импульсной характеристикой.............................................. 4.4. Дискретное косинусное преобразование..................................................................................... 5. Самостоятельная работа....................................................................................................................... 5.1. Методические рекомендации к самостоятельному изучению разделов дисциплины............ 5.2. Подготовка к практическим занятиям......................................................................................... 5.3. Подготовка к лабораторным работам.......................................................................................... 6. Учебно-методическое обеспечение дисциплины.............................................................................. 6.1. Основная литература..................................................................................................................... 6.2. Дополнительная литература.......................................................................................................... 7. Методические рекомендации преподавателю.................................................................................... 8. Методические указания студентам по изучению дисциплины........................................................ 9. Материально-техническое обеспечение дисциплины....................................................................... 10. Программное обеспечение использования современных информационно коммуникационных технологий......................................................................................................... 1. РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА ДИСЦИПЛИНЫ 1.1. Цели и задачи изучения дисциплины Цель изучения дисциплины «Цифровая обработка аудио- и видеосигналов» – формировать готовность к деятельности по моделированию устройств, систем и процессов цифровой обработки сигналов с помощью пакетов прикладных компьютерных программ.

Дисциплина рассматривает технические решения, применяемые для обработки звуковой информации (аудио) и визуальной информации (видео).

Задачи изучения дисциплины состоят в том, что в результате изучения студенты должны:

- знать принципы, основные алгоритмы и устройства цифровой обработки сигналов;

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

В учебном плане дисциплина относится к специальным дисциплинам.

Для изучения дисциплины необходимы знания по дисциплине «Физика».

Полученные в ходе изучения дисциплины знания используются в следующих дисциплинах:

«Акустика», «Телевидение», «Мультимедийная техника и технология производства аудиовизуаль ных программ», «Аудиотехника», «Видеотехника».

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

Практическая значимость основана на широком использовании звуковой и визуальной информа ции в быту и на производстве.

1.2. Структура и объем дисциплины В соответствии с учебным планом на изучение дисциплины «Цифровая обработка аудио- и видеосигналов» отведено 118 часов.

В качестве итоговой формы контроля предусмотрены:

- для очной формы обучения: зачет и экзамен в 7 семестре;

- для заочной формы обучения: зачет и экзамен в 8 семестре.

Таблица 1. Распределение фонда времени по семестрам, неделям, видам занятий № Число Количество часов по плану Количество часов в неделю Самост. рабо семе- недель та стра Всего Лек- Лаб. Практ. Всего Лек- Лаб. Практ. Часов Часов ции заня- заня- ции заня- заня- всего в не тия тия тия тия делю очная форма обучения 7 17 118 28 14 14 4 2 1 1 62 заочная форма обучения 8 17 118 8 10 - 6 3 3 - 100 1.3. Содержание дисциплины Распределение фонда времени по темам и видам занятий приведено в табл. 1.2, 1.3.

Таблица 1. Распределение фонда времени по темам и видам занятий для очной формы обучения № Наименование разделов по темам Аудиторные занятия Самост. Всего работа часов Лекции Лаб. Практ.

занятия занятия Тема 1. Основы цифровой обработки сигналов 1.1 аналого-цифровые и цифро- 4 12 8 30 аналоговые преобразователи, погрешности и качество цифровых аудио- и видеосигналов;

1.2 ортогональные преобразования сиг- налов и алгоритмы их быстрого вы числения;

1.3 дискретная свертка;

Тема 2. Анализ и обработка аудио- и видеосигналов 2.1 цифровой анализ спектральных и 4 2 6 20 временных характеристик сигналов;

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

2.3 ортогональная и гексогональная структуры дискретизации изображе ния;

кодирования и обработки сиг налов изображения и звука;

Тема 3. Аппаратные средства цифровой обработки сигналов 3.1 процессоры для обработки аудио- и 4 - - 12 видеосигналов;

3.2 программно-аппаратные средства разработчика системы цифровой об работки сигналов.

Итого за 7 семестр 28 14 14 62 Таблица 1. Распределение фонда времени по темам и видам занятий для заочной формы обучения № Наименование разделов по темам Аудиторные занятия Самост. Всего работа часов Лекции Лаб. Практ.

занятия занятия Тема 1. Основы цифровой обработки сигналов 1.1 аналого-цифровые и цифро- 1 8 - 51 аналоговые преобразователи, погрешности и качество цифровых аудио- и видеосигналов;

1.2 ортогональные преобразования сиг- налов и алгоритмы их быстрого вы числения;

1.3 дискретная свертка;

№ Наименование разделов по темам Аудиторные занятия Самост. Всего работа часов Лекции Лаб. Практ.

занятия занятия Тема 2. Анализ и обработка аудио- и видеосигналов 2.1 цифровой анализ спектральных и 1 2 - 33 временных характеристик сигналов;

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

2.3 ортогональная и гексогональная структуры дискретизации изображе ния;

кодирования и обработки сиг налов изображения и звука;

Тема 3. Аппаратные средства цифровой обработки сигналов 3.1 процессоры для обработки аудио- и 1 - - 16 видеосигналов;

3.2 программно-аппаратные средства разработчика системы цифровой об работки сигналов.

Итого за 8 семестр 8 10 - 100 1.4. Требования к уровню освоения дисциплины и формы текущего и промежу точного контроля Порядок и содержание промежуточных и итоговых аттестаций приведены в технологической карте дисциплины (см. Приложение).

1.4.1. Контрольные вопросы для самопроверки 1. В чем преимущество цифрового представления информации?

2. Из чего состоит система цифровой обработки сигналов?

3. Что такое разрядность АЦП?

4. Что такое время преобразования АЦП?

5. Как зависят друг от друга период преобразования и время преобразования АЦП?

6. Как зависят друг от друга частота дискретизации и время преобразования АЦП?

7. Перечислите основные погрешности, вносимые АЦП.

8. Что называют погрешностью квантования?

9. Какую минимальную разрядность должен иметь АЦП, чтобы прибор на его основе пока зывал 4 десятичные цифры?

10. Чем отличаются АЦП прямого интегрирования и двухтактного интегрирования?

11. Что входит в состав АЦП поразрядного уравновешивания?

12. В чем недостаток параллельного АЦП?

13. Что утверждает теорема Котельникова?

14. Что такое наложение спектров?

15. Что такое ортогональное преобразование?

16. В чем разница между ДПФ и БПФ?

17. Что такое дискретное косинусное преобразование (ДКП)?

18. Что такое цифровой фильтр?

19. Что такое импульсная характеристика цифрового фильтра?

20. Чем отличается фильтр с конечной импульсной характеристикой (КИХ) от фильтра с бесконечной импульсной характеристикой (БИХ)?

21. В чем преимущества и недостатки КИХ-фильтров?

22. Что такое порядок цифрового фильтра?

23. Как зависит длина импульсной характеристики КИХ-фильтра от его порядка?

24. Как вычислительная сложность алгоритма фильтрации зависит от длины импулсьной ха рактеристики КИХ-фильтра?

25. Что такое частотная характеристика фильтра?

26. Объясните понятия полосы пропускания, полосы подавления и переходной полосы.

27. Какие средства для проектирования цифровых фильтров имеются в среде MATLAB?

28. Как задаются требования к КИХ-фильтру в инструменте FDATool MATLAB?

29. В чем преимущества и недостатки БИХ-фильтров?

30. Как зависит количество коэффициентов БИХ-фильтра от его порядка?

31. Как вычислительная сложность алгоритма фильтрации зависит от порядка БИХ фильтра?

32. Как задаются требования к БИХ-фильтру в инструменте FDATool MATLAB?

33. Зачем структуру БИХ-фильтра разбивают на секции?

34. Что такое периодограмма?

35. Почему параметрические методы спектрального анализа называются параметрическими?

36. Какого размера блок изображения подвергается ДКП при сжатии информации?

37. Где обычно находятся значимые для зрительного восприятия компоненты ДКП?

38. Зачем требуется сжимать видеоинформацию?

39. Что такое нелинейное квантование?

40. Что дает кодирование разностей вместо кодирования отсчетов?

41. Для чего может применяться математическая модель голосового тракта?

42. Какие методы сжатия обычно применяются для записи музыки?

43. Чем внутрикадровое сжатие отличается от межкадрового?

44. Что такое субдискретизация?

45. Что такое предсказание движения?

46. Зачем нужны опорные кадры?

47. Укажите особенности архитектуры цифровых сигнальных процессоров.

48. Что делает операция MAC?

49. Что представляют собой программные средства разработчика?

50. Что представляют собой аппаратные средства разработчика?

1.4.2. Примерные вопросы для итогового контроля 1. Структура системы цифровой обработки сигналов, АЦП и ЦАП.

2. Параметры АЦП.

3. Дискретизация, эффект наложения спектров.

4. Квантование, шумы квантования.

5. Дискретное преобразование Фурье (ДПФ).

6. Ортогональные дискретные преобразования.

7. Быстрое преобразование Фурье (БПФ).

8. Дискретная свертка.

9. Вычислительные затраты на свертку, ДПФ и БПФ.

10. Цифровые фильтры с конечной импульсной характеристикой.

11. Цифровые фильтры с бесконечной импульсной характеристикой.

12. Структуры цифровых фильтров.

13. Непараметрические методы спектрального анализа.

14. Параметрические методы спектрального анализа.

15. Гомоморфная обработка аудиосигналов.

16. Структуры дискретизации изображения.

17. Внутрикадровое сжатие видеосигналов.

18. Психоакустическое кодирование аудиосигналов.

19. Процессоры для обработки аудио- и видеосигналов.

20. Программно-аппаратные средства разработчика систем цифровой обработки.

1.4.3. Промежуточное тестирование Промежуточное тестирование проводится в часы лекций в виде ответа на 20 тестовых вопро сов. Вопросы выбираются в случайном порядке из первых 30 вопросов для самоконтроля (п.

1.4.1).

По результатам выставляется оценка за промежуточное тестирование:

- «отлично» – студентам, ответившим правильно на 18 и более вопросов;

- «хорошо» – студентам, ответившим правильно на 16-17 вопросов;

- «удовлетворительно» – студентам, ответившим правильно на 13-15 вопросов;

- «неудовлетворительно» – студентам, ответившим правильно менее чем на 13 вопросов.

Студенты, получившие на промежуточном тестировании «отлично», получают дополнитель но 20 баллов модульно-рейтинговой системы промежуточного контроля. Студенты, получившие на промежуточном тестировании «хорошо», получают дополнительно 10 баллов. Студенты, полу чившие на промежуточном тестировании «удовлетворительно» или «неудовлетворительно», не получают дополнительных баллов.

1.4.4. Критерии оценки Итоговая оценка учитывает результаты модульно-рейтинговой системы промежуточного контроля.

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

- активная работа на практических занятиях;

- промежуточное тестирование.

За выполненную лабораторную работу студент получает до 5 баллов. При условии выполне ния 4 лабораторных работ студент может получить 20 баллов.

За активное участие в практических занятиях студент получает до 5 баллов. При условии выполнения 7 практических занятий студент может получить 35 баллов.

Студент может повысить количество баллов до 75, получив отличную оценку промежуточ ного тестирования.

Участие в творческом рейтинге может добавить к результатам обязательных контрольных точек до 25 баллов.

Билет к экзамену состоит из 2 вопросов. По результатам проведенного экзамена к рейтингу студента могут быть добавлены следующие суммы баллов:

- 0 – если студент не ответил ни на один из вопросов;

- 10 – если студент ответил на 1 вопрос;

- 25 – если студент ответил на 2 вопроса.

После экзамена выставляются оценки:

- «отлично» – студентам, набравшим рейтинг от 86 баллов;

- «хорошо» – студентам, набравшим от 70 до 85,9 баллов;

- «удовлетворительно» – студентам, набравшим от 51 до 69,9 баллов;

- «неудовлетворительно» – студентам, набравшим менее 51 балла.

2. КОНСПЕКТ ЛЕКЦИЙ 2.1. Основы цифровой обработки сигналов 2.1.1. Аналого-цифровые и цифро-аналоговые преобразователи Сущность цифровой обработки состоит в том, что физический сигнал (напряжение, ток и т.

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

Исходный физический сигнал является непрерывной функцией времени. Такие сигналы, оп ределенные во все моменты времени, называют аналоговыми (analog). Последовательность чисел, представляющая сигнал при цифровой обработке, является дискретным рядом (discrete series) и не может полностью соответствовать аналоговому сигналу. Числа, составляющие последователь ность, являются значениями сигнала в отдельные (дискретные) моменты времени и называются отсчетами сигнала (samples). Как правило, отсчеты берутся через равные промежутки времени Ts, называемые периодом дискретизации (или интервалом, шагом дискретизации – sample time). Ве личина, обратная периоду дискретизации, называется частотой дискретизации (sampling frequency): Fs = 1/Ts. Соответствующая ей круговая частота определяется следующим образом: s = 2/Ts.

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

Процесс преобразования аналогового сигнала в последовательность отсчетов называется дискретизацией (sampling), а результат такого преобразования – дискретным сигналом. При обра ботке сигнала в вычислительных устройствах его отсчеты представляются в виде двоичных чисел, имеющих ограниченное число разрядов. Вследствие этого отсчеты могут принимать лишь конеч ное множество значений и, следовательно, при представлении сигнала неизбежно происходит его округление. Процесс преобразования отсчетов сигнала в числа называется квантованием по уров ню (quantization), а возникающие при этом ошибки округления – ошибками (или шумами) кванто вания (quantization error, quantization noise).

Сигнал, дискретный во времени, но не квантованный по уровню, называется дискретным (discrete-time) сигналом. Сигнал, дискретный во времени и квантованный по уровню, называют цифровым (digital) сигналом.

Обобщенная структура системы цифровой обработки сигналов приведена на рис. 2.1.

Рис. 2.1. Cистема цифровой обработки сигналов На вход поступает аналоговый сигнал x(t). Его временная дискретизация и квантование по уровню производятся в аналого-цифровом преобразователе (АЦП, Analog-to-Digital Converter, ADC). Вообще эти два процесса – дискретизация и квантование – являются независимыми друг от друга, но они, как правило, выполняются внутри одной микросхемы. Выходным сигналом АЦП является последовательность чисел, поступающая в цифровой процессор (ЦП), выполняющий требуемую обработку. Результатом работы процессора является новая последовательность чисел, представляющих собой отсчеты выходного сигнала. Аналоговый выходной сигнал y(t) восстанав ливается по этой последовательности чисел с помощью цифроаналогового преобразователя (ЦАП, Digital-to-Analog Converter, DAC). Напряжение на выходе ЦАП имеет ступенчатую форму. При необходимости оно может быть преобразовано в плавно меняющийся выходной сигнал с помо щью сглаживающего выходного фильтра.

Таким образом, ЦАП – устройство для преобразования цифрового сигнала в аналоговый, АЦП – устройство для преобразования аналогового сигнала в цифровой.

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

Если fmax – самый высокочастотный компонент сигнала, то, чтобы элементы выборки полно стью описывали сигнал, дискретизация сигнала должна осуществляться с частотой не ниже Fs 2 f max, где Fs – частота дискретизации. Следовательно, если максимальная частота аналогового сиг нала составляет 4 кГц, то для того, чтобы собрать или сохранить всю информацию, содержащуюся в сигнале, его дискретизация должна осуществляться с частотой 8 кГц или больше. Дискретизация с частотой, меньшей той, которую дает теорема о дискретном представлении, приведет к явлению перегибов или наложению зеркальных частот в интересующей нас частотной области. Следова тельно, если захочется преобразовать дискретную информацию обратно в аналоговую, исходный сигнал будет уже невозможно восстановить. Важно помнить о том, что часто значительная доля энергии сигнала может попадать за пределы интересующей нас частотной области, и/или сигнал может содержать шум, ширина полосы которого всегда будет большой. Например, в телефонной связи самая высокая из представляющих интерес частот составляет приблизительно 3,4 кГц, но частоты речевого сигнала могут превышать 10 кГц. Поэтому, если не удалить лишний сигнал или шум за пределы полосы интересующих нас частот, теорема о дискретном представлении выпол няться не будет. На практике это достигается путем предварительного пропускания сигнала через аналоговый фильтр защиты от наложения спектров.

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

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

При квантовании каждой аналоговой выборке присваивается одно из 2В значений, где В – количество битов АЦП. Квантование вносит неустранимую погрешность. Уровень этой погреш ности является функцией числа битов АЦП.

Для АЦП с В двоичными цифрами расстояние между уровнями, т.е. шаг квантования V q = fs, 2B где Vfs – полный диапазон АЦП. Максимальная ошибка квантования, когда значения округ ляются до ближайшего большего или меньшего числа, равна ± q/2.

Ошибка квантования для каждой выборки в первом приближении полагается случайной и однородно распределенной на отрезке ±q/2 с нулевым средним значением. В этом случае диспер сия шума квантования q e =.

2.1.3. Ортогональные преобразования сигналов Пусть цифровой сигнал задан последовательностью отсчетов x(k), где k = 0, 1, … N. Тогда дискретное преобразование Фурье (ДПФ, Discrete Fourier Transform, DFT) по определению равно N 2 nk X (n) = x(k ) exp j &.

N k = & Отсчеты преобразования X (n) пропорциональны комплексным амплитудам колебаний раз личных частот, содержащихся в сигнале. Поэтому ДПФ используется для выделения информации о периодических компонентах сигналов. ДПФ и его модификации широко применяются в алго ритмах цифровой обработки сигналов, например, при сжатии звука и изображений.

Обратное дискретное преобразование Фурье (ОДПФ, Inverse Discrete Fourier Transform, IDFT) позволяет представить сигнал в виде суммы синусоидальных (и косинусоидальных) состав ляющих, то есть в виде суммы комплексных экспонент:

1 N 1 & 2 nk x(k ) = X (n) exp j.

N n =0 N Перечислим основные свойства ДПФ.

1. Линейность. Если сигнал образован как сумма двух сигналов:

y (k ) = ax1 (k ) + bx2 (k ), то ДПФ от суммы равно сумме ДПФ:

& & & Y (n) = aX 1 (n) + bX 2 (n).

2. ДПФ от задержанного сигнала y (k ) = x(k 1) вычисляется как 2n & & Y (n) = X (n) exp j.

N 3. Симметрия. Для вещественного сигнала X ( N n) = X * ( n).

& & 4. ДПФ от произведения y (k ) = x1 (k ) x2 (k ) равно так называемой круговой свертке ДПФ сомножителей:

1 N 1 & Y (m) = X 1 (n) X 2 ((m n) mod N ).

& & N n = 5. ДПФ от свертки. Если сигнал образован как круговая свертка двух сигналов:

N x1 (m) x2 ((k m) mod N ), y (k ) = m = то его ДПФ равно произведению ДПФ:

& & & Y ( n) = X 1 ( n) X 2 ( n).

6. Равенство Парсеваля. Энергия сигнала может быть вычислена через его ДПФ следующим образом:

N 1 N 1 & x 2 ( k ) = X ( n).

N n = k = Можно сигнал обозначить в виде вектора х. ДПФ в матричной форме выглядит так:

X = A DFT x, где X – вектор комплексных амплитуд ДПФ, A DFT – матрица ДПФ.

Матрица ДПФ состоит из комплексных чисел с модулем 1:

1 1 1 1... j ( N 1) 2 4 6 j j j 1 eN eN eN... e N j 2( N 1) 4 8 12 j j j 1 eN eN eN... e N A DFT =.

6 12 18 j 3( N 1) j j j 1 N N N N e e e... e..................

2 2 2 j ( N 1) j 2( N 1) j 3( N 1) j ( N 1) 1 e N eN eN... e N Например, для N = 1 1 1 1 A DFT = j (2 1)2 = j =.

1 e 1 1 e Для N = 4:

1 1 1 1 1 1 1 2 j j j j j 1 j 1 j 1 e 4 e 4 4 j e 1 e 2 e e =.

A DFT = 12 = 4 j j j j e j 2 e j 3 1 1 1 1 e 4 e 4 e 4 1 e j 1 18 3 6 12 j j 1 j j j j e j 1 e 4 e 4 e 4 1 e 2 e ДПФ является частным случаем ортогонального дискретного преобразования. Дискретное преобразование N x(k )A(n, k ) X ( n) = k = называется ортогональным, если двумерная дискретная функция A(n, k ) обладает свойством ортогональности:

N 0, m = n A(n, k )A(m, k ) = 0, m n.

k = Теоретически возможно бесконечное множество различных ортогональных преобразований.

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

Дискретное косинусное преобразование (ДКП, Discrete Cosine Transform, DCT) n k + N X (n) = x(k )C (n) cos, N k = где N, n= C ( n) = 2, n N широко используется в алгоритмах сжатия изображений и видео.

Преобразование Уолша N x(k ) wal(n, k ) X ( n) = k = или в матричной форме X = A WALx применяется, например, в системах передачи информации.

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

В качестве примера приведем матрицу Уолша для N = 8:

1 1 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = A WAL.

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2.1.4. Алгоритмы быстрого вычисления ортогональных преобразований сигналов Для вычисления одного коэффициента ДПФ необходимо выполнить N комплексных умно жений и сложений. Таким образом, прямой расчет всего ДПФ, содержащего N коэффициентов, потребует N2 пар операций "умножение-сложение" в комплексных числах. Число операций воз растает пропорционально квадрату размерности ДПФ. Однако, если N не является простым чис лом и может быть разложено на множители, процесс вычислений можно ускорить, разделив ана лизируемый набор отсчетов на части, вычислив их ДПФ и объединив результаты. Такие способы вычисления ДПФ называются быстрым преобразованием Фурье (БПФ, Fast Fourier Transform, FFT) и повсеместно используются в практике цифровой обработки сигналов.

Перепишем формулу ДПФ так, чтобы складывались отсчеты с четными и нечетными номе рами:

N N 1 2 n(2k + 1) N 2n 2k 2 2 nk x(k ) exp j x(2k ) exp j x(2k + 1) exp j & X ( n) = = + = N N N k =0 k =0 k = N N 1 2 nk 2 + exp j 2 n 2 nk = x(2k ) exp j x(2k + 1) exp j.

N N N k = k = 2 Две суммы представляют собой два ДПФ вдвое меньшей размерности N/2. Отсюда следует, что зная ДПФ четных и нечетных отсчетов, можно получить ДПФ всего сигнала за N пар операций "умножение-сложение". В свою очередь последовательности длиной N/2 можно получить из по следовательностей длиной N/4 и так далее, до последовательностей с длиной 2. Всего получается log 2 N таких этапов алгоритма. Так как на каждом этапе производится N пар операций, вычисли тельные затраты всего алгоритма БПФ можно оценить количеством пар операций N log 2 N. При больших N выигрыш получается весьма значительным. Например, при N = 512 прямое вычисление ДПФ потребует порядка 5122 = 2,6105 операций, в то время как БПФ обойдется 5129 = 4, операциями, то есть в 57 раз быстрее.

Описанный вариант алгоритма БПФ называется алгоритмом с прореживанием по времени.

Возможно несколько вариантов организации вычислений в зависимости от способа деления по следовательности отсчетов на части (прореживание по времени либо по частоте) и от того, на сколько фрагментов производится разбиение последовательности на каждом шаге (основание БПФ).

Наибольшее ускорение вычислений благодаря алгоритму БПФ достигается при количестве отсчетов сигнала N, равной степени двойки. При разложении N на иные множители ускорение также возможно, хотя и не столь значительное. Если длина вектора – простое число, вычисление спектра может быть выполнено только по прямой формуле ДПФ.

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

Алгоритм БПФ предназначен для одновременного расчета всех спектральных отсчетов. Если же необходимо получить эти отсчеты лишь для некоторых n, может оказаться предпочтительнее прямая формула ДПФ или некоторые специальные алгоритмы.

Для многих ортогональных преобразований, в частности, для ДКП и для преобразования Уолша также известны быстрые алгоритмы.

2.1.5. Дискретная свертка Линейность системы означает, что выходная реакция на сумму сигналов равна сумме реак ций на эти сигналы, поданные на вход по отдельности, а стационарность – что задержка входного сигнала приводит лишь к такой же задержке выходного сигнала, не меняя его формы. В соответст вии с этим все системы цифровой обработки сигналов можно подразделить на 4 класса:

- линейные стационарные (с постоянными параметрами);

- линейные нестационарные (с переменными параметрами);

- нелинейные стационарные;

- нелинейные нестационарные.

В этом разделе рассматриваются только наиболее простые, но часто применяемые линейные стационарные системы. Такую систему можно полностью описать следующим уравнением:

x ( m) h ( k m), y (k ) = m = где h(k) называется импульсной характеристикой системы.

Дискретная свертка двух бесконечных дискретных последовательностей x1(k) и x2(k) опреде ляется так:

x ( n) x ( k n).

y (k ) = 1 n = Таким образом, линейная стационарная система выполняет свертку входного сигнала со сво ей импульсной характеристикой. Для физически реализуемой системы h(k) = 0 при k 0. Поэтому для такой системы k x ( m) h( k m).

y (k ) = m = Часто требуемые свойства линейной стационарной системы задают через требования к ее частотной характеристике K () = H (e jT ) = h(k )e jkT, & k = которая однозначно связана с импульсной. Здесь функция комплексного переменного H(z) называется функцией передачи (transfer function) или системной функцией:

Y ( z) = h(k )z k.

H ( z) = X ( z) k = Важным применением линейных стационарных систем является фильтрация сигналов, когда необходимо пропустить сигналы с одними частотами и задержать с другими. Такие системы принято называть фильтрами. В данной дисциплине нас интересуют цифровые (дискретные) фильтры. Уравнение цифрового фильтра с постоянными параметрами в общем виде выглядит так:

y (k ) = b0 x(k ) + b1 x(k 1) +... + bm x(k m) a1 y (k 1) a2 y (k 2)... an y (k n), где ai и bi – коэффициенты фильтра. Здесь видно, что фильтр суммирует с весовыми коэффи циентами некоторое количество входных отсчетов, включая последний, и некоторое количество предыдущих выходных отсчетов.

Если все ai = 0, то фильтр не учитывает предыдущий выходной сигнал. Такой фильтр назы вается нерекурсивным. Если хотя бы один коэффициент ai 0, фильтр называется рекурсивным.

Импульсная характеристика нерекурсивных фильтров обязательно содержит только конеч ное количество ненулевых отсчетов. Поэтому такие фильтры часто называют фильтрами с конеч ной импульсной характеристикой (КИХ-фильтрами). Импульсная характеристика рекурсивных фильтров, как правило, имеет бесконечное количество ненулевых отсчетов. Такие фильтры назы вают фильтрами с бесконечной импульсной характеристикой (БИХ-фильтрами).

Можно показать [1], что функция передачи фильтра b0 + b1 z 1 + b2 z 2 +... + bm z m H ( z) =.

1 + a1 z 1 + a2 z 2 +... + an z n Подставляя сюда z =, легко можно получить частотную характеристику по заданным ко эффициентам фильтра.

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

Методы синтеза цифровых фильтров можно классифицировать по различным признакам. По типу получаемого фильтра на:

- методы синтеза рекурсивных фильтров;

- методы синтеза нерекурсивных фильтров.

По наличию аналогового прототипа:

- методы синтеза с использованием аналогового прототипа;

- прямые (без использования аналогового прототипа) методы синтеза.

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

- оптимальные, в которых ищется минимум заданной функции качества с помощью матема тических методов оптимизации;

- субоптимальные методы, не дающие в точности оптимального решения, но позволяющие значительно упростить вычисления по сравнению с оптимальными.

Как правило, субоптимальные методы используют специфику решаемой задачи, например, дробно-рациональный вид функции передачи рекурсивного фильтра или экспоненциальный вид отдельных слагаемых его импульсной характеристики. Некоторые популярные методы синтеза фильтров, применяющиеся в системе MATLAB и их теоретические основы рассмотрены в [1, 3].

После синтеза фильтра можно построить алгоритм обработки сигнала. Он может быть реали зован в нескольких формах (структурах фильтра). На рис. 2.2 приведена так называемая прямая структура рекурсивного фильтра (Direct Form 1), прямо вытекающая из уравнения фильтра.

Рис. 2.2. Прямая структура цифрового фильтра Путем перестановки операций из нее могут быть получены несколько других форм. Напри мер, каноническая структура (Direct Form 2) позволяет уменьшить требуемую емкость памяти (рис. 2.3).

Рис. 2.3. Каноническая структура цифрового фильтра Известны и другие структуры.

2.2. Анализ и обработка аудио- и видеосигналов 2.2.1. Цифровой анализ спектральных и временных характеристик сигналов Особенности цифрового спектрального анализа:

- в качестве исходных данных выступает последовательность дискретных отсчетов, а не ана логовый сигнал;

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

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

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

n W () = lim x(k )e jkT.

n 2n + 1 k = n Такой спектр называют спектральной плотностью мощности или спектром мощности. Далее в этом разделе для краткости будем называть его спектром.

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

Теорема Винера – Хинчина справедлива для эргодического стационарного процесса: спектр дискретного случайного процесса является преобразованием Фурье от его корреляционной функ ции:

W ( ) = Rx (k )e jkT.

k = Периодограммой (periodogram) называется оценка спектральной плотности мощности, полу ченная по N отсчетам одной реализации случайного процесса.

N W ( ) = x(k )e jkT.

Nf д k = Модифицированная периодограмма рассчитывается с применением весовой функции (окна) с коэффициентами w(k):

N x(k )w(k )e jkT W () = k =.

N fд w(k ) k = Периодограмма не является состоятельной оценкой спектральной плотности мощности, по скольку дисперсия такой оценки сравнима с квадратом ее математического ожидания независимо от числа отсчетов N в обрабатываемом фрагменте сигнала. С ростом числа используемых отсчетов значения периодограммы начинают все быстрее флуктуировать, так что ее график становится все более изрезанным.

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

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

Уэлч (Welch) внес в метод Бартлетта два усовершенствования: использование весовой функ ции и разбиение сигнала на перекрывающиеся фрагменты. Применение весовой функции позволя ет ослабить растекание спектра и уменьшить смещение получаемой оценки спектра плотности мощности ценой незначительного ухудшения разрешающей способности. Перекрытие фрагментов введено для того, чтобы увеличить их число и уменьшить дисперсию оценки.

Итак, вычисления при использовании метода Уэлча (он называется еще методом усреднения модифицированных периодограмм – averaged modified periodogram) организуются следующим об разом:

1. Вектор отсчетов сигнала делится на перекрывающиеся фрагменты. Как правило, на прак тике используется перекрытие на 50%.

2. Каждый фрагмент умножается на используемую весовую функцию.

3. Для взвешенных фрагментов вычисляются модифицированные периодограммы.

4. Периодограммы всех фрагментов усредняются.

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

Спектральная плотность мощности такого сигнала пропорциональна квадрату модуля коэф фициента функции передачи фильтра:

2 W ( ) = n.

f д 1 a e jT a e j 2T... a e jNT 1 2 N Таким образом, авторегрессионный метод спектрального анализа сводится к определению коэффициентов модели ai заданного порядка N, оценке мощности белого шума n2 и расчету спек тральной плотности мощности по приведенной формуле. Можно доказать, что задача вычисления коэффициентов распадается на два шага:

- сначала необходимо получить оценку корреляционной матрицы сигнала Rx;

- затем решить систему линейных уравнений R xb = p, где b – столбец искомых оценок коэффициентов, p – столбец, составленный из значений корреляционной матрицы Rx(k, k) для k от 1 до N.

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

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

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

При анализе суммы синусоид с шу мом получаются смещенные спек тральные пики.

Большая (по сравнению с мето- Рассчитанный формирующий фильтр дом Юла – Уолкера) разрешаю- может оказаться нестабильным.

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

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

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

сумму "чистых" синусоид. При анализе суммы синусоид с шу Отсутствие расщепления спек- мом получаются слегка смещенные тральных пиков. спектральные пики.

Хорошие результаты при анали- Плохие результаты при анализе ко зе длинных сигналов. ротких сигналов.

Юла – Уолкера Гарантированная стабильность При анализе суммы синусоид с шу рассчитанного формирующего мом получаются смещенные спек фильтра. тральные пики.

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

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

Из таких методов можно упомянуть метод MUSIC (MUltiple SIgnal Classification) и метод анализа собственных векторов (eigenvectors, EV).

2.2.2. Кепстральный анализ и гомоморфная обработка аудиосигналов Термин гомоморфная обработка обычно применяют к классу систем, подчиняющихся обоб щенному принципу суперпозиции, определяемому следующим образом. Пусть система выполняет некоторое преобразование входного сигнала х(n) в выходной у(n):

y (n ) = ( x(n )).

Если х1(n) и х2(n) – входные последовательности, а у1(n) и у2(n) – соответствующие выходные последовательности системы, т. е.

y1 (n ) = ( x1 (n )), y 2 (n ) = ( x2 (n )), а с – произвольный скаляр, то система является гомоморфной, если для нее справедливы со отношения I O x1 (n ) x2 (n ) = ( x1 (n )) ( x2 (n )), I O c x(n ) = c ( x(n )).

I O I O Здесь,,, обозначают некоторые математические операции. Конкретный смысл этих операций различен для различных классов гомоморфных систем.

I Например, частным случаем гомоморфной системы является линейная система. Для нее и O I O одинаковы и представляют собой алгебраическое сложение, и одинаковы и представляют собой алгебраическое умножение:

( x1 (n ) + x2 (n )) = (x1 (n )) + ( x2 (n )), (cx(n )) = c(x(n )).

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

I I Рассмотрим случай, когда представляет собой алгебраическое умножение, а - возведе ние в степень. Тогда гомоморфной будет система, находящая логарифм сигнала:

ln ( x1 (n )x2 (n )) = ln ( x1 (n )) + ln ( x2 (n )), ( ) ln x c (n ) = c ln ( x(n )).

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

Задача компенсации неравномерности освещения наблюдаемого объекта может быть решена с помощью гомоморфной обработки. Для этого моделью формирования изображения B(i, j) счита ется произведение двух двумерных сигналов:

B(i, j ) = L(i, j ) R(i, j ), где L(i, j) – освещенность, R(i, j) – коэффициент отражения.

На практике интересует обычно R(i, j). В то же время часто L(i, j) настолько неравномерна, что является значительной помехой. С другой стороны, энергия L(i, j) сосредоточена в области низких пространственных частот, а R(i, j), в большинстве случаев, сравнительно широкополосна.

Если преобразовать произведение в сумму, то к сумме можно применить известные линейные фильтры верхних частот для подавления L(i, j).

Общий алгоритм гомоморфной обработки для компенсации неравномерности освещения со стоит из следующих шагов. Сначала вычисляется логарифм входного сигнала Bl (i, j ) = lg( Bl (i, j )) = lg( L(i, j ) R (i, j )) = lg( L(i, j )) + lg( R (i, j )).

К нему применяется подходящий линейный фильтр F(), подавляющий низкие частоты и формирующий оценку логарифма коэффициента отражения Rl (i, j ) = F ( Bl (i, j )) = F (lg( L(i, j )) + lg( R(i, j ))) lg( R(i, j )).

На последнем шаге применяется потенцирование – операция, обратная логарифмированию:

R(i, j ) = e Rl (i, j ) R(i, j ).

Другой класс гомоморфной обработки может быть применен для разделения сигналов, сме шанных операцией свертки s (k ) s (n k ).

s ( n) = 1 k = В этом случае может оказаться полезным применение преобразования, называемого кепст ром. Исторически понятие «кепстр» было определено выражением ln[S ()] e d, 2 iq Cs ( q ) = где S() – амплитудный спектр аналогового (континуального) сигнала s(t). Поскольку S2() имеет смысл спектральной плотности энергии, то Cs(q) истолковывается как энергетический спектр функции ln[S ()]2.

Но из этого выражения очевидно, что аргумент q такого «спектра» имеет размерность време ни, а не частоты. Этим и объясняется распространение термина «кепстр», который образован пе рестановкой букв в термине «спектр».

Определяемый таким выражением кепстр принято называть кепстром мощности. Фазоча стотная характеристика спектра не учитывается. Кепстры мощности получили распространение при анализе сигналов, представляющих собой свертку двух функций времени таких, что в кепстре образуются неперекрывающиеся на оси q импульсы. В подобной ситуации фазовый спектр со ставных функций, образующих свертку сигналов s1(t) и s2(t), может не приниматься во внимание.

Следует отметить, что выражение имеет смысл не для любого сигнала s(t). Действительно, для сигнала с конечной энергией выполняется условие S ()d, из которого следует, что при S () 0. Но тогда при обращается в беско нечность ln S () и интеграл расходится. Это противоречие в практических задачах обходят заме ной пределов интегрирования граничными частотами ±гр, в пределах которых заключена основ ная доля энергии сигнала и значение функции ln S 2 () ограничено.

Проиллюстрируем применение кепстра мощности на следующем примере. Пусть задан сиг нал s(t) на выходе линейного тракта и требуется получить информацию об исходном сигнале s1(t), действующем на его входе, а также об импульсной характеристике g(t) самого тракта. Связь меж ду тремя перечисленными функциями времени определяется сверткой g (k ) s (n k ).


s ( n) = k = Подобная задача возникает при анализе сейсмических процессов, при использовании радио локационных методов определения xарактеристик среды распространения, при анализе сигналов речи и т. д. В частности, при разработке электронных синтезаторов речи под s1(t) подразумевается сигнал, о котором известно лишь, что его спектральная плотность S1() заключена в некоторой полосе max, а форма АЧХ характеризуется периодической изрезанностью, однако период пульсации 1/Т (на оси частот), а также амплитуда пульсации подлежат определению. Об импульс ной характеристике речевого тракта g(t) только известно, что ее продолжительность мала по срав нению с Т, так что передаточная функция тракта K() изменяется плавно по сравнению с пульса цией S1().

Для разделения информации об s1(t) и g(t) может быть применена схема обработки, показан ная на рис. 2.4.

Рис. 2.4. Схема вычисления кепстра для определения частоты основного тона После фурье-преобразования, определения квадрата модуля спектра, а также логарифмиро вания получаются функции ln S12 () и ln K 2 (), примерный вид которых представлен на рис. 2.5, а.

Рис. 2.5. Логарифм спектра и кепстр Функции ln S12 (), изменяющейся с периодом 1/Т соответствует кепстр Csl(q) в виде пика при q = T, медленному же изменению функции ln K 2 () соответствует кепстр Cg(q) в виде им пульса, расположенного вблизи точки q = 0. Таким образом можно выявить частоту основного то на 1/Т, а также получить некоторую информацию о форме АЧХ речевого тракта.

2.2.3. Ортогональная и гексагональная структуры дискретизации изображения Из нескольких способов обобщения одномерной периодической дискретизации на двумер ный случай наиболее простым является периодическая дискретизация в прямоугольных координа тах, которую называют прямоугольной или ортогональной дискретизацией. Если xa (t1, t2 ) – дву мерный непрерывный сигнал, то дискретный сигнал x(n1, n2 ), полученный из него путем прямо угольной дискретизации, имеет вид x(n1, n2 ) = xa (n1T1, n2T2 ), где T1, T2 – положительные вещественные константы, известные как горизонтальный и вер тикальный интервалы дискретизации. Расположение отсчетов на плоскости показано на рис. 2.6.

Рис. 2.6. Расположение отсчетов на плоскости при ортогональной дискретизации Растр отсчетов для гексагональной матрицы дискретизации показан на рис. 2.7. Строки рас тра повторяются через одну, при этом нечетные строки сдвинуты относительно четных на полпе риода. Термин «гексагональный» используется потому, что при T2 = T1 3 каждый отсчет будет иметь шесть ближайших соседей.

Рис. 2.7. Расположение отсчетов на плоскости при гексагональной дискретизации Для представления одного и того же двумерного сигнала, спектр которого ограничен кругом, гексагональная дискретизация требует на 13,4% меньше отсчетов по сравнению с прямоугольной.

Для сигнала с круговым частотным диапазоном гексагональная дискретизация является наиболее эффективной.

2.2.4. Кодирование и обработка сигналов изображения Цифровая видеоинформация воспроизводится в виде последовательности двумерных изо бражений (кадров). Каждый кадр представляет собой двумерный массив пикселей – точечных элементов изображения. Пиксель обычно закодирован в виде трех целых чисел, соответствующих яркости трех основных цветов R, G, B.

Такое представление информации удобно для вывода на экран, но приводит к большому рас ходу емкости запоминающих устройств и пропускной способности каналов связи. Поэтому прак тически всегда видеоинформация, предназначенная для восприятия человеком, хранится в сжатом виде. Преобразование видео из последовательности несжатых кадров в сжатый формат и обратно производится в видеокодеках, выполняющих мощные алгоритмы сжатия/восстановления. В на стоящее время наиболее распространены алгоритмы и форматы сжатой информации, соответст вующие семейству стандартов MPEG (Motion Picture Expert Group – подразделение в рамках ISO – международной организации по стандартизации). Все такие алгоритмы подразумеваю сжатие ви део двух видов: внутрикадровое сжатие и межкадровое.

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

Коэффициент внутрикадрового сжатия при хорошем качестве не может превышать 10-20 раз, что недостаточно для хранения видео.

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

Аббревиатура JPEG означает Joint Photographic Experts Group (подразделение в рамках ISO – международной организации по стандартизации).

Алгоритм сжатия JPEG включает в себя несколько основных этапов, перечисленных ниже.

1. Преобразование цветового пространства RGB в YCbCr.

Это означает, что три цветовых компонента R, G, B каждого пикселя пересчитываются в код яркости Y и два цветоразностных кода Cb и Cr. Такой подход позволяет повысить эффективность сжатия. При этом степень сжатия компонентов можно сделать больше, чем Y, так как люди в го раздо меньшей степени замечают изменения в цвете мелких деталей, чем в их яркости.

Преобразование выполняется по формулам Y= 0,299 R + 0,587G + 0,114 B Cb = 0,1687 R 0,3313G + 0,5 B + Cr = 0,5 R 0,4187G 0,0813B + В результате этого этапа кадр, состоящий из трех цветовых слоев, преобразуется в три слоя Y, Cb, Cr.

Это преобразование не теряет информацию и, следовательно, не создает помехи на восста новленных изображениях.

2. Прореживание (субдискретизация, subsampling) слоев цветности Cb, Cr.

При прореживании отбрасываются пиксели строк или столбцов с определенными номерами (например, каждой второй строки и каждого второго столбца). Как нетрудно заметить, при этом теряется 3/4 информации о слоях Cb, Cr и получается уже на этом этапе сжатие в 2 раза. Точная реализация алгоритма должна предварительно усреднять соседние отсчеты для уменьшения помех наложения.

Прореживание – первый этап, сопровождающийся потерями информации.

3. Блочное двумерное дискретное косинусное преобразование (ДКП).

Этот этап процедуры сжатия данных заключается в преобразовании небольших блоков изо бражения с помощью двумерного дискретного косинусного преобразования. Обработка ведется блоками 8x8 пикселей (сразу обрабатывается 64 пикселя). Выбор такого размера блока объясняет ся несколькими причинами. Такой блок, во-первых, с большой вероятностью содержит пиксели близкого цвета, а во-вторых, является достаточно большим, превышающим интервал корреляции видеосигнала.

Двумерное ДКП в JPEG описывается формулой u (2 x + 1) v(2 y + 1) S (v, u ) = C (u )C (v) s ( x, y ) cos cos, 4 16 x =0 y = где, u= C (u ) = 2, 1 u, v= C (v ) = 2.

1 v При выполнении этой операции 64 пикселя преобразуются в матрицу из 64 коэффициентов.

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

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

Всего для цветного изображения получается три матрицы Y (u, v ), Cb (u, v ), Cr (u, v ).

4. Неравномерное квантование.

Матрица, полученная в результате ДКП, проходит операцию квантования, которая применя ется для сокращения разрядности коэффициентов. Неравномерное квантование означает поэле ментное деление матрицы 8x8 коэффициентов дискретного косинусного преобразования на мат рицу квантования q (u, v ) с той же размерностью 8x8. При этом результат деления округляется до ближайшего целого. Например, для слоя яркости:

Y (u, v ) Yq (u, v ) =, q(u, v ) где [ ] означает округление.

После квантования значения чисел в левом верхнем углу матриц Y (u, v ), Cb (u, v ), Cr (u, v ) оказываются значительно меньше, чем ранее, а в правом нижнем углу получаются преимущест венно нули. Именно здесь происходит основная потеря информации. Причем цветоразностные компоненты Cb (u, v ), Cr (u, v ) могут квантоваться более грубо.

5. Сжатие без потерь.

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


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

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

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

На рис. 2.8 показаны примеры сигналов разной частоты и интенсивности: кривая А соответ ствует абсолютной границе слышимости, а прямая В – уровню звукового давления шумов.

Рис. 2.8. Пояснение явления маскирования Уровень сигнала С выше абсолютного порога слышимости, и его можно было бы услышать, если бы не шумы, уровень которых выше уровня сигнала С. Кодировать такой сигнал не имеет смысла. Уровень сигнала D (1 кГц) выше и уровня шумов, и уровня абсолютного порога слыши мости. Этот сигнал кодируется и передается. Уровень сигнала Е выше уровня шумов, но ниже аб солютного порога слышимости, кодировать и передавать его также бессмысленно.

Хотя явление маскирования наблюдается в частотной области, продолжительность его во времени невелика и составляет не более 15 мс, поэтому перцептуальное кодирование следует осуществлять не в частотной, а в частотно-временной области, производя время-частотное преоб разование не реже чем 1 раз в 15 мс.

Схема психоакустического кодера показана на рис. 2.9.

Рис. 2.9. Структурная схема психоакустического кодера Первичная операция – разложение некоторого множества входных отсчетов на частотные составляющие, т.е. определение спектра сигнала, осуществляется в блоке время-частотного преоб разования. Вместе с соответствующим ему блоком частотно-временного преобразования декодера он образует систему анализа-синтеза звукового сигнала. Этот блок часто называют блоком фильт ров или банком фильтров (filter bank), а также субполосным колером (subband coder) или транс формирующим кодером (transform coder).

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

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

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

Психоакустический процессор довольно часто называют психоакустической моделью (Psychoacoustic Model), перцептуальной моделью (Perceptual Model) или перцептуальной системой кодирования (Perceptual Encoding System).

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

Блок квантования и кодирования выполняет основную часть работ по сокращению объема передаваемых данных. Чаще всего используются два алгоритма его работы: поблочного компан дирования или с плавающей запятой.

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

Психоакустическое кодирование используется, в частности, в таком распространенном се мействе стандартов сжатия, как MPEG.

2.3. Аппаратные средства цифровой обработки сигналов 2.3.1. Процессоры для обработки аудио- и видеосигналов Цифровой сигнальный процессор (ЦСП, Digital signal processor, DSP) – специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном мас штабе времени).

Архитектура сигнальных процессоров, по сравнению с микропроцессорами настольных ком пьютеров, имеет некоторые особенности.

1. Гарвардская архитектура (разделение памяти команд и данных), как правило модифициро ванная.

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

3. Некоторые сигнальные процессоры обладают одним или даже несколькими встроенными постоянными запоминающими устройствами с наиболее употребительными подпрограммами, таблицами и т. п.

4. Аппаратное ускорение сложных вычислительных инструкций, то есть быстрое выполне ние операций, характерных для цифровой обработки сигналов, например, операция «умножение с накоплением» (MAC) (Y := X + A B) обычно исполняется за один такт.

5. «Бесплатные» по времени циклы с заранее известной длиной. Поддержка векторно конвейерной обработки с помощью генераторов адресных последовательностей.

6. Детерминированная работа с известными временами выполнения команд, что позволяет выполнять планирование работы в реальном времени.

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

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

9. По сравнению с микроконтроллерами, ограниченный набор периферийных устройств – впрочем, существуют «переходные» чипы, сочетающие в себе свойства DSP и широкую перифе рию микроконтроллеров.

Основные параметры ЦСП.

1. Тип арифметики. ЦСП делятся на процессоры, обрабатывающие данные с фиксированной точкой и обрабатывающие данные с плавающей точкой. Устройства с плавающей точкой удобнее в применении, но они заметно сложнее по устройству и более дороги.

2. Разрядность данных. Большинство ЦСП с фиксированной точкой обрабатывают данные с разрядностью 16 бит, процессоры с плавающей точкой — 32 бита. Многие модели могут обраба тывать данные с двойной точностью.

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

4. Тактовая частота и Время командного цикла. Для современных ЦСП тактовая внутренняя частота может отличаться от внешней, поэтому могут указываться два значения. Время командно го цикла указывает на время выполнения одного этапа команды, то есть время одного цикла кон вейера команд. Так как команды могут исполняться за разное количество циклов, а также с учётом возможности одновременного исполнения нескольких команд, этот параметр может характеризо вать быстродействие ЦСП достаточно приближённо.

5. Количество выполняемых команд за единицу времени. Различное время исполнения ко манд, а также исполнение нескольких команд одновременно не позволяют использовать этот па раметр для надёжной характеристики быстродействия. Поэтому применяют количество выпол няемых операций за единицу времени (MIPS). Данный параметр учитывает одновременную обра ботку нескольких команд и наличие параллельных вычислительных модулей, поэтому достаточно хорошо может указывать на быстродействие ЦСП. Некоторой проблемой здесь остаётся то, что понятие «операции» чётко не формализовано.

6. Количество выполняемых операций с плавающей точкой за единицу времени. Параметр аналогичен предыдущему и используется для процессоров с плавающей точкой.

7. Количество выполняемых операций MAC за единицу времени. Данная команда, с одной стороны, является базовой для многих вычислений, а с другой — достаточно проста. Поэтому время её исполнения можно использовать в том числе и для оценки общей производительности ЦСП.

8. Виды и объём внутренней памяти. Объём внутренней оперативной памяти показывает, сколько данных ЦСП может обработать без обращения к внешней памяти, что может характеризо вать общее быстродействие системы а также возможность работать «в реальном времени». Тип ПЗУ определяет возможности по программированию устройства. Модели с обычным ПЗУ подхо дят для крупносерийного производства, ППЗУ (однократно программируемое) удобно для не больших тиражей, а применение Flash-памяти позволяет менять программу устройства много кратно во время эксплуатации. На данный момент не очень мощные DSP чаще всего снабжены достаточно большой Flash-памятью (её цена неуклонно снижается) и заметным объёмом RAM и поэтому могут являться самодостаточными без добавления внешней памяти и на этапе разработки и на этапе производства, что повышает конкурентоспособность таких DSP в ряде сегментов рын ка. Мощные DSP как правило полагаются на внешнюю память подключённую по достаточно бы стрым шинам а размещение там Flash-памяти может быть технически проблематичным, например, из-за заметного выделения тепла.

9. Адресуемый объём памяти. Объём адресуемой внешней памяти характеризуется шириной внешней шины адреса.

10. Количество и параметры портов ввода-вывода. Данный параметр показывает возможно сти ЦСП по взаимодействию с внешними по отношению к нему устройствами.

11. Состав внутренних дополнительных устройств. В число внутренних могут входить раз нообразные по назначению устройства, например, общего применения — таймеры, контроллеры ПДП и т. д., а также проблемно-ориентированные — АЦП, кодеки, компрессоры данных и другие.

12. Напряжение питания и потребляемая мощность. Данная характеристика особенно важна для ЦСП, встраиваемых в переносные устройства. Обычно предпочтительнее низковольтные уст ройства (1,8-3,3В), которые имеют быстродействие аналогично 5В процессорам, но заметно эко номнее в плане потребления энергии. Многие устройства имеют режимы экономии при простое, либо позволяют программно отключать часть своих устройств.

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

14. Наличие, доступность и возможности совместимых устройств – АЦП, ЦАП, контроллеры питания и т. д.

15. Допустимые параметры окружающей среды.

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

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

- фильтры КИХ и БИХ;

- перемножение векторов;

- декодеры Витерби;

- БПФ.

Наиболее авторитетным пакетом тестов на сегодняшний день является тест BTDImark (BDTI DSP Kernel Benchmarks™ (BDTImark2000™) Certified Results), который кроме указанных алгоритмов включает также оценку используемой алгоритмом памяти, время разработки системы и другие параметры.

Цифровые сигнальные процессоры строятся на основе т. н. «Гарвардской архитектуры», от личительной особенностью которой является то, что программы и данные хранятся в различных устройствах памяти — памяти программ и памяти данных. В отличие от архитектуры фон Нейма на, где процессору для выборки команды и двух операндов требуется минимум три цикла шины, ЦСП может производить одновременные обращения как к памяти команд, так и к памяти данных, и указанная выше команда может быть получена за два цикла шины. В реальности, благодаря про думанности системы команд и другим мерам, это время может быть сокращено до одного цикла. В реальных устройствах память команд может хранить не только программы, но и данные. В этом случае говорят, что ЦСП построен по модифицированной гарвардской архитектуре.

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

2.3.2. Программно-аппаратные средства разработчика Для программирования ЦСП обычно используют один из двух языков – ассемблер и C. Ос новные особенности ассемблеров ЦСП совпадают с аналогичными языками обычных микропро цессоров и, в целом, могут быть описаны как:

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

- одна команда на ассемблере обычно эквивалентна одной команде машинного языка;

- при программировании на ассемблере программисту доступны все ресурсы процессора и системы, что позволяет использовать их максимально эффективно;

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

- создание и отладка программ на ассемблере – длительный трудоёмкий процесс, также тре бующий высокой квалификации.

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

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

К особенностям ассемблеров ЦСП можно отнести следующее.

1. Наличие двух форм записи многих команд – мнемонической и алгебраической. Мнемони ческая форма аналогична записи команд для обычных микропроцессоров, например, ADD dst, src.

Другая, алгебраическая, в ассемблерах стандартных микропроцессоров используется реже, в то время как на языке ЦСП упомянутая команда может быть записана в виде dst = dst + src. Обычно ассемблеры ЦСП понимают обе формы записи, но, например, ассемблеры ADI и Lucent использу ют только алгебраическую запись.

2. Средства организации стандартных структур, например, специальных аппаратных команд повторения одной команды или блока кода. При этом, в отличие от команд повторения обычных процессоров, ЦСП может пропускать цикл выборки кода повторяемой команды, что уменьшает время выполнения каждого повторения как минимум на 1 цикл шины, что при двухцикловой ко манде даёт двойной выигрыш по времени.

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



Pages:   || 2 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.