Вы находитесь на странице: 1из 93

Математические

методы в
программировании
(ММвП)
Преподаватель:
Олег Чеславович Ролич
кандидат технических наук, доцент 1
Установочная лекция
Математические основы
дискретного (ДПФ)
и быстрого (БПФ)
Фурье-преобразований
2
Понятие программы
Программа как реализация модели объекта и
алгоритма его функционирования в контексте
специализированного языка

3
Понятие программы
Программа представляет собой реализацию
алгоритма действий средствами
конкретного, как правило, технического
языка
Алгоритм – последовательность этапов
решения поставленной задачи или
последовательность действий
функционирования модели исследуемого
объекта
Программа оперирует сопутствующими
данными с помощью команд 4
Краткий
синонимический ряд «программы»
План Содержание
Пакет Проект
Основная цель дисциплины –
применение математических
методов, моделей, алгоритмов и
средств их реализации для
планирования и
прогнозирования процессов 5
Связь программирования
с основными направлениями науки и техники
1. Прогнозирование
2. Автоматизация
3. Автоматизация безынерционных
процессов (например,
автоматизированный ввод данных)
4. Анализ данных
5. Методы вычислений
6. Оптимизация операций
7. Компрессия данных
8. Шифрование и кодирование 6
Методы планирования
и прогнозирования
1. Спектральные
2. Корреляционные
3. Регрессионные
4. Стохастические
5. Линейного и динамического
программирования
6. Генетические
7. Фрактальные
8. Нейросетевые
9. Вейвлетные
10. Индукции и дедукции
11. Интуитивные 7
Обобщённая схема
последовательности анализа данных
и принятия решений

8
Примеры выборок
для оценки общих черт

9
Примеры выборок
для оценки общих черт

10
Примеры выборок
для оценки общих черт

11
Примеры выборок
для оценки общих черт

12
Примеры выборок
для оценки общих черт

13
Демонстрация
прогнозирования
на примере априори детерминированного
процесса с выраженными гармониками

Демонстрационное
видео процесса поиска
выраженных гармоник
14
Демонстрация
прогнозирования
на примере априори детерминированного
процесса с выраженными гармониками
j = 44
Очевидная
выраженность
гармоник
при j > 44
(т.е. попытка
предсказания
значений более
четверти
исходной
выборки) 15
Демонстрация
прогнозирования
на примере априори детерминированного
процесса с выраженными гармониками

16
Демонстрация
прогнозирования
на примере априори детерминированного
процесса с выраженными гармониками
Результат прогнозирования, т.е. восстановления выборки по её фрагменту

Относительная
погрешность
прогноза 6%

σ_1 σ_2 σ_3 17


Демонстрация прогнозирования на примере Таблица относительных
априори детерминированного процесса
с выраженными гармониками погрешностей

18
Демонстрация
прогнозирования
на примере априори детерминированного
процесса с выраженными гармониками
Зависимости относительных погрешностей

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

2
1 N 1 i nk
cn   f k e N

N k 0
20
Обратное дискретное
преобразование Фурье (ОДПФ)

N 1 2
i nk
f k   cn e N

n 0
21
Дискретное
преобразование Фурье (ДПФ)
Амплитудно-частотная характеристика
(АЧХ)
AFCn  cn
Фазо-частотная характеристика (ФЧХ)

PFCn  arg cn 
22
Дискретное
преобразование Фурье (ДПФ)
Демонстрационное
видео 1
изменения АЧХ для
сигнала с единственной
гармоникой 23
Дискретное
преобразование Фурье (ДПФ)
Демонстрационное
видео 2
изменения АЧХ для
сигнала с двумя
гармониками 24
Дискретное
преобразование Фурье (ДПФ)
Демонстрационное
видео 1
изменения ФЧХ для
сигнала с единственной
гармоникой 25
Дискретное
преобразование Фурье (ДПФ)
Демонстрационное
видео 2
изменения ФЧХ для
сигнала с двумя
гармониками 26
Дискретное
преобразование Фурье (ДПФ)

1 N 1
cn   wN f k
nk

N k 0
2
i
wN  e N
27
Дискретное
преобразование Фурье (ДПФ)
Матричная запись ДПФ

1
C  W F
N 28
Дискретное
преобразование Фурье (ДПФ)
Матричная запись ДПФ
2
i nk
Wn ,k  w  e nk
N
N

Fk  f k , Cn  cn 29
Дискретное
преобразование Фурье (ДПФ)
Матричная запись ДПФ
0  N 1 
 w 00
w 01
... w 
 10 N N
11
N
1 N 1 

 wN wN ... wN 
W  
... ... ... ...
  N 1 0 
w  N 1 1
wN  N 1  N 1 
... wN
 N 
30
Дискретное
преобразование Фурье (ДПФ)
Матричная запись ДПФ
1 1 ... 1 
 11 1 N 1

1 wN ... wN 
W  
... ... ... ...
  N 1 1

 N 1  N 1 
 1 wN ... wN 
W – симметричная матрица 31
Дискретное
преобразование Фурье (ДПФ)
Матричная запись ДПФ
 f0   c0 
   
 f1   c1 
F   , C   
... ...
   
 f N 1  c
 N 1  32
Дискретное
преобразование Фурье (ДПФ)
Вычислительная сложность ДПФ «в лоб»
3
Количество умножений ~N
2
~ N при умножении W·F 1
~ N при умножении результата на
Количество сложений
N
~ N  N  1 33
Дискретное
преобразование Фурье (ДПФ)
Матричная запись ДПФ
Формула Тейлхеймера (1969)
log 2 N
W  pП0 Wp
34
Дискретное
преобразование Фурье (ДПФ)
Свойства весов wN
Периодичность
w n N
N
w n
N
Симметричность
N
n
w N
2
 w n
N 35
Быстрое
преобразование Фурье (БПФ)
Графическое представление четырёхточечного
БПФ с прореживанием по частоте

36
Быстрое
преобразование Фурье (БПФ)
Графическое представление восьмиточечного БПФ
с прореживанием по частоте

37
Быстрое
преобразование Фурье (БПФ)
Графическое представление 16-точечного БПФ
с прореживанием по частоте

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

41
42
Быстрое
преобразование Фурье
16-точечное ДПФ
Матричная перестановка
«частотных» индексов

43
Быстрое
преобразование Фурье Двоично-инверсная
16-точечное ДПФ перестановка индексов

44
Быстрое
преобразование Фурье
N-точечное ДПФ
Количество сложений = N·log2N
На каждом этапе
N сложений,
количество этапов
равно log2N 45
Быстрое
преобразование Фурье
N-точечное ДПФ

N  log 2 N
  N  1
Количество
умножений 
2

46
Быстрое
преобразование Фурье
Графическое представление четырёхточечного
ДПФ с прореживанием по времени

47
Быстрое
преобразование Фурье
Графическое представление восьмиточечного ДПФ с
прореживанием по времени

48
Практическая
реализация БПФ в анализаторе спектра

49
Практическая
реализация БПФ в анализаторе спектра

50
Практическая
реализация БПФ в анализаторе спектра

51
Практическая
реализация БПФ в анализаторе спектра

52
Практическая
реализация БПФ в анализаторе спектра

53
Практическая
реализация БПФ в анализаторе спектра

54
Практическая
реализация БПФ в анализаторе спектра

55
Практическая
реализация БПФ в анализаторе спектра

56
Практическая
реализация БПФ в анализаторе спектра

57
Практическая
реализация БПФ в анализаторе спектра

58
Практическая
реализация БПФ в анализаторе спектра

59
Практическая
реализация БПФ в анализаторе спектра

60
Практическая
реализация БПФ в анализаторе спектра

61
Практическая
реализация БПФ в анализаторе спектра

62
Практическая
реализация БПФ в анализаторе спектра

63
Практическая
реализация БПФ в анализаторе спектра

64
Практическая
реализация БПФ в анализаторе спектра
Контроллер STM32F407
Архитектура 32-разрядная ARM Cortex-M4F
Тактовая частота 168 МГц
Длина выборки N = 256

Демонстрационное видео
БПФ
в спектроанализаторе
на базе STM32F407 65
Практическая
реализация БПФ в анализаторе спектра
Контроллер STM32F407
Архитектура 32-разрядная ARM Cortex-M4F
Тактовая частота 168 МГц
Длина выборки N = 256

«+» означает применение таблиц косинуса и синуса при умножении на


поворачивающие множители
«–» – косинус и синус аргумента вычисляются непосредственно в программе
66
АЦП и ЦАП
Uоп - реперное (опорное) напряжение

fk

d - разрядность АЦП
АЦП – устройство, преобразующее мгновенное
значение напряжения в число 67
АЦП и ЦАП

68
АЦП и ЦАП
Основные параметры АЦП:
•Разрядность d
•Диапазон оцифровываемых
значений [0, Uоп] (или
опорное напряжение Uоп )
•Шаг квантования (Uоп /2d)
•Максимально
d 69
АЦП и ЦАП
Формула вычисления
оцифрованного значения
 2  1 
d

 U , если U  U оп
f k   U оп 
 d

 2  1 в противном случае
70
АЦП и ЦАП

ЦАП – устройство,
преобразующее числовое
значение в напряжение
соответствующего уровня

71
АЦП и ЦАП
Σ-Δ АЦП и PDM-формат представления
базисной функции как основа АПФ

72
АЦП и ЦАП
Σ-Δ АЦП и PDM-формат представления
базисной функции как основа АПФ

73
АЦП и ЦАП
Σ-Δ АЦП и PDM-формат представления
базисной функции как основа АПФ

74
АЦП и ЦАП
Σ-Δ АЦП и PDM-формат представления
базисной функции как основа АПФ

Демонстрационные
видео Σ-Δ АЦП
(синий – исходный сигнал, зелёный –
средний по исходному, коричневый –
средний по промежуточному выходному
PDM, красный – результирующий PDM)
75
Постановка задания
к контрольной работе
Название контрольной
работы
«Математические методы
в программировании
алгоритмов цифровой
обработки сигналов»
76
Постановка задания
к контрольной работе
Задания к контрольной работе

77
Постановка задания
к контрольной работе
Задания к контрольной работе

78
Постановка задания
к контрольной работе
Задания к контрольной работе

79
Постановка задания
к контрольной работе
Задания к контрольной работе

80
Постановка задания
к контрольной работе
Задания к контрольной работе

81
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы

1. Понятия аналогового
и цифрового сигналов
82
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы
2. Импульсно-кодовая (PCM) и
плотностно-импульсная (PDM)
типы модуляции в
представлении данных
цифрового сигнала 83
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы

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

4. Математические
основы Фурье-
преобразования
85
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы

5. Алгоритмы быстрого
преобразования Фурье с
прореживанием по
времени 86
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы

6. Алгоритмы быстрого
преобразования Фурье с
прореживанием по
частоте 87
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы

7. Понятие и алгоритмы
построения
спектрограммы
88
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы
7д1. Обзор архитектуры
микроконтроллера (структура
микроконтроллера и методика
управления портами ввода-
вывода общего назначения) 89
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы

7д2. Описание
структуры и логики
функционирования
дисплейного модуля 90
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы

8. Программная
реализация быстрого
преобразования Фурье
91
Постановка задания
к контрольной работе
Примерное содержание
контрольной работы
9.Анализ результатов выполнения
программы (визуальные
фрагменты, отражающие действия
пользователя, сопровождаемые
детальными пояснениями)
92
Спасибо за
внимание