3.2. Реализация частных случаев вычисления «бабочки»
Воспользовавшись свойством симметрии поворачивающих множителей можно значительно упростить вычисление «бабочки».
Для алгоритма БПФ с прореживанием по времени и WN0 = 1 (cos=1, sin=0) получим
Pm+1 = [PR + QR] + j [PI + QI],
Qm+1 = [PR – QR] + j [PI – QI].
Программа вычисления «бабочки» при этом значительно сокращается (в 2
раза): | PR, 15, a | ; A = 1/2 QR |
BTRFLY ld | ||
add | QR, 15, a | ; A = 1/2 (PR+QR) |
sth | a, PR | ; = 1/2 PR |
sub | QR, 16, a | ; A = 1/2 (PR-QR) |
sth | a, QR | ; = 1/2 QR |
ld | QI, 15, a | ; A = 1/2 QI |
add | PI, 15, a | ; A = 1/2 (PI+QI) |
sth | a, PI | ; = 1/2 PI |
sub | QI, 16, a | ; A = 1/2 (PI-QI) |
sth | a, QI | ; = 1/2 QI |
Для алгоритма БПФ с прореживанием по частоте и WN0 = 1 (cos=1, sin=0) получим
Pm+1 = [PR + QR] + j [PI + QI],
Qm+1 = [PR – QR] + j [PI – QI].
И программа вычисления «бабочки» полностью совпадает с программой для алгоритма с прореживанием по времени.
Для алгоритма БПФ с прореживанием по времени и WNN/4 = –j (cos=0, sin=1) получим
Pm+1 = [PR + QI] + j [PI – QR],
Qm+1 = [PR – QI] + j [PI + QR].
- 2.4. Точностные характеристики цифровых фильтров
- 2.4.2.Ошибки квантования в цифровых фильтрах
- 3.2. Реализация частных случаев вычисления «бабочки»
- 3.4. Основные алгоритмы БПФ по модулю 2 с замещением
- 3.5. Алгоритм БПФ с поблочно-плавающей запятой
- 4. ВЫПОЛНЕНИЕ ОПЕРАЦИЙ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ
- 4.1. Форматы чисел с плавающей запятой
- Операция умножения с плавающей запятой
- 5.3. Метод кодирования A-Law
- 6.1. Многомерный формирующий фильтр