(2.27) | |
(2.28) |
Таким образом, принимаем
и .Программное обеспечение разрабатывается в виде стандартного приложения для операционной системы Windows, как наиболее распространенная среди потенциальных пользователей разрабатываемого программного продукта. Использование оконного интерфейса в стиле Windows позволяет сделать приложение наглядным и простым в использовании, осуществляя управление процессом спектрального анализа, включая операции ввода данных, визуализации результатов в виде графиков и колонки цифровых значений, завершения работы.
Разрабатываемая программа предназначена для моделирования работы системы обработки информации, состоящей из АЦП и блока анализа. Блок анализа позволяет находить характеристики генерируемого временного ряда, производить прямое и обратное преобразование Фурье и анализировать полученные результаты, оценивать спектральную плотность мощности несколькими способами. В программе предусмотрен блок, генерирующий исходный временной ряд, поступающий на вход АЦП.
Входными данными для программы являются данные, указанные в техническом задании на курсовое проектирование: разрядность АЦП; динамический диапазон напряжений АЦП; период дискретизации АЦП; амплитуда входного сигнала; число отсчетов (элементов генерируемого временного ряда); число гармоник и их величины; разрешение по частоте; погрешность оценивания спектральных плотностей; число усредняемых участков.
Выходными данными программы, наглядно представленные в виде графиков и выводящиеся в файлы с соответствующими названиями, являются: сгенерированные ряды данных (временные, комплексные, амплитудные) и характеристики этих рядов (оценка математического ожидания, дисперсии, среднеквадратичного отклонения и т.д.), спектральные плотности мощностей.
Программа состоит из четырех модулей: основной; функция, выполняющая прямое дискретное преобразование Фурье; функция, выполняющая обратное преобразование Фурье; функция, выполняющая быстрое прямое и обратное дискретное преобразование Фурье.
Остальные возможности реализованы в теле основной программы по нажатию определённых кнопок, такие как: функции очистки данных, загрузки и сохранения данных, функций вычисления грубой и усредненных оценок СПМ, функций окон сглаживания Гудмена и Гудмена-Эноконса-Отнеса. Схема программы приведена в приложения Б. Текст программных модулей приведен в приложении А.
Основной модуль предназначен для ввода всех входных параметров и вызова функций в последовательности, необходимой для указанного вида обработки данных. После получения входных данных выполняется их проверка. Затем производится вызов подпрограмм дискретного (прямого и обратного) и быстрого преобразования Фурье, а также подпрограмм оценки спектральной плотности мощности в комплексе с различными методами осреднения и сглаживания.
Функция вычисления БПФ
void fft_fun(float *x, float *y, int n, int ind) осуществляет вычисление прямого или обратного быстрого преобразования Фурье в зависимости от значения переменной ind. Другие переменные, передаваемые в эту функцию:
x, y – вещественные массивы размерности N;
n – количество отсчетов (длина участка) .
Функция вычисления дискретного преобразования Фурье
void dpf_fun(float *x, float *y, int N) осуществляет вычисление прямого дискретного преобразования Фурье. Переменные, передаваемые в эту функцию:
*x, *y – вещественные массивы размерности N;
N – количество отсчетов.
Функция вычисления обратного дискретного преобразования Фурье
void odpf_fun(float *x, float *y, int N) осуществляет вычисление обратного дискретного преобразования Фурье. Переменные, передаваемые в эту функцию:
*x, *y – вещественные массивы размерности N;
N – количество отсчетов.
Функция моделирования работы АЦП
void __fastcall TForm1::Button1Click(TObject *Sender) - Моделирует генерацию сигнала от датчика со всеми заданными параметрами (частоты, амплитуда) и последующую дискретизацию сигнала с заданным периодом дискретизации Т. Также вычисляет ошибку квантования её оценку математического ожидания, дисперсию, СКО.
Функция оценки спектральной плотности мощности
void __fastcall TForm1::BitBtn1Click(TObject *Sender) – По нажатию на эту кнопку программа выполняет оценку спектральной плотности мощности, в соответствие с введёнными параметрами. При этом есть возможность проводить оценку грубую, сглаженную усреднением по частотам или по участкам, либо с применением окон Гудмена или Гудмена-Эноксона-Отнеса.
Итак, пришло время самого интересного в этом курсовом проекте, а именно проверка того, какие результаты он выдаёт, то есть насколько корректно программа делает вычисления. Как эталон будет использоваться результат вычислений пакета MATLAB.
Начальные данные:
Амплитуда сигнала (В) | Значения частот гармоник (Гц) | Параметры АЦП | ||||||
f1 | f2 | f3 | f4 | f5 | UMAX (В) | UMIN (В) | Число разрядов | |
3 | 10 | 40 | 70 | 100 | 130 | +3 | -3 | 6 |
Разрешение по частоте – 1 (Гц), ошибка – 40 (%).
Количество отсчётов в ходе исследования выбрано разным, потому что при исследовании оценки СПМ необходимое число отсчетов - 8192, но в то же время, при N=8192 не видно графиков временного ряда и ДПФ, поэтому будем использовать два варианта числа отсчетов: 256 и 8192.
Далее приведем результаты работы программы.
Графическое представление исходных временных рядов представлено на рисунках 4.1, 4.2, 4.3, 4.4.
Рисунок 4.1 – Исходный непрерывный временной ряд
Рисунок 4.2 – Дискретный временной ряд
Рисунок 4.3 – Временной ряд с ошибкой квантования
Рисунок 4.4 – Временной ряд ошибки квантования
На рисунке 4.5 представлен исходный временной ряд с шумом, интенсивностью 5%.
Рисунок 4.5 - Исходный временной ряд с шумом
В результате получили соответствующие ряды. Ошибка квантования каждого из них не выходит за рамки +/- 0.5, что говорит о верном построении.
Значения полученных статических характеристик представлены на рисунке 4.6
Рисунок 4.6 – Статические характеристики
Теперь приступим к второй части – исследование преобразования Фурье.
Прямое дискретное преобразование Фурье и быстрое прямое ДПФ представлены на рисунках 4.7 и 4.8 соответственно.
Рисунок 4.7 – Прямое дискретное преобразование Фурье
Рисунок 4.8 – Прямое быстрое дискретное преобразование Фурье
Обратное дискретное преобразование Фурье и быстрое обратное ДПФ представлены на рисунках 4.9 и 4.10 соответственно.
Рисунок 4.9 – Обратное дискретное преобразование Фурье
Рисунок 4.10 – Быстрое обратное дискретное преобразование Фурье
Приступим к третьей части исследования – оценка спектральной плотности мощности.
Для дальнейшего исследования необходимо увеличить количество отсчетов до 8192. На рисунках 4.11, 4.12, 4.13, 4.14, 4.15 приведены результаты работы программы.
Рисунок 4.11 – Грубая оценка спектральной плотности мощности
Рисунок 4.12 – Сглаженная оценка СПМ (окно Гудмена-Эноксона-Отнеса)
Рисунок 4.13 – Сглаженная оценка СПМ (окно Гудмена)