Перейти к содержанию

    

2expres

Участник
  • Публикаций

    90
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о 2expres

  • Звание
    Частый гость
  • День рождения 19.06.1983

Информация

  • Город
    Днепропетровск

Посетители профиля

5 013 просмотра профиля
  1. А какая необходимость применять для этой цели компьютерное зрение? Компьютерное зрение применяется в том случае когда ее нельзя решить другими способами. То что Вы описали уже давно решено например в старых матричных принтерах и механических мышках. Эти старые подходы будут работать значительно более надежнее, чем компьютерное зрение и дешевле. Но я могу решить данную проблему и с помощью компьютерного зрения, если есть лишних несколько килобаксов:)
  2. Частное предприятие "Экспресс связь" г. Днепропетровск (Украина) ищет заказчиков на разработку электроники. Мы специализируемся на следующих направлениях: системы связи, системы телеметрического контроля и регулирования, переговорные устройства, управление для робототехники и станков ЧПУ, автоматизированные торговые аппараты. Услуги предлагаемые нашим заказчикам: 1. Разработка технического задания 2. Макетирование и разработка блок схем 3. Разработка электрической схемы 4. Разработка печатной платы и документации для завода изготовителя печатных плат 5. Сборка и пайка печатных плат 6. Настройка печатных плат 7. Подбор стандартных или изготовление корпусов для изделия 8. Написание программного обеспечения для микроконтроллеров (Microchip 10,12,16,18), одноплатных компьютеров (Raspberry PI, Orange PI и прочих), программы управления устройствами с ПК (Windows, Linux) Имеем следующее оборудование: 1. Печь оплавления припоя SMD 2. Фрезерный станок ЧПУ 3. Оборудование для настройки аппаратуры (генераторы, осциллографы и прочие измерительные приборы) 4. Оборудование вакуумной формовки 5. Гальваническая ванна и оборудование для гальваники и гальванопластики Примеры разработанных и выпускаемых нами устройств: 1. Система телеметрического контроля и регулирования параметров по GSM, RS-485 или ETHERNET. Проводит измерения следующих параметров: напряжение от 0 до 100 В; потенциал 2 канала от -10 до +10В; падение тока через шунт 75мВ, усиливаем прецизионными усилителями и измеряем; расход электроэнергии с аналоговых счетчиков с импульсным выходом; температура; питающее напряжение. Регулирование параметров 3 электронных ключа; потенциал от 0 до 4 В; задание параметров по MODBUS RTU (ST485): 2. Устройство записи телефонных разговоров на 4 линии, запись ведется на SD-карту: Односторонние печатные платы - развести гораздо сложнее, чем многослойную!!! 3. Пульт селекторной связи: 4. Система управления светодиодными лентами на 16 каналов. Максимальный ток на 1 канал до 2 А. Сценарий работы предварительно заносится в память микроконтроллера. Отработка сценария начинается или по нажатой кнопку или через команду передаваемую по радиомодему. В качестве радиоприемника используется mrf49xa (не напаяна). Более немного еще есть информации на нашем сайте. Связаться с нами можно по телефонам: +380664007515, +380932030504, +380960042560, по почте 2expres@i.ua или в личку.
  3. Всем спасибо, что помогли разобраться в теме. Мне предложили делать сравнение сигналов с эталонами не методом перебора, а с помощью дескрипторов Фурье. Дескрипторы сигналов я вычисляю быстро применяя табличные коэффициенты. Дескрипторы эталонов вычисляю заранее. Сколько необходимо дескрипторов и как их сравнивать на подобие?
  4. Нахожу сдвиг фазы сигнала и сдвиг фазы эталона по основной гармонике. Если в сигнале есть симметрия(даже как на приведенном графике), то сдвиг может отличаться на pi или pi/2. Метод понравился - быстрый, но придется делать 4 сравнения вместо одного. Но нет в нем подводных камней, с другими типами сигналов?
  5. Цитата(blackfin @ Feb 8 2018, 14:50) Даже если и так, никто не мешает сделать сначала грубый поиск по 16-ти точкам отстоящим друг от друга на 8 выборок, а потом уточнить сдвиг между сигналами вычисляя корреляцию уже для всех 128-ми точек и для сдвигов на максимум 8 точек влево и вправо относительно найденной грубой оценки искомой точки. Все, конечно, зависит от уровня шума и спектров обоих сигналов. Это хорошее предложение, но проблема в том что в сигнале может быть шум и по такому методу можно пропустить нужный сигнал.
  6. Цитата(blackfin @ Feb 8 2018, 11:52) Во-первых, можно взять лишь один период эталонного сигнала и искать совпадение с этим укороченным эталоном и на укороченном интервале. Это, ессно, в том случае, если на интервале в 128 точек укладывается несколько периодов эталонного сигнала.. /См. рис./ Вы наверное не поняли задачу. Все получаемые сигналы и все эталоны имеют один и тот же период 128 выборок. Если сигнал и эталон совпадают, они могут отличаются только сдвигом на n количество выборок (0-127).
  7. Цитата(novikovfb @ Feb 8 2018, 07:35) Правильно ли я понял, что предлагаете посчитать корреляцию эталона (один раз) и фактического сигнала с синусом и косинусом основной гармоники и по ним считать разность фаз? Если у меня период равен 128 выборкам, то период основной гармоники тоже равен 128? Предложение понравилось, это ускорит вычисления, только будет ли это работать?
  8. Добрый день! Есть 128 выборок сигнала и эталона. 128 выборок является периодом. Необходимо вычислить сдвиг по фазе 2 сигналов. Как это сделать без перебора? [attachment=111037:_______.PNG] На графике пример 2 сигналов с 36 выборками. Если 36 выборок я могу обработать методом перебора (сдвиг на 1 и сравнение сигналов), то 128 занимает в 10 раз больше времени.
  9. Большое спасибо всем за оперативные ответы! Далее буду самостоятельно разбираться.
  10. Цитата(Alex11 @ Dec 19 2017, 18:33) А частота оцифровки строго кратна периоду сигнала? Если нет - как тогда строго повторить без разрыва, если только не снимать сигнал с АЦП дальше? И с какой скоростью реакции нужно опознать сигнал, как часто он изменяется? Частота оцифровки строго кратна периоду сигнала. Сигнал поступает до тех пор пока не распознается. Распознать хотелось бы максимально быстро.
  11. Цитата(Alex11 @ Dec 19 2017, 17:17) Очень я сомневаюсь, что Фурье в этом случае будет хорош. Проблема в том, что есть всего один период. Если не накладывать окно, то спектр будет размазан за счет разрывов на краях. Если наложить окно - останется очень мало эффективных точек. Мне кажется, что корреляция будет лучше, но проведенная на двойной длинне эталона. Да у меня есть полная запись сигнала за 1 период. Затем он повторяется без разрывов. Я могу повторить нужное количество периодов. Это мне что то даст?
  12. Цитата(el.d @ Dec 19 2017, 13:40) Например, пик корреляционной функции сравнивать с неким порогом. Или сравнивать отклики корреляторов между собой и выбирать наибольший. Как выбрать порог - зависит от задачи. Вообще, то, что вам надо - это самая обычная задача различения сигналов. В любом учебнике по статистической радиотехнике написано, как это делать оптимально в том или ином смысле. Хотелось бы конкретную привязку. На вход БПФ я подаю сигнал, который представляет 128 выборок. Если бы я делал в аналоговом виде, то мне нужно было бы поставить 128 фильтров, каждый из которых пропускает только свою частоту (настроены на разные частоты). На выходе каждого фильтра я получаю синусоиду одной данной частоты. Поэтому мне надо поставить после каждого фильтра выпрямитель и мерить амплитуду после каждого фильтра. В цифровом виде в качестве выпрямителя и будет вычисление амплитуды. ЦитатаВычисляем БПФ[s(t)] и БПФ[Ai(t)]. Вычисляем x = БПФ[s(t)]*БПФ[Ai(t)]. В конце вычисляем ОБПФ[x]. Зачем делать обратное преобразование Фурье (ОБПФ) и что с чем сравнивать я так и не понял? По поводу БПФ, я его рассматриваю, как запасной вариант. Прежде всего я хотел бы понять, можно ли делать сравнение по свертке входного сигнала с эталоном. Особенно, когда входной сигнал сдвинут по фазу относительно эталона. Т.к. это более простой быстрый метод.
  13. Цитата(el.d @ Dec 19 2017, 13:24) Потому что корреляционная функция (результат свёртки принятого сигнала с эталоном) - это функция от времени. После применения БПФ к принятому сигналу или к эталону получается функция от частоты. Не надо никакие амплитуды считать. Тем более, что амплитуда у принятого сигнала очень вряд ли будет для всех наблюдений постоянной. Или в вашей системе если у принятого сигнала амплитуда меньше чем у эталона, но временная диаграмма один в один - то это уже не совпадение? Вам тут уже правильно подсказали почитать про согласованный фильтр. Вы правильно написали, что амплитуды будут разные. Но амплитуды можно нормировать. Амплитуда, как раз и отвечает за отклик на ту или иную частоту и сравнивать я могу только амплитуды (как иначе, что с чем я должен сравнивать. Только мне нужно не теоретически, а что с чем я должен сравнить?). После БПФ мы можем построить амплитудно-частотную характеристику, которую можно сравнить с эталоном.
  14. Цитата(el.d @ Dec 19 2017, 12:37) Ну вы писали, что у вас сигнал из 128 отсчетов. Следовательно, БПФ тоже должен быть на 128 точек - получается, для сравнения сигнала с одним из эталонов надо 2 БПФ, 128 умножений и ОБПФ. Не так, для построения БПФ на 128 частот потребуется применить 127 "бабочек". Каждая бабочка это 4 умножения и 4 суммирования. Следовательно, умножений нужно сделать 127*4=508. Для эталонов БПФ выполнять не нужно, его можно выполнить 1 раз и забить в память. После БПФ нам нужно рассчитать амплитуду сигнала для каждой из 128 частот. Т.е. возвести в квадрат действительную и мнимую часть, сложить и найти корень квадратный. И можно сравнивать с амплитудами эталонов забитыми в память. Зачем мне делать обратное преобразование Фурье?
  15. Цитата(seniorandre @ Dec 18 2017, 19:12) Cуществуют конечно научный способы вычисления корреляции, но можно попробовать по типу разложения по квадратурам. Сдвинуть тестовый сигнал на 90гр. и сделать перемножение сигнала на две квадратуры тестового сигнала, а потом посчитать что то типа модуля. Ну либо если нужен научный метод, то искать алгоритмы вычисления корреляции. Спасибо за подсказку, я не мог понять, где взять мнимую часть сигнала. Действительно сдвинув сигнал на 90 градусов я получаю мнимую часть сигнала. Для одной свертки я должен получить 4 массива: M1, M2, M3, M4, где M1 cos сигнала, M2 sin сигнала, M3 cos эталона, M4 sin эталона. Отдельно суммирую от n=0..127: M1(n)*M3(n) - M2(n)*M4(n) и M1(n)*M4(n)+M3(n)*M2(n). Затем эти суммы возвожу в квадрат и суммирую и извлекаю корень квадратный. Что мне даст эта свертка? Я так понимаю, что если сигналы совпадают я получу максимальное значение амплитуды? Цитата(el.d @ Dec 19 2017, 08:37) Это называется преобразование Гильберта. Только зачем оно здесь? Разве в описанном методе есть какое-то сравнение сигнала с эталоном? Что касается вопроса ТС. Да, можно применить преобразование Фурье. Для сравнения сигналов используют понятие корреляции. Вычисление корреляции двух сигналов = вычисление свёртки этих двух сигналов. БПФ можно использовать для вычисления так называемой быстрой свёртки. В спектральной области свёртка заменяется на простое умножение. То есть, схема примерно такая: есть принятый сигнал s(t) и набор эталонов Ai(t). Вычисляем БПФ[s(t)] и БПФ[Ai(t)]. Вычисляем x = БПФ[s(t)]*БПФ[Ai(t)]. В конце вычисляем ОБПФ[x]. Предположим я вычислил БПФ и получил амплитуды разных частот. На какое количество частот разбить сигнал? Для каждой частоты нужно произвести свертку. Если частот много - это слишком затратно по вычислениям, даже если применить БПФ. Не пройдет ли одна свертка с эталоном сигнала, как я написал выше?