Курсовая работа: Разработка технического и программного обеспечения автоматизированной системы научных исследований
Программа состоит из четырех модулей: основной; функция, выполняющая прямое дискретное преобразование Фурье; функция, выполняющая обратное преобразование Фурье; функция, выполняющая быстрое прямое и обратное дискретное преобразование Фурье.
Остальные возможности реализованы в теле основной программы по нажатию определённых кнопок, такие как: функции очистки данных, загрузки и сохранения данных, функций вычисления грубой и усредненных оценок СПМ, функций окон сглаживания Гудмена и Гудмена-Эноконса-Отнеса. Схема программы приведена в приложения Б. Текст программных модулей приведен в приложении А.
Основной модуль предназначен для ввода всех входных параметров и вызова функций в последовательности, необходимой для указанного вида обработки данных. После получения входных данных выполняется их проверка. Затем производится вызов подпрограмм дискретного (прямого и обратного) и быстрого преобразования Фурье, а также подпрограмм оценки спектральной плотности мощности в комплексе с различными методами осреднения и сглаживания.
Функция вычисления БПФ
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) – По нажатию на эту кнопку программа выполняет оценку спектральной плотности мощности, в соответствие с введёнными параметрами. При этом есть возможность проводить оценку грубую, сглаженную усреднением по частотам или по участкам, либо с применением окон Гудмена или Гудмена-Эноксона-Отнеса.
4.3 Тестирование разработанного ПО
Итак, пришло время самого интересного в этом курсовом проекте, а именно проверка того, какие результаты он выдаёт, то есть насколько корректно программа делает вычисления. Как эталон будет использоваться результат вычислений пакета MATLAB.
Начальные данные:
Амплитуда сигнала (В) |
Значения частот гармоник (Гц) |
Параметры АЦП | ||||||
f1 |
f2 |
f3 |
К-во Просмотров: 397
Бесплатно скачать Курсовая работа: Разработка технического и программного обеспечения автоматизированной системы научных исследований
|