Оглавление:

Инструкции по частоте дискретизации / сглаживанию: 8 шагов (с изображениями)
Инструкции по частоте дискретизации / сглаживанию: 8 шагов (с изображениями)

Видео: Инструкции по частоте дискретизации / сглаживанию: 8 шагов (с изображениями)

Видео: Инструкции по частоте дискретизации / сглаживанию: 8 шагов (с изображениями)
Видео: Оцифровка звука 2024, Июль
Anonim
Настраиваемая частота дискретизации / наложение
Настраиваемая частота дискретизации / наложение

Я хочу создать образовательный проект, демонстрирующий псевдонимы (и частоту дискретизации) и предназначенный для размещения на веб-сайте в качестве ресурса для студентов, изучающих псевдонимы.

Шаг 1: макет Ciruit

Схема Ciruit
Схема Ciruit
Схема Ciruit
Схема Ciruit

Ардуино

Arduino - это основа схемы; поддерживающий серводвигатель (с установленным колесом энкодера) и установленный датчик Холла.

-Колесо энкодера: колесо энкодера предназначено для подвешивания магнита, который вращается по круговой траектории, зависая над установленным датчиком на эффекте Холла.

-Установка датчика: датчик на эффекте Холла размещается ниже пути вращения магнита, его цель - отслеживать прохождение магнита с различными скоростями вращения и скоростью сбора данных.

---------------------------------------------------------------------------------------------------------

Подэтапы:

  1. Получите материалы:

    Arduino (+ макетная плата), провода, колесо энкодера, магнит, датчик холла, серводвигатель, приложение Matlab, приложение Arduino

  2. Вырежьте колесо энкодера, установите на сервопривод, вставьте магнит в паз.
  3. Подсоедините датчик Холла под трактом магнита (могут потребоваться удлинители проводов датчика).
  4. Построить схему.

Шаг 2: Код Arduino

Код Arduino
Код Arduino

Метод сбора данных

Код Arduino использует [Строка 41] для сбора информации через порт A0 «Аналоговый вход» с датчика Холла

Способ последовательной передачи данных

  • [Строка 43] Отображает в последовательном мониторе переменную 'timer', которая реализует функцию 'millis ()', чтобы поддерживать работу таймера в миллисекундах на протяжении всей программы.
  • [Строка 45] Отображает на последовательном мониторе переменную 'hallsensor', которая реализует 'analogRead' для получения информации от датчика Холла во время выполнения программы.

Назначение параметра delay ()

Параметр delay () предназначен для изменения времени отклика при сборе данных, полученных от датчика Холла

---------------------------------------------------------------------------------------------------------

Подэтапы:

Введите код Arduino в приложение Arduino

Шаг 3: Код Matlab (файл HallRT)

Код Matlab (файл HallRT)
Код Matlab (файл HallRT)
Код Matlab (файл HallRT)
Код Matlab (файл HallRT)
Код Matlab (файл HallRT)
Код Matlab (файл HallRT)
Код Matlab (файл HallRT)
Код Matlab (файл HallRT)

-Метод получения данных - [Рисунок 3: Строка 77]

Получение данных от ArduinoStep

---------------------------------------------------------------------------------------------------------

Подэтапы:

Входной код Matlab находится над цифрами, сохраните в файле HallRT

Шаг 4: Код Matlab (thresh_analyze)

Код Matlab (thresh_analyze)
Код Matlab (thresh_analyze)
Код Matlab (thresh_analyze)
Код Matlab (thresh_analyze)

Метод подсчета пиков [Рисунок 2: Строки 45-53]

  • Использование флага в этом коде Matlab таково, что, как только цикл for наткнется на 'aRval', который больше, чем предварительно установленное значение 'thresh', счетчик увеличится на единицу, пик будет отмечен звездочками, и оператор if [Строка 45-50] будет прерван, потому что flag = 1. Второй оператор if с флагом [Строка 51-53] указывает, что как только пик будет достигнут и значения начнут снижаться около пика, тогда флаг = 0, и цикл for продолжает поиск новых пиков.
  • Параметры / необходимые значения:

    • 'aRval': данные, собранные в ходе пробного запуска.
    • 'thresh': выбранное значение, чтобы указать что-либо выше него в aRval в качестве пика.

---------------------------------------------------------------------------------------------------------

