Цифровые сигнальные процессоры Вопросы, связанные с применением цифровых сигнальных процессоров: программирование, отладочные средства, алгоритмы... |
04.03.2020, 18:27
|
|
Прописка
Регистрация: 22.08.2006
Сообщений: 168
Сказал спасибо: 8
Сказали Спасибо 16 раз(а) в 11 сообщении(ях)
|
Детектирование частоты
Добрый день. Может быть кто сталкивался - имеется длинная линия по которой передаются данные.С целью защиты от помех данные передают модулированные частотой 10 кГц по методу ООК. Каждый бит представляет собой маркер несущей частоты в 10 кГц и паузу между маркерами. С помощью паузы определяется преамбула (стартовый бит- 20 мс), и биты данных 1 (10мс) и 0 (5мс)... Сейчас частота детектируется с помощью аналогового тонального детектора LM567 с выхода которого временные импульсы идут на вход МК, измеряются и дешифруются. За счет очень узкой полосы детектирования (5%) этой микросхемы довольно получается довольно хорошая защита от помех и наводок. Сейчас очень нужно избавится от этого анахронизма и детектировать сразу с помощью микроконтроллера. Преобразование Фурье не работает, поскольку с одной стороны количество импульсов в маркере несущей небольшое, и форма сигнала может быть очень сильно искажена ( от псевдо-синусоиды, до меандра), к тому-же имеется фон от помех и наводок. Подскажите в какую сторону посмотреть, чтобы решить данную проблему. Пока склоняюсь к методу измерения периода "маркера из несущей" с помощью таймера микроконтроллера и отсеивания наведенных помех за счет несоответствия их периода эталонному промежутку... Микроконтроллер - дешевый PIC с частотой 8 мГц.
|
|
|
|
04.03.2020, 19:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,052
Сказал спасибо: 2,778
Сказали Спасибо 2,726 раз(а) в 2,015 сообщении(ях)
|
Re: Детектирование частоты
Сообщение от an-sver
|
Преобразование Фурье не работает, поскольку с одной стороны количество импульсов в маркере несущей небольшое
|
100 импульсов при лог единице и 50 при лог нуле - это небольшое?
Для преобразования Фурье кмк важно не кол-во импульсов, а кол-во отсчетов. Которое Вы можете сделать как угодно большим.
Вы хотите заменить аналоговый потенциал старой микросхемы его цифровым подобием в виде
Сообщение от an-sver
|
Микроконтроллер - дешевый PIC с частотой 8 мГц.
|
Если бы не наличие помех (которые, кажется, побуждают Вас рассматривать преобразование Фурье для решения задачи) - то, возможно, этого проца и хватило бы. Но для полноценной оцифровки сигнала и обработки полученного потока - навскидку проц слабоват будет. Все сказанное - ИМХО.
|
|
|
|
04.03.2020, 20:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,361
Сказал спасибо: 85
Сказали Спасибо 619 раз(а) в 374 сообщении(ях)
|
Re: Детектирование частоты
Сообщение от an-sver
|
Подскажите в какую сторону посмотреть, чтобы решить данную проблему.
|
Если до этого прекрасно работал тональный детектор (который, как предполагаю, является фильтром), то и нужно использовать цифровой фильтр. Не?
|
|
|
|
04.03.2020, 20:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,052
Сказал спасибо: 2,778
Сказали Спасибо 2,726 раз(а) в 2,015 сообщении(ях)
|
Re: Детектирование частоты
Сообщение от pambaru
|
то и нужно использовать цифровой фильтр. Не?
|
Вот и я того же мнения.
А раз так - то надо бы добавить перед АЦП еще и аналоговый ФНЧ с частотой и крутизной среза в зависимости от частоты дискретизации.
Т.е. не факт, что простой RC цепочки будет достаточно - возможно, потребуется применить что-то более навороченное на ОУ или на спец. микросхеме.
|
|
|
|
04.03.2020, 21:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.05.2010
Сообщений: 1,118
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
|
Re: Детектирование частоты
...почему не поставить просто АГ1 ?
|
|
|
|
04.03.2020, 22:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.03.2008
Сообщений: 8,068
Сказал спасибо: 903
Сказали Спасибо 1,164 раз(а) в 935 сообщении(ях)
|
Re: Детектирование частоты
Сообщение от Yuri222
|
возможно, потребуется применить что-то более навороченное на ОУ или на спец. микросхеме.
|
Мне нравится фильтр из Радио 88 №2 - 1 корпус ОУ, 2 конденсатора, добротность до 20.
|
|
|
|
05.03.2020, 10:11
|
|
Прописка
Регистрация: 22.08.2006
Сообщений: 168
Сказал спасибо: 8
Сказали Спасибо 16 раз(а) в 11 сообщении(ях)
|
Re: Детектирование частоты
Сообщение от Yuri222
|
100 импульсов при лог единице и 50 при лог нуле - это небольшое?
Для преобразования Фурье кмк важно не кол-во импульсов, а кол-во отсчетов. Которое Вы можете сделать как угодно большим.
.
|
К сожалению, как я уже описал выше -
форма сигнала далека от идеальной и может значительно меняться в зависимости от условий - то синусоида, то меандр.... Неизменна только частота. Поэтому через таблицу синусов (по принципу в АОН) не срабатывает... Микросхема тонального декодера это генератор той-же несущей частоты с автоматической подстройкой по фазе и частоте. Если частота совпадает с входной (вне зависимости от формы сигнала и наличия помех) - то он выдает на выход 1... Работает очень хорошо, но постоянно плавает частота из-за ТКЕ и разброса элементов... Если-бы удалось реализовать на цифре такой- принцип... А как подступиться к этому ????
На ум пока приходит только запускать таймер по каждому началу периода и измерять таймером длительность. При попадании в нужные рамки - считать импульсы... Как только несколько подряд не в рамках или превысит значение - считать окончанием маркера... Главное здесь поймать не столько точную длительность маркера самой несущей, сколько момент ее окончания и вычислить паузу до следующего маркера...
|
|
|
|
05.03.2020, 10:15
|
|
Прописка
Регистрация: 22.08.2006
Сообщений: 168
Сказал спасибо: 8
Сказали Спасибо 16 раз(а) в 11 сообщении(ях)
|
Re: Детектирование частоты
Сообщение от Yuri222
|
Вот и я того же мнения.
А раз так - то надо бы добавить перед АЦП еще и аналоговый ФНЧ с частотой и крутизной среза в зависимости от частоты дискретизации.
Т.е. не факт, что простой RC цепочки будет достаточно - возможно, потребуется применить что-то более навороченное на ОУ или на спец. микросхеме.
|
Фильтр (полосовой, Баттерворта 2-го порядка) уже стоит по входу... Но есть проблема с разбросом номиналов и ТКС, из-за которого добротность страдает, что выражается в том числе в искажении формы сигнала...
|
|
|
|
05.03.2020, 10:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,038
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: Детектирование частоты
Сообщение от an-sver
|
Подскажите в какую сторону посмотреть, чтобы решить данную проблему.
|
Сделайте програмный импульсный синхронный детектор - поскольку фаза входного сигнала неизвестна, мы умножаем его на два квадратурных сигнала (sin и cos) а затем по формуле sqrt(x**2 + y**2) находим пиковые значения сигнала.
sin и cos в вашем случае это оцифровка входного сигнала с частотой 40 кГц, где четные отсчеты это sin и нечетные - cos.
Математику можно упростить - например корень не извлекать.
Полученные пиковые значения суммируются между собой, и если сумма больше некоторого порогового значения, считаем что преамбола передана, и дальне анализируется длительность паузы.
|
|
|
|
05.03.2020, 11:41
|
|
Заблокирован
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,460
Сказал спасибо: 286
Сказали Спасибо 1,125 раз(а) в 540 сообщении(ях)
|
Re: Детектирование частоты
Можно поставить еще более дешевый ПИК на 32MHz
|
|
|
Сказали "Спасибо" OakRidge
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:19.
|
|