Re: частотный демодулятор - частота 2350 герц
Добавлено: Вс июн 14, 2015 12:57:25
Да вы жжете
Можно, конечно, и готовое юзать, но было бы все так просто - не существовало бы этой темы.
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
Знаете, у нас препод ЦОС на уроке давал материал именно заумно, когда же к нему подходили объяснить непонятные места, то он очень понятно всё объяснял - "на пальцах" и причём очень быстро.Morroc писал(а):Сомневаюсь, что можно создать эффективные библиотеки ЦОС без знания всей той математики, да и не так уж она сложна в статьях, ссылки на которые проскакивали в этой теме. Или в предыдущем посте постебались ? Шо то я запутался
надо сначала разобраться, как простая синусоида выглядит с точки зрения кодаMorroc писал(а): Я вообще не вижу проблемы в переформулированной на DTMF/CTCSS задаче
так всю программу от школы до быдловузов создает ран, а не министерство образованияbad2cat писал(а):А требование деканата и программы министерства - "гнать муть" (т.е. с использованием псевдо-научности).
ну вот, хоть кто-то с быдловузной коркой, а то ведь я птушник и как бы не авторитет раз не осилил быдловузbad2cat писал(а):Вот я выучился, сейчас чуть кандидатскую не защитил. Имею в разработках военную технику, стоящую на вооружении в ВВС.
kalobyte писал(а): кстати дтмф оказалась плохим вариантом
подожди, я не настолько крут в квадратурных сигналахКРАМ писал(а):Квадратурный сигнал создать - два пальца обоссать.
авр уже не нуженКРАМ писал(а):Вообще то АВР тут не прокатит.
Делал БИХ 4-го порядка на ARM с частотой 16 МГц. Три канала с частотой дискретизации 6 кГц тянуло. Четыре уже нет. Правда я писал на си без оптимизации (но с целочисленной арифметикой) и без всяких DMA (читал АЦП в прерывании).anatol378 писал(а):Разве молодых так учат - мордой об стол. Подсказал бы заодно во что выльется (по применяемому процессору) чисто программная реализация.
Угу, оно немного не для того. А вот CTCSS (НЧ субтон) как раз для определения наличия в канале "своего" абонента, эти частоты обычно отфильтровывают при приеме/передаче и если специально не пытаться обмануть декодер (т.е. использовать штатный передатчик с микрофоном) - работает довольно надежно. В общем то это близко к первоначальной идее, только там оно передавалось, видимо, отдельным сигналом перед голосовой передачей, а тон CTCSS передается всегда. Для надежности можно вкорячить 2 тона сразу, но, возможно, придется какие то фильтры добавить чтобы на выходе их не было слышно.kalobyte писал(а): кстати дтмф оказалась плохим вариантом
я на декодер дтмф натравил музыку и пошли ложные срабатывания
защититься можно только если отлавливать последовательность конкретную
Очень сильно зависит от порядка фильтра с БИХ. Для высоких порядков нужна высокая разрядность вычислений, либо переход на флоат. И то и другое резко уменьшают производительность при превышении штатной разрядности контроллера.B@R5uk писал(а):Три канала с частотой дискретизации 6 кГц тянуло. Четыре уже нет.
была вещательная укв станция, там в звуковом канале передается сигнал похожий на ментовский свистокMorroc писал(а):Да что то задача как то расплылась уже, надо бы условия обновить, а то была рация с ЧМ на 2350 +авр, а теперь уже и не ЧМ и не рация и не авр - нифигаж себе
осталось это переварить и написатьКРАМ писал(а):Изменение фазы во времени и есть модулирующий сигнал 123 Гц.
1) Я же написал, что фильтр 4-го порядка. Это 8 операций произведения 32 на 32 с 32-битным результатом.КРАМ писал(а):1) Очень сильно зависит от порядка фильтра с БИХ...
2) Для высоких порядков нужна высокая разрядность вычислений....
3) Поэтому есть смысл делать КИХ...
Когда знаковые 16*16+40->40 с предвыборками выполняются за один такт и к тому же имеют два независимых аккумулятора (очень удобно для оконной функции в скользящем массиве), в сочетании с командой цикла дает такую упаковку КИХ, что сопоставимый по порядку БИХ выполняется так же или медленней, а расход памяти порой не так уж важен. Все зависит от ее наличия в конкретном МК.B@R5uk писал(а):для АРМов это особенно актуально, так как у них произведение 32х32->32 выполняется за 1 такт.
Ассемблерный код в студию!КРАМ писал(а):Когда знаковые 16*16+40->40 с предвыборками выполняются за один такт и к тому же имеют два независимых аккумулятора... в сочетании с командой цикла дает такую упаковку КИХ, что сопоставимый по порядку БИХ выполняется так же или медленней
Можно было нули фильтра поместить как раз на эти 50 и 100 Гц (будет -∞ дБ подавление), а ещё один или два нуля и все полюса разместить так, чтобы в полосе 3 Гц была максимально линейная АЧХ. Естественно, надо подбирать коэффициенты стразу с учётом округления. Хотя синтез БИХ-фильра — то ещё творческое занятие. Думаю, соотношение 3 Гц / 150 Гц = 0,02 не слишком мало, чтобы использовать 64 бита целочисленной арифметики. У меня было 240/12000 = 0,02, то есть так же, и всё влезло.КРАМ писал(а):Как то потребовался БИХ ФНЧ со срезом в 3 Гц и нормированным (-60 дБ) подавлением 50 и 100 Гц при частоте дискретизации 300 Гц. Коэффициенты потребовали флоатов или 64 разрядного целочисленного представления...