- •1. Реализация универсальной “бабочки” с прямой адресацией для алгоритма бпф с прореживанием по времени.
- •2. Реализация универсальной “бабочки” с прямой адресацией для алгоритма бпф с прореживанием по частоте.
- •3. Реализация “бабочек” для специальных значений поворачивающих множителей.
- •4. Алгоритм бпф с прореживанием по времени и двоично-инверсным расположением входных данных.
- •5. Программа бпф с прореживанием по времени и двоично-инверсным расположением входных данных.
- •6. Алгоритм бпф с прореживанием по времени и прямым расположением входных данных.
- •7. Программа бпф с прореживанием по времени и прямым расположением входных данных.
- •8. Алгоритм бпф с прореживанием по частоте и прямым расположением входных данных.
- •10. Алгоритм бпф с прореживанием по частоте и двоично-инверсным расположением входных данных.
- •11. Программа бпф с прореживанием по частоте и двоично-инверсным расположением входных данных.
- •12. Программная реализация алгоритма бпф с поблочно-плавающей запятой.
- •13. Организация двоично-инверсного счетчика (алгоритм Рэйдера) и перестановка данных.
- •14. Форматы чисел с плавающей запятой.
- •15. Алгоритм сложения чисел с плавающей запятой.
- •16. Программа сложения чисел с плавающей запятой.
- •17. Алгоритм умножения чисел с плавающей запятой.
- •18. Программа умножения чисел с плавающей запятой.
- •19. Алгоритм деления чисел с плавающей запятой.
- •20. Программа деления чисел с плавающей запятой.
- •21. Использование процессов семейства tms320 для компрессии сигналов. Два метода сжатие сигналов.
- •22. Алгоритм компрессии сигналов по методу μ-Law.
- •23. Программа компрессии сигналов по методу μ-Law.
- •24. Алгоритм восстановления сигналов, закодированных по методу μ-Law.
- •25. Программа восстановления сигналов, закодированных по методу μ-Law.
- •26. Алгоритм компрессии сигналов по методу a-Law.
- •27. Программа компрессии сигналов по методу a-Law.
- •28. Алгоритм восстановления сигналов, закодированных по методу a-Law.
- •28. Программа восстановления сигналов, закодированных по методу a-Law.
- •30. Алгоритм бпф для обработки многомерных векторных процессов.
17. Алгоритм умножения чисел с плавающей запятой.
Основу алгоритма операции умножения составляет по парное перемножение старших и младших частей мантисс сомножителей с последующим их суммированием с соответствующим сдвигом и суммированием порядков.
Тогда алгоритм умножения чисел f1 = m1 · be1 и f2 = m2 · be2 может быть за-писан следующим образом:
f1 · f2 = m1 · m2 · b(e1+e2)
Процесс перемножения мантисс можно проиллюстрировать следующим образом (рис.4.2):

При этом, учитывая что первое произведение выходит за пределы 32-х старших разрядов и практически не влияет на результат, его можно не вычислять.
Схема алгоритма умножения двух чисел с плавающей запятой А и В с формированием результата в С приведена на рис.4.3.
Учитывая, что значения сомножителей равны и B = BHI + BLO·2-15, результат умножения формируется следующим образом A·B = AHI·BHI +
(AHI·BLO+ALO·BHI)·2-15 + ALO·BLO·2-30.
Пример программы с прямой адресацией вычисления произведения двух
чисел с ПЗ приведен ниже.

18. Программа умножения чисел с плавающей запятой.
; ППО ВС РВ Умножение с ПЗ
.mmregs ; Определение регистров
.def _ c_int00 ; Метка начала программы
_c_int00:
ld #ASIGN, DP ; Текущая страница
stm #ASIGN, SP ; Указатель стека
st #1,ONE
ssbx FRCT ; Умножение дробных чисел
ssbx SXM ; Рас ширение знака
rsbx OVM ; Зап рет коррек.переполнения
call MULFLT
nop
MULFLT stm #ASIGN, ar2 ; Адрес 1-го операнда
stm #AHI, ar3 ; Адр ес AHI
; rpt #6
; portr PA0, *a r2+
; portr PA0, *ar2 ; ar2 -> BLO
UP ld AEXP, a ; Суммирование порядков
add BEXP, a ;
stl a,CEX P
ld *ar2-, T ; T = BLO
mpyu *ar3+, a ; a = BLO * AHI
macsu *ar3-, *ar2, a ; a + BHI * ALO
sftl a , -15 ; с 0 (-16 без 0)
macsu *ar3, *ar2+, a ; a + BHI * AHI
sftc a
bcd OK,aeq
dst a,CHI ;1w
mar *ar2+ ;1w
bcd SIGN, tc
ld CEXP, 16, a ;1w
or ASIGN, a ;1w
sub ONE, 16, a
SIGN xor BSIGN, a
OK dst a, CEXP ; CEXP | CSIGN
; rpt #3
; portw *ar2+, PA 0
ret
.align 80h ; Выр овнять на страницу
ASIGN .word 0 ; 1-й операнд
AEXP .word 0
AHI.word5555h; д войное слово
ALO .word 2222h ; с четного адреса
BSIGN .word -1 ; 2-й операнд
. . .
CLO .word 0 ; с четного адреса
ONE .word 0
.end ; Конец программы
19. Алгоритм деления чисел с плавающей запятой.
Основу алгоритма операции деления составляет разложение частного от деления мантисс в ряд с определенной точностью и вычитание порядков.
Тогда алгоритм деления чисел f1 = m1 · be1 и f2 = m2 · be2 может быть записан следующим образом:
f1 · f2 = m1 / m2 · b(e1–e2)
Для пояснения данного алгоритма представим мантиссы в следующем виде:
делимое – A = AHI + ε·ALO
делитель – B = BHI + ε·BLO
где ε = 1/2длина младшей части · = 1/216
Тогда процесс деления может быть описан выражением:

Обозначив первое частное через новую переменную Q, которая может быть записана как QHI+ε·QLO и, учитывая, что ε2 << 0, получим окончательное выражение для алгоритма деления:

Схема алгоритма деления двух чисел с плавающей запятой А и В с формированием результата в С представлена ниже на рис.4.4.