Подэтапы:

Создайте второй файл Matlab "thresh_analyze"

Шаг 5. Испытание 1: без псевдонимов

Испытание 1: без наложения
Испытание 1: без наложения
Испытание 1: без наложения
Испытание 1: без наложения

Рисунок 1: Проба данных при задержке 200 Рисунок 2: Анализируемые данные по порогу

-Параметр задержки: 200

Пики:

Счетчик = 45

-Количество оборотов в минуту:

45 оборотов в минуту

---------------------------------------------------------------------------------------------------------

Подэтапы:

  1. Подключите Arduino к ноутбуку.

    Установите задержку в коде Arduino на «200». Нажмите Загрузить (в верхнем левом углу приложения)

  2. Перейдите в ваш файл Matlab HallRT [строка 37] и измените значение переменной delayTime на 200.
  3. Запустите программу HallRT.
  4. Сохраните файл Matlab в папке "delay_200". (Сохранить рисунок)
  5. Загрузите файл delay_200.mat.
  6. Запустите программу thresh_analyze. (Сохранить рисунок)

Шаг 6: Испытание 2: наложение сенсора (i)

Испытание 2: наложение сенсора (i)
Испытание 2: наложение сенсора (i)
Испытание 2: наложение сенсора (i)
Испытание 2: наложение сенсора (i)

Рисунок 1: Испытание данных при задержке 50

Рисунок 2: Анализируемые данные по порогу

Параметр задержки: 50 пиков:

Количество = 52

Количество оборотов в минуту:

52 об / мин

---------------------------------------------------------------------------------------------------------

Подэтапы:

  1. Подключите Arduino к ноутбуку.

    Установите задержку в коде Arduino на «50». Нажмите Загрузить (в верхнем левом углу приложения)

  2. Перейдите в ваш файл Matlab HallRT [строка 37] и измените значение переменной delayTime на 50.
  3. Запустите программу HallRT.
  4. Сохраните файл Matlab под "delay_50". (Сохранить рисунок)
  5. Загрузите файл delay_50.mat.
  6. Запустите программу thresh_analyze. (Сохранить рисунок)

Шаг 7: Испытание 3: наложение сенсора (ii)

Испытание 3: наложение сенсора (ii)
Испытание 3: наложение сенсора (ii)
Испытание 3: наложение сенсора (ii)
Испытание 3: наложение сенсора (ii)

Рисунок 1: Проба данных при задержке 100 Рисунок 2: Анализируемые данные по порогу

Параметр задержки: 100 пиков:

Количество = 54

Количество оборотов в минуту:

54 оборота в минуту

------------------------------------------------ -------------------------------------------------- ------- Подэтапы:

  1. Подключите Arduino к ноутбуку.

    Установите задержку в коде Arduino на «100». Нажмите «Загрузить» (в верхнем левом углу приложения) »

  2. Перейдите в свой файл Matlab HallRT [строка 37] и измените значение переменной delayTime на 100.
  3. Запустите программу HallRT.
  4. Сохраните файл Matlab в папке "delay_100". (Сохранить рисунок)
  5. Загрузите файл delay_100.mat.
  6. Запустите программу thresh_analyze. (Сохранить рисунок)

Шаг 8: Испытание 4: наложение сенсора (iii)

Испытание 4: наложение сенсора (iii)
Испытание 4: наложение сенсора (iii)
Испытание 4: наложение сенсора (iii)
Испытание 4: наложение сенсора (iii)

Рисунок 1: Проба данных при задержке 300 Рисунок 2: Анализируемые данные по порогу

-Параметр задержки: 300

Пики:

Счетчик = 32

Количество оборотов в минуту:

32 оборота в минуту

-------------------------------------------------- -------------------------------------------------- ------- Подэтапы:

  1. Подключите Arduino к ноутбуку.

    Установите задержку в коде Arduino на «300». Нажмите Загрузить (в верхнем левом углу приложения)

  2. Перейдите в ваш файл Matlab HallRT [строка 37] и измените значение переменной delayTime на 300.
  3. Запустите программу HallRT.
  4. Сохраните файл Matlab в папке "delay_300". (Сохранить рисунок)
  5. Загрузите файл delay_300.mat.
  6. Запустите программу thresh_analyze. (Сохранить рисунок)

Рекомендуемые: