BSUIR lab project on DSP.
Forked from @kabbi/what-the-signal
Контрольная работа по цифровой обработке сигналов и экспериментальных данных для магистрантов.
- Разработать проект и реализовать программное средство для обработки цифровых сигналов.
- В качестве сигналов для обработки используются вибрационные сигналы, полученные при исследовании технического состояния механизмов с вращательным движением и представленные в единицах виброускорения.
- При реализации проекта обеспечить выполнение следующих функций:
-
Работа с файловой системой для выбора группы файлов или файла для обработки.
Файл, содержащий имена файлов, входящих в состав группы имеет расширение
txt
. Файлы, содержащие данные, имеют расширениеbin
. Если производится групповой выбор файлов, то для анализа считываются все файлы группы. -
Отображение графиков временных реализаций.
- Возможны два варианта отображения графиков:
- а) для каждого сигнала формируется свое поле отображения (одновременно может анализироваться до 16 сигналов);
- б) графики всех сигналов отображаются в одном поле отображения разным цветом.
- Отображение полей графиков масштабируется при масштабировании окна отображения.
- Необходимо предусмотреть:
- возможность автоматического выбора предела шкалы;
- возможность задания (изменения) верхнего и нижнего пределов шкал для всех графиков одновременно и для каждого графика в отдельности.
- На графиках отображаются шкалы.
- Для отображения длинных временных реализаций должен быть реализован скользящий просмотр с возможностью задания числа точек смещения графика за одну итерацию.
- Для просмотра текущих значений графика реализуется курсор, положение которого управляется оператором. Для каждого зафиксированного положения курсора отображаются значения времени и амплитуды.
- Возможны два варианта отображения графиков:
-
Вычисление параметров сигналов.
- Вычисление параметров сигнала производится на конечном числе дискретных точек
N
, выбираемых из ряда значений кратных степени двойки:64
,128
,256
,512
,1024
,2048
,4096
,8192
,16384
, и т.д. - Начальное значение N выбирается из параметров прочитанного файла.
- Вычисляются максимальное и минимальное значение сигнала, азмах колебаний, среднее квадратическое значение (СКЗ), пик-фактор.
- Вычисление параметров производится начиная с точки, соответствующей началу отображения сигнала в поле графика (условная нулевая точка).
- Вычисленные параметры отображаются на графике или в специальном поле.
- Вычисление параметров сигнала производится на конечном числе дискретных точек
-
Определение амплитудного спектра сигнала.
- Осуществляется на том же числе точек
N
, что и вычисление параметров сигнала. Вычисление амплитудного спектра производится с использованием алгоритма дискретного или быстрого преобразования Фурье. - Амплитудные спектры вычисляются для каждого из исследуемых сигналов и отображаются в виде графиков в отдельном окне. Для отображения спектров может быть реализован трех координатный график.
- Для просмотра и определения значений отдельных спектральных составляющих реализуется графический курсор. Для каждого зафиксированного положения курсора отображаются значения амплитуды и частоты.
- Амплитудные спектры вычисляются для исходных сигналов или предварительно обработанных сигналов.
- Осуществляется на том же числе точек
-
Цифровая фильтрация исходных сигналов.
- Может быть реализована низкочастотная, полосовая и высокочастотная фильтрация.
- Реализуется методом частотных выборок (исходный сигнал – БПФ – удаление ненужных частотных составляющих – ОБПФ – отфильтрованный сигнал).
- Задаются значения частот среза для фильтра НЧ и ВЧ, или нижняя и верхняя частота фильтрации для полосового фильтра.
В другом окне на графике отображается отфильтрованный сигнал и параметры сигнала.
-
Интегрирование и двойное интегрирование исходного сигнала.
- Осуществляется переход от единиц виброускорения к единицам виброскорости и виброперемещения.
- Может производиться во временной или частотной области.
В другом окне на графике отображается отфильтрованный сигнал и параметры сигнала.
-
Построение гистограммы распределения амплитуд исследуемого сигнала.
- Задаются: диапазон амплитуд для анализа и количество интервалов.
- Дополнительно вычисляются эксцесс и асимптота.
- В другом окне на графике отображается гистограмма распределения амплитуд исследуемого и параметры сигнала.
-
Удаление низкочастотного дрейфа из сигнала с применение полинома первой или второй степени.
В другом окне на графике отображается обработанный сигнал и параметры сигнала.
-
Вейвлет преобразование исходного сигнала.
- Задаются тип вейвлета и центральная частота частотной характеристики вейвлета.
- При реализации вейвлет преобразования учесть переходной процесс на начальном и конечном этапах вейвлет преобразования.
В другом окне на графике отображается обработанный вейвлетом сигнал и параметры сигнала.
-
Определение амплитудно-фазовых параметров сигнала.
- Выполняется для группы сигналов (два и более), один из которых является сигналом от датчика фазовой метки.
- Вычисляются амплитуды и начальные фазы для первой, второй, третьей, ..., десятой (а также половинной и одна четвертой) оборотных составляющих. Количество определяемых оборотных составляющих задается пользователем.
- Также задается число оборотов (временной интервал), на которых производится вычисление параметров. Начальная точка обработки определяется пользователем на графике. На графике или в специальном поле выводятся полученные численные значения.
- Выполняется скользящий амплитудно-фазовый анализ. Для этого дополнительно задается временной интервал для его проведения и шаг по времени для осуществления следующего вычисления. Шаг по времени может задаваться в единицах количества оборотов.
- Полученные результаты строятся в виде графических трендов амплитуд оборотных составляющих и начальных фаз и отображаются в другом окне.
-
Построение полосового спектра.
- Задаются частотный диапазон анализа и границы поддиапазонов. Например:
10
,25
,50
,100
,200
,400
,700
,1000 Гц
. Максимальное число поддиапазонов –30
(может быть меньше). - Далее определяется СКЗ сигнала в каждом из поддиапазонов. Для этого вначале выполняется ДПФ или БПФ, а затем по полученным амплитудам спектральных составляющих вычисляется СКЗ в каждом из поддиапазонов.
- Полученный полосовой спектр отображается в виде графика в другом окне. Предусмотреть возможность движения курсора по графика для отображения СКЗ сигнала в каждой частотной полосе.
- Задаются частотный диапазон анализа и границы поддиапазонов. Например:
-
Разложение сигнала на периодическую и шумоподобную составляющие.
- Задаются значения частотных составляющих, которые пользователь относит к периодической составляющей. Эти значения могут задаваться в единицах частоты или в относительных единицах относительной частотной составляющей, которая принимается за единичную.
- Вычисляются параметры (амплитуды и начальные фазы) выбранных составляющих и по ним синтезируется периодическая составляющая сигнала.
- Из исходного сигнала вычитается периодическая составляющая и получается шумоподобная составляющая.
- Вычисляются параметры и строятся графики отдельно для периодической и шумоподобной составляющих.
-
Аппроксимация затухающих сигналов.
- Интервал затухания сигнала аппроксимируется суммой затухающих косинусоид плюс постоянная составляющая.
- В качестве критерия близости можно использовать среднее квадратическое отклонение модельного сигнала от исходного, определяемое выражением
- Интервал аппроксимируемого сигнала задается пользователем.
-
Для графиков амплитудных спектров реализовать дополнительно возможность отображения гафиков с логарифмической осью ординат.
- Опорное значение для вычисления значений в
дБ
:1*10^-6
- для виброускорения1*10^-5
- для виброскорости и виброперемещения
- Опорное значение для вычисления значений в
-
Предусмотреть возможность сохранения графического образа окна обработки в цветном и черно-белом форматах и его портирование в программы работы с графикой и текстовый редактор
WORD
.
Выполняемые пункты контрольной работы для каждого обучающегося задаются преподавателем.
Файл, содержащий последовательность цифровых кодов смоделированного сигнала, имеет расширеннее
bin
.
Файл имеет формат типа бинарный.
Описание формата файла для сигнала:
- сигнатура файла -
TMB1
: 4 байта, текст - Количество каналов: 4 байта, целое (Количество каналов по которым принимался сигнал)
- Размер выборки на один канал: 4 байта, целое (число дискретных точек на один временной интервал приема данных (блок даных)
N
) - Количество спектральных линий: 4 байта, целое (меньше или равно
N/2
) - Частота среза: 4 байта, целое (заданная частота среза ФНЧ при приеме данных)
- Частотное разрешение: 4 байта, вещественное (шаг по частоте между спектральными линиями при анализе,
Гц
) - Время приёма блока данных: 4 байта, вещественное (время за которое принимался блок данных, величина обратная частотному разрешению)
- Общее время приёма данных: 4 байта, целое (время приема всей реализации в секундах)
- Количество принятых блоков (задано пользователем): 4 байта, целое (то что было задано пользователем при приеме данных)
- размер данных: 4 байта, целое (количество дискретных отсчетов в файле даных)
- число принятых блоков(принято системой): 4 байта, целое (реально принятое число блоков)
- максимальное значение принятых данных: 4 байта, вещественное (максимальное значение сигнала)
- минимальное значение принятых данных: 4 байта, вещественное (минимальное значение сигнала)
- далее идут данные в формате 4 байта, вещественное число для одного дискретного значения сигнала.