Giter Club home page Giter Club logo

what-the-signal's Introduction

What The Signal

BSUIR lab project on DSP.

Forked from @kabbi/what-the-signal

Samples

no files

screen shot 2017-11-28 at 1 57 31 pm

simple signal

screen shot 2017-11-28 at 12 38 07 am

two FFT harmonics

screen shot 2017-11-28 at 12 37 37 am

colored lines

screen shot 2017-11-28 at 12 39 08 am

simple FFT

screen shot 2017-11-28 at 12 38 28 am

many charts

screen shot 2017-11-28 at 12 40 19 am

histogram chart

Tasks

Контрольная работа по цифровой обработке сигналов и экспериментальных данных для магистрантов.

  • Разработать проект и реализовать программное средство для обработки цифровых сигналов.
  • В качестве сигналов для обработки используются вибрационные сигналы, полученные при исследовании технического состояния механизмов с вращательным движением и представленные в единицах виброускорения.
  • При реализации проекта обеспечить выполнение следующих функций:
  1. Работа с файловой системой для выбора группы файлов или файла для обработки.

    Файл, содержащий имена файлов, входящих в состав группы имеет расширение txt. Файлы, содержащие данные, имеют расширение bin. Если производится групповой выбор файлов, то для анализа считываются все файлы группы.

  2. Отображение графиков временных реализаций.

    • Возможны два варианта отображения графиков:
      • а) для каждого сигнала формируется свое поле отображения (одновременно может анализироваться до 16 сигналов);
      • б) графики всех сигналов отображаются в одном поле отображения разным цветом.
    • Отображение полей графиков масштабируется при масштабировании окна отображения.
    • Необходимо предусмотреть:
      • возможность автоматического выбора предела шкалы;
      • возможность задания (изменения) верхнего и нижнего пределов шкал для всех графиков одновременно и для каждого графика в отдельности.
      • На графиках отображаются шкалы.
      • Для отображения длинных временных реализаций должен быть реализован скользящий просмотр с возможностью задания числа точек смещения графика за одну итерацию.
      • Для просмотра текущих значений графика реализуется курсор, положение которого управляется оператором. Для каждого зафиксированного положения курсора отображаются значения времени и амплитуды.
  3. Вычисление параметров сигналов.

    • Вычисление параметров сигнала производится на конечном числе дискретных точек N, выбираемых из ряда значений кратных степени двойки: 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, и т.д.
    • Начальное значение N выбирается из параметров прочитанного файла.
    • Вычисляются максимальное и минимальное значение сигнала, азмах колебаний, среднее квадратическое значение (СКЗ), пик-фактор.
    • Вычисление параметров производится начиная с точки, соответствующей началу отображения сигнала в поле графика (условная нулевая точка).
    • Вычисленные параметры отображаются на графике или в специальном поле.
  4. Определение амплитудного спектра сигнала.

    • Осуществляется на том же числе точек N, что и вычисление параметров сигнала. Вычисление амплитудного спектра производится с использованием алгоритма дискретного или быстрого преобразования Фурье.
    • Амплитудные спектры вычисляются для каждого из исследуемых сигналов и отображаются в виде графиков в отдельном окне. Для отображения спектров может быть реализован трех координатный график.
    • Для просмотра и определения значений отдельных спектральных составляющих реализуется графический курсор. Для каждого зафиксированного положения курсора отображаются значения амплитуды и частоты.
    • Амплитудные спектры вычисляются для исходных сигналов или предварительно обработанных сигналов.
  5. Цифровая фильтрация исходных сигналов.

    • Может быть реализована низкочастотная, полосовая и высокочастотная фильтрация.
    • Реализуется методом частотных выборок (исходный сигнал – БПФ – удаление ненужных частотных составляющих – ОБПФ – отфильтрованный сигнал).
    • Задаются значения частот среза для фильтра НЧ и ВЧ, или нижняя и верхняя частота фильтрации для полосового фильтра.

      В другом окне на графике отображается отфильтрованный сигнал и параметры сигнала.

  6. Интегрирование и двойное интегрирование исходного сигнала.

    • Осуществляется переход от единиц виброускорения к единицам виброскорости и виброперемещения.
    • Может производиться во временной или частотной области.

      В другом окне на графике отображается отфильтрованный сигнал и параметры сигнала.

  7. Построение гистограммы распределения амплитуд исследуемого сигнала.

    • Задаются: диапазон амплитуд для анализа и количество интервалов.
    • Дополнительно вычисляются эксцесс и асимптота.
    • В другом окне на графике отображается гистограмма распределения амплитуд исследуемого и параметры сигнала.
  8. Удаление низкочастотного дрейфа из сигнала с применение полинома первой или второй степени.

    В другом окне на графике отображается обработанный сигнал и параметры сигнала.

  9. Вейвлет преобразование исходного сигнала.

    • Задаются тип вейвлета и центральная частота частотной характеристики вейвлета.
    • При реализации вейвлет преобразования учесть переходной процесс на начальном и конечном этапах вейвлет преобразования.

      В другом окне на графике отображается обработанный вейвлетом сигнал и параметры сигнала.

  10. Определение амплитудно-фазовых параметров сигнала.

    • Выполняется для группы сигналов (два и более), один из которых является сигналом от датчика фазовой метки.
    • Вычисляются амплитуды и начальные фазы для первой, второй, третьей, ..., десятой (а также половинной и одна четвертой) оборотных составляющих. Количество определяемых оборотных составляющих задается пользователем.
    • Также задается число оборотов (временной интервал), на которых производится вычисление параметров. Начальная точка обработки определяется пользователем на графике. На графике или в специальном поле выводятся полученные численные значения.
    • Выполняется скользящий амплитудно-фазовый анализ. Для этого дополнительно задается временной интервал для его проведения и шаг по времени для осуществления следующего вычисления. Шаг по времени может задаваться в единицах количества оборотов.
    • Полученные результаты строятся в виде графических трендов амплитуд оборотных составляющих и начальных фаз и отображаются в другом окне.
  11. Построение полосового спектра.

    • Задаются частотный диапазон анализа и границы поддиапазонов. Например: 10, 25, 50, 100, 200, 400, 700, 1000 Гц. Максимальное число поддиапазонов – 30 (может быть меньше).
    • Далее определяется СКЗ сигнала в каждом из поддиапазонов. Для этого вначале выполняется ДПФ или БПФ, а затем по полученным амплитудам спектральных составляющих вычисляется СКЗ в каждом из поддиапазонов.
    • Полученный полосовой спектр отображается в виде графика в другом окне. Предусмотреть возможность движения курсора по графика для отображения СКЗ сигнала в каждой частотной полосе.
  12. Разложение сигнала на периодическую и шумоподобную составляющие.

    • Задаются значения частотных составляющих, которые пользователь относит к периодической составляющей. Эти значения могут задаваться в единицах частоты или в относительных единицах относительной частотной составляющей, которая принимается за единичную.
    • Вычисляются параметры (амплитуды и начальные фазы) выбранных составляющих и по ним синтезируется периодическая составляющая сигнала.
    • Из исходного сигнала вычитается периодическая составляющая и получается шумоподобная составляющая.
    • Вычисляются параметры и строятся графики отдельно для периодической и шумоподобной составляющих.
  13. Аппроксимация затухающих сигналов.

    • Интервал затухания сигнала аппроксимируется суммой затухающих косинусоид плюс постоянная составляющая.
    • В качестве критерия близости можно использовать среднее квадратическое отклонение модельного сигнала от исходного, определяемое выражением
    • Интервал аппроксимируемого сигнала задается пользователем.
  14. Для графиков амплитудных спектров реализовать дополнительно возможность отображения гафиков с логарифмической осью ординат.

    • Опорное значение для вычисления значений в дБ:
      • 1*10^-6 - для виброускорения
      • 1*10^-5 - для виброскорости и виброперемещения
  15. Предусмотреть возможность сохранения графического образа окна обработки в цветном и черно-белом форматах и его портирование в программы работы с графикой и текстовый редактор WORD.

Выполняемые пункты контрольной работы для каждого обучающегося задаются преподавателем.

Формат фала данных

Файл, содержащий последовательность цифровых кодов смоделированного сигнала, имеет расширеннее bin.

Файл имеет формат типа бинарный.

Описание формата файла для сигнала:

  1. сигнатура файла - TMB1: 4 байта, текст
  2. Количество каналов: 4 байта, целое (Количество каналов по которым принимался сигнал)
  3. Размер выборки на один канал: 4 байта, целое (число дискретных точек на один временной интервал приема данных (блок даных) N)
  4. Количество спектральных линий: 4 байта, целое (меньше или равно N/2)
  5. Частота среза: 4 байта, целое (заданная частота среза ФНЧ при приеме данных)
  6. Частотное разрешение: 4 байта, вещественное (шаг по частоте между спектральными линиями при анализе, Гц)
  7. Время приёма блока данных: 4 байта, вещественное (время за которое принимался блок данных, величина обратная частотному разрешению)
  8. Общее время приёма данных: 4 байта, целое (время приема всей реализации в секундах)
  9. Количество принятых блоков (задано пользователем): 4 байта, целое (то что было задано пользователем при приеме данных)
  10. размер данных: 4 байта, целое (количество дискретных отсчетов в файле даных)
  11. число принятых блоков(принято системой): 4 байта, целое (реально принятое число блоков)
  12. максимальное значение принятых данных: 4 байта, вещественное (максимальное значение сигнала)
  13. минимальное значение принятых данных: 4 байта, вещественное (минимальное значение сигнала)
  14. далее идут данные в формате 4 байта, вещественное число для одного дискретного значения сигнала.

what-the-signal's People

Contributors

drapegnik avatar kabbi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.