частотный демодулятор - частота 2350 герц

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Да вы жжете :)) Можно, конечно, и готовое юзать, но было бы все так просто - не существовало бы этой темы.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 374
Зарегистрирован: Пт июн 12, 2015 09:21:56
Откуда: Челяба-сити

Сообщение bad2cat »

Да неее - я не жгу.
Вот я выучился, сейчас чуть кандидатскую не защитил. Имею в разработках военную технику, стоящую на вооружении в ВВС.
И мнения я того же - ту заумь, которую преподают в наших радиотехнических ВУЗах, да направить бы на изучение и создание новых программных библиотек и ОС. Только наших.
Проблема всех студентов и потом разработчиков - скудоумие.
Отсутствие кругозора и желание получать их.
Отсюда проблемы в разработках.
У нас в России нет своей массовой ОС, своих процов, своих стандартов.
Их практически нет. Они приходят с Запада, потому что тамошние инженеры имеют мышление архитектурное, а не ремесленническое, поделошное. Из-за этого их разработки завоёвывают мир.
А наши могут только грызься между собой. Потому что уровень разработки одинаково низкий. :))
И тут интегралы не помогут.
Я помню в школе задал вопрос учителю физики - "а что значит буква С в интеграле уровнений Максвелла?". На что наша учительница, мудрая еврейка, царствие ей небесное, Майя Хаевская, сказала : "Женя? если ты решишь эту задачу, то тебя будут знать в любой точке Земли, как Теслу, или Эйнштейна."
Помню до сих пор. А сейчас в школе, по моему, их даже не упоминают, чтобы не забивать детишкам голову чепухой.
Я тоже, в некотором роде, радиоинженер...
Реклама
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Сомневаюсь, что можно создать эффективные библиотеки ЦОС без знания всей той математики, да и не так уж она сложна в статьях, ссылки на которые проскакивали в этой теме. Или в предыдущем посте постебались ? Шо то я запутался :))
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 374
Зарегистрирован: Пт июн 12, 2015 09:21:56
Откуда: Челяба-сити

Сообщение bad2cat »

Morroc писал(а):Сомневаюсь, что можно создать эффективные библиотеки ЦОС без знания всей той математики, да и не так уж она сложна в статьях, ссылки на которые проскакивали в этой теме. Или в предыдущем посте постебались ? Шо то я запутался :))
Знаете, у нас препод ЦОС на уроке давал материал именно заумно, когда же к нему подходили объяснить непонятные места, то он очень понятно всё объяснял - "на пальцах" и причём очень быстро.
Ну например какой-нить фильтр, вместо мороки с интегралами, просто и за 5 минут. Он не забывал про интегралы упомянуть, нет. Но объяснял по-человечески. Мы его спрашивали, а чего же он такую муть гонит на паре?
А требование деканата и программы министерства - "гнать муть" (т.е. с использованием псевдо-научности).
В результате потеря 90% времени на обучение. Вместо объяснения по простому и продвижения вперёд по материалу обучения - голимая псевдо-наука, запутывающая студентов. И так по многим предметам.

Человеку надо давать в руки ИНСТРУМЕНТЫ (чтобы он придумывал новое), а не заставлять его каждый раз изобретать эти инструменты заново, как это делают у нас.
Нахера мне знать как изобрели ножницы? Я просто хочу ими резать.
Я тоже, в некотором роде, радиоинженер...
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Чтобы изобрести ножницы лучше, по металлу, для космоса, режущие волнистой линией и т.п. :)) А чтобы просто резать образования не нужно вовсе.
Про псевдонаучность не понял, может у вас было что то псевдо, но в самих манипуляциях теми комплексными числами все вроде научно и без "псевдо".

Инструменты то по теме есть. Есть и бесплатные и платные и в 20 строк кода укладывающиеся, но какое то минимальное усилие надо же приложить чтобы ими воспользоваться. Я вообще не вижу проблемы в переформулированной на DTMF/CTCSS задаче :dont_know: С первоначальной еще как то где то повозиться надо в виду несостоятельности простой авр'ки в качестве DSP.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Реклама
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

Morroc писал(а): Я вообще не вижу проблемы в переформулированной на DTMF/CTCSS задаче
надо сначала разобраться, как простая синусоида выглядит с точки зрения кода
а для этого надо ее сначала создать, что я и нашел
помню еще давно эту статью и решил откопать http://habrahabr.ru/post/126835/
bad2cat писал(а):А требование деканата и программы министерства - "гнать муть" (т.е. с использованием псевдо-научности).
так всю программу от школы до быдловузов создает ран, а не министерство образования
один препод из мирэа говорил, что есть программа обучения и он должен ее придерживаться, хотя там 95% фуфло
ну он и решил на лабах практически показывать, что это фуфло
так его декан уволил, но дед хитрожопый был и выиграл суд
bad2cat писал(а):Вот я выучился, сейчас чуть кандидатскую не защитил. Имею в разработках военную технику, стоящую на вооружении в ВВС.
ну вот, хоть кто-то с быдловузной коркой, а то ведь я птушник и как бы не авторитет раз не осилил быдловуз

я когда книгу по импульсным бп открыл, то там на практике оказалось, что никаких интегралов нет, все считается на уровне школьной математики
книга была от автора-практика с конкретными схемами

кстати дтмф оказалась плохим вариантом
я на декодер дтмф натравил музыку и пошли ложные срабатывания
защититься можно только если отлавливать последовательность конкретную
тематические ответы только в форуме, в приват не пишите
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

может пригодится, имхо близко к теме:
студент диплом пишет, видео работы:
https://www.youtube.com/watch?feature=p ... lwPMvvgeN8
код в этой теме:
http://forum.easyelectronics.ru/viewtop ... 35&t=14741
библиотека бесплатная
Друг Кота
Аватара пользователя
Сообщения: 25399
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

kalobyte писал(а): кстати дтмф оказалась плохим вариантом
:))) :))) :)))
А ты как хотел?
"Я тебе умную вещь скажу, только ты не обижайся..."(с)
Квадратурный сигнал создать - два пальца обоссать.
Всего то требуется, чтобы частота семплирования АЦП была ровно в 4 раза выше частоты несущей у сигнала.
Вообще то АВР тут не прокатит.
Если конечно не искать какой нибудь доморощенный быдлоалгоритм для частного случая, который и приведет в ОБЩЕМ СЛУЧАЕ к быдлоработе...
ЧМ демодулируется ЭЛЕМЕНТАРНО. Для этого необходимо:
1. Семплировать с учетверенной частотой несущей.
2. Перемножить массив преобразования на ДВА гетеродина (0 и 90) с частотой несущей. Гетеродин может быть и меандром, то есть 0 градусов будет повторяющаяся комбинация 1,0,-1,0,1,0,-1,0... А 90 градусов: 0,1,0,-1,0,1,0,-1...
То есть как ты заметил, разница только в ФАЗЕ...
3. Фильтруем оба квадратурных массива одним и тем же ФНЧ (КИХ или БИХ - на вкус и по обстоятельствам разрядности - объема ОЗУ).
4. По стандартной формуле: корень квадратный из суммы квадратов квадратурных сигналов получаем ИСКОМЫЙ ВЫХОДНОЙ СИГНАЛ.
Можно найти ФАЗУ, что будет еще лучше. Для этого нужно найти арктангенс отношения квадратур.
ЗЫ. Забыл напомнить.
По входу АЦП нужен антиалиасинговый ФНЧ со срезом на верхней рабочей частоте и с подавлением на учетверенной частоте несущей соответствующим разрядности АЦП (для 10 разрядов - 60 дБ).
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

КРАМ писал(а):Квадратурный сигнал создать - два пальца обоссать.
подожди, я не настолько крут в квадратурных сигналах
для меня оно больше понятно при наличии 2х физических выходов, а откуда я их возьму в звуковой карте, если сигнал идет как бы 1
пусть и стерео
КРАМ писал(а):Вообще то АВР тут не прокатит.
авр уже не нужен
приходит поток в формате мр3 из студии и в него можно подмешивать некий сигнал на студии и декодировать в техническом помещении обычным приложением под виндовс

пока я выбрал 2х частотное кодирование афск1200 и некую строку для маркеров начала и другую для конца режима
тематические ответы только в форуме, в приват не пишите
Друг Кота
Аватара пользователя
Сообщения: 25399
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

MP3 нужно преобразовать в обычный WAV, чтобы получить поток обычных выборок с частотой дискретизации 44 кГц.
Перемножить этот сигнал на ДВЕ синусоиды с частотой несущей и частотой дискретизации этого WAV, сдвинутые на 90 градусов (то есть на СИНУС и КОСИНУС с нулевой начальной фазой).
От перемножения на косинус получится Re компонента, а на синус - Im компонента квадратурного сигнала.
КАЖДЫЙ из ДВУХ этих сигналов (компонент) фильтруется либо КИХ, либо БИХ ФНЧ.
Одноименные (с одинаковыми индексами) выборки каждого массива образуют КВАДРАТУРНЫЕ ПАРЫ.
Отношение этих пар - это ТАНГЕНС ФАЗЫ несущей.
То есть АРКТАНГЕНС этого отношения - это сама фаза.
Изменение фазы во времени и есть модулирующий сигнал 123 Гц.
ЗЫ. Нужно сделать полосовой КИХ или БИХ по ВХОДНОМУ сигналу (2350 Гц) ровно на полосу девиации. И тоже самое по ВЫХОДНОМУ (123 Гц) с полосой равной обратной величине ВРЕМЕНИ ПЕРЕДАЧИ этого сигнала.
Изображение
Мудрый кот
Аватара пользователя
Сообщения: 1833
Зарегистрирован: Вс окт 04, 2009 13:23:12
Откуда: н. новгород

Сообщение anatol378 »

КРАМ - выеживаешься? :))) Разве молодых так учат - мордой об стол. Подсказал бы заодно во что выльется (по применяемому процессору) чисто программная реализация. Может лучше ПЛМ-ку применить? :)))
Лучше умному тупить, чем тупому умничать
Друг Кота
Аватара пользователя
Сообщения: 25399
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Тут нет ничего сложного.
И ПЛМ тут не нужна.
СТМ32 с ДМА или дсПИК33 С БОЛЬШИМ ЗАПАСОМ справятся с этой задачей.
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Да что то задача как то расплылась уже, надо бы условия обновить, а то была рация с ЧМ на 2350 +авр, а теперь уже и не ЧМ и не рация и не авр - нифигаж себе :)) Можно попробовать прикрутить к этому какой нибудь SDR софт или на радиосканере поискать "iq забава". Вот еще оттуда же преобразователь обычного сигнала в IQ (если пролистать вниз) http://www.radioscanner.ru/forum/topic44541-30.html, насколько корректно работает и что в точности теряет я хз, если частота дискретизации с запасом - пойдет наверное.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Собутыльник Кота
Аватара пользователя
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Сообщение B@R5uk »

anatol378 писал(а):Разве молодых так учат - мордой об стол. Подсказал бы заодно во что выльется (по применяемому процессору) чисто программная реализация.
Делал БИХ 4-го порядка на ARM с частотой 16 МГц. Три канала с частотой дискретизации 6 кГц тянуло. Четыре уже нет. Правда я писал на си без оптимизации (но с целочисленной арифметикой) и без всяких DMA (читал АЦП в прерывании).
Последний раз редактировалось B@R5uk Пн июн 22, 2015 20:19:46, всего редактировалось 1 раз.
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

kalobyte писал(а): кстати дтмф оказалась плохим вариантом
я на декодер дтмф натравил музыку и пошли ложные срабатывания
защититься можно только если отлавливать последовательность конкретную
Угу, оно немного не для того. А вот CTCSS (НЧ субтон) как раз для определения наличия в канале "своего" абонента, эти частоты обычно отфильтровывают при приеме/передаче и если специально не пытаться обмануть декодер (т.е. использовать штатный передатчик с микрофоном) - работает довольно надежно. В общем то это близко к первоначальной идее, только там оно передавалось, видимо, отдельным сигналом перед голосовой передачей, а тон CTCSS передается всегда. Для надежности можно вкорячить 2 тона сразу, но, возможно, придется какие то фильтры добавить чтобы на выходе их не было слышно.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Друг Кота
Аватара пользователя
Сообщения: 25399
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

B@R5uk писал(а):Три канала с частотой дискретизации 6 кГц тянуло. Четыре уже нет.
Очень сильно зависит от порядка фильтра с БИХ. Для высоких порядков нужна высокая разрядность вычислений, либо переход на флоат. И то и другое резко уменьшают производительность при превышении штатной разрядности контроллера.
Поэтому есть смысл делать КИХ. Он жрет ОЗУ, но не слишком жрет производительность, особенно при наличии И ИСПОЛЬЗОВАНИИ MAC-операций контроллера с DSP-ядром. Традиционно компиляторы игнорируют DSP ядро и их следует "совать носом" в MAC-команды.
Использование АРМов с ФПУ избыточно для подобных задач. Они откровенно дороги.
Последний раз редактировалось КРАМ Пн июн 22, 2015 18:06:31, всего редактировалось 2 раза.
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

Morroc писал(а):Да что то задача как то расплылась уже, надо бы условия обновить, а то была рация с ЧМ на 2350 +авр, а теперь уже и не ЧМ и не рация и не авр - нифигаж себе
была вещательная укв станция, там в звуковом канале передается сигнал похожий на ментовский свисток
сигнал для водителей на слух заметен и он же включает режим передачи обстановки на дорогах в стереокодере

детектирует его старая аналоговая железка, которую уже никто не производит
сначала я хотел на авр делать, думал будет просто, но потом заказчик сказал, что лучше сделать софтом и исключить физические части
поэтому решил делать под виндовс, т.к. там все равно стоит виндовс и принимает мр3 поток
КРАМ писал(а):Изменение фазы во времени и есть модулирующий сигнал 123 Гц.
осталось это переварить и написать :shock:
тематические ответы только в форуме, в приват не пишите
Собутыльник Кота
Аватара пользователя
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Сообщение B@R5uk »

КРАМ писал(а):1) Очень сильно зависит от порядка фильтра с БИХ...

2) Для высоких порядков нужна высокая разрядность вычислений....

3) Поэтому есть смысл делать КИХ...
1) Я же написал, что фильтр 4-го порядка. Это 8 операций произведения 32 на 32 с 32-битным результатом.

2) Я в 32 бита уложился. Он даже усекался в после подсчёта суммы до меньшего числа разрядов. Про каскадные и параллельные схемы даже упоминать не буду — сами встретитесь, если займётесь. :beer:

3) Нет смысла. Кроме случаев, когда нужна линейная ФЧХ, БИХ-фильтр категорически выгоднее и по производительности, и по расходу ОЗУ. Во всяком случае для АРМов это особенно актуально, так как у них произведение 32х32->32 выполняется за 1 такт.
Друг Кота
Аватара пользователя
Сообщения: 25399
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

B@R5uk писал(а):для АРМов это особенно актуально, так как у них произведение 32х32->32 выполняется за 1 такт.
Когда знаковые 16*16+40->40 с предвыборками выполняются за один такт и к тому же имеют два независимых аккумулятора (очень удобно для оконной функции в скользящем массиве), в сочетании с командой цикла дает такую упаковку КИХ, что сопоставимый по порядку БИХ выполняется так же или медленней, а расход памяти порой не так уж важен. Все зависит от ее наличия в конкретном МК.
Структура БИХ помимо умножений имеет еще суммы и кучу пересылок, что делает число умножений не вполне показательным для оценки производительности.
Хотя я вполне допускаю, что мои опыты в этой области убоги и доморощены... :)
ОФФ.
Как то потребовался БИХ ФНЧ со срезом в 3 Гц и нормированным (-60 дБ) подавлением 50 и 100 Гц при частоте дискретизации 300 Гц. Коэффициенты потребовали флоатов или 64 разрядного целочисленного представления... Более чем возможно, что я чего то делал не так.... :(
PS Спасибо за напоминание. Входной фильтр ТСу нужно делать КИХ, поскольку входной сигнал - ЧМ.
Собутыльник Кота
Аватара пользователя
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Сообщение B@R5uk »

КРАМ писал(а):Когда знаковые 16*16+40->40 с предвыборками выполняются за один такт и к тому же имеют два независимых аккумулятора... в сочетании с командой цикла дает такую упаковку КИХ, что сопоставимый по порядку БИХ выполняется так же или медленней
Ассемблерный код в студию!
КРАМ писал(а):Как то потребовался БИХ ФНЧ со срезом в 3 Гц и нормированным (-60 дБ) подавлением 50 и 100 Гц при частоте дискретизации 300 Гц. Коэффициенты потребовали флоатов или 64 разрядного целочисленного представления...
Можно было нули фильтра поместить как раз на эти 50 и 100 Гц (будет -∞ дБ подавление), а ещё один или два нуля и все полюса разместить так, чтобы в полосе 3 Гц была максимально линейная АЧХ. Естественно, надо подбирать коэффициенты стразу с учётом округления. Хотя синтез БИХ-фильра — то ещё творческое занятие. Думаю, соотношение 3 Гц / 150 Гц = 0,02 не слишком мало, чтобы использовать 64 бита целочисленной арифметики. У меня было 240/12000 = 0,02, то есть так же, и всё влезло.
Ответить

Вернуться в «AVR»