
- •27. Частотный детектор на цифровой линии задержки.
- •Выходной сигнал детектора определяется следующим соотношением
- •В результате получим
- •28. Синхронно-фазовый частотный детектор
- •29.Прямое дискретное преобразование Фурье.
- •Подставив (6.2) в (6.1), получим
- •30.Обратное дискретное преобразование Фурье. Обратное преобразование Фурье аналогового сигнала определяется соотношением
- •31. Алгоритм быстрого преобразования Фурье с прореживанием во времени.
- •32. Алгоритм быстрого преобразования Фурье с прореживанием по частоте.
- •Рассмотрим отдельно четные и нечетные отсчеты спектра (отсюда и название алгоритма: прореживание по частоте).
- •33. Оконное преобразование Фурье. Непрерывное вейвлет - преобразование.
- •34. Дискретное вейвлет-преобразование.
- •35. Архитектура сигнальных процессоров. Функциональная схема сигнального процессора.
- •36. Арифметико-логическое устройство сигнального процессора. Функциональная схема. Основные операции.
- •37. Умножитель-накопитель сигнального процессора. Функциональная схема. Основные операции.
- •38. Сдвигатель сигнального процессора. Функциональная схема. Основные операции.
- •39. Генератор адресов команд (программный автомат). Функциональная схема.
- •40. Функциональная схема процессора tms320c64xx
- •41. Формат представления двоичных чисел в процессоре.
- •42. Формы представления двоичных чисел в процессоре. Представление чисел с фиксированной точкой в форматах «слово», «двойное слово», «расширенное слово».
- •43. Представление данных в процессорах с плавающей точкой. Сравнительная оценка процессоров с фиксированной и плавающей точкой.
- •44. Формат и структура слова команды в процессорах со стандартной архитектурой. Алгебраический и мнемонический синтаксис команды.
- •46. Способы указания операндов в слове команды. Прямая адресация. Непосредственная адресация.
- •5.3.2. Непосредственная и прямая адресации данных
- •47. Косвенная адресация. Виды модификации адреса.
- •48.Команды пересылок.
- •49. Команды арифметических операций.
- •50. Команды логических операций и бит-манипуляций.
- •51. Команды управления работой процессора (команды перехода, цикла, обращения к подпрограммам, общего управления)
- •В качестве адреса может быть указана метка в программе. Например, jump fir_start. Метке fir_start соответствует исполняемый адрес команды, в которой указана эта метка.
- •Рассмотрим программную организацию цикла в процессоре tms320c64xx.
- •52. Средства разработки и отладки устройств цифровой обработки сигналов
В качестве адреса может быть указана метка в программе. Например, jump fir_start. Метке fir_start соответствует исполняемый адрес команды, в которой указана эта метка.
Аналогичные команды используется в процессорах TMS320C6xx:
B .S1 LOOP, B .S2 B10.
В первой из этих команд переход осуществляется к адресу метки LOOP, а во второй – к адресу, указанному в регистре B10.
Команды условного перехода передают управление в разные точки программы в зависимости от условия, которое указывается в команде.
Команда процессора TMS320C64x [B0] B .S1 LOOP выполняет переход к адресу метки “LOOP”, если содержимое регистра B0 не равно нулю.
Команды цикла обеспечивают повторное выполнение группы команд при изменяющихся значениях данных. Программная организация цикла требует организации счетчика цикла (регистра с инкрементом или декрементом содержимого) и условного перехода по результатам проверки этого счетчика или к продолжению цикла, или к выходу из цикла.
Для сокращения времени выполнения цикла и упрощения программирования разработаны команды цикла, реализуемые аппаратно. При этом автоматически организуется счетчик цикла и проверка выхода из цикла.
Рассмотрим пример организации цикла в процессорах ADSP-21xx.
CNTR = 10 ; Загружается счетчик цикла.
DO LOOP UNTIL CE ; Команда выполнять цикл «LOOP», пока CNTR>0.
. . . . . . . . . . ; Команды тела цикла.
LOOP: . . . . . . . . . . ; Последняя команда цикла и проверка счетчика цикла
Команда DO LOOP UNTIL CE задает условия организации цикла. Во время ее выполнения в стек счетчика команд помещается адрес следующей за ней команды.
В течение того же цикла в стек циклов помещается адрес команды конца цикла и условие его завершения. По мере продолжения выполнения операций внутри цикла компаратор сравнивает адрес каждой команды с адресом последней команды цикла. До достижения этого адреса команды выполняются последовательно. Каждый раз по достижению конца цикла проверяется условие завершения цикла. Если это условие не выполняется, то программа возобновляется с первой команды цикла, а если выполняется, то выполняется команда, следующая за последней командой цикла.
Рассмотрим программную организацию цикла в процессоре tms320c64xx.
MVK .S1 100, A1
LOOP:
. . . . . . . . . . .
SUB .S1 A1, 1, A1
[A1] B .S1 LOOP
. . . . . . . . . . . . .
Команда MVK загружает в регистр A1 количество повторений цикла 100. После каждого выполнения тела цикла команда SUB уменьшает содержимое A1 на 1. Последняя команда цикла осуществляет переход к началу цикла, если содержимое A1 больше нуля. В противном случае выполняется команда, следующая за командой условного перехода.
Использование подпрограмм требует наличия в системе команд команды вызова подпрограммы и команды возврата из подпрограммы.
Рассмотрим пример вызова подпрограмм в процессорах ADSP-21xx:
IF FLAG_IN CALL FILTR; В этой команде вызов (CALL) подпрограммы осуществляется по условию IF FLAG_IN. Это условие выполняется, если на выводе FI (вход) действует сигнал логической «1». В этом случае осуществляется переход к первой команде подпрограммы с меткой FILTR. Подпрограмма начинается с метки FILTR и заканчивается командой возврата из подпрограммы RTS (return from a subroutine):
FILTR: . . . . . . . . . .
. . . . . . . . . .
RTS;
Команда вызова подпрограммы может быть безусловной, например, CALL FILTR, а команда возврата из подпрограммы наоборот условной.
Если подпрограммой является подпрограмма обслуживания прерывания, то для возврата из нее используется команда RTI (return from an interrupt service routine).
К командам общего управления относятся:
1.Команды перехода процессора в различные состояния:
STOP –останов работы генератора тактовых импульсов,
RESET – программный сброс,
IDLE, WAIT – переход в режим ожидания с низким потребление мощности.
2.Команды операций со стеком
POP – выталкивание данных из стека (считывание данных из стека),
PUSH – запись в стек.
3. NOP – нет операции
и др.
В этом разделе рассмотрена только небольшая часть команд двух семейств сигнальных процессоров. Например, процессоры TMS320C64x выполняют 209 команд, которые предусматривают различные ситуации, возникающие при реализации алгоритмов, например, перемножение знаковых и беззнаковых чисел, перемножение 32- разрядных, 16-разрядных, 8-разрядных чисел, перемножение операндов, находящихся в старшем полуслове данных или в младшем и т. д. Правильный выбор команд позволяет сократить программные затраты на реализацию алгоритма и уменьшить время выполнения программы. Последнее имеет решающее значение при обработке сигналов в реальном масштабе времени.