jcxz 184 28 марта, 2017 Опубликовано 28 марта, 2017 · Жалоба Реализовали подобную задачу на FX604. Дальность при прямой видимости - до 10 км. Но основные проблемы использования - лицензирование частоты. Дальность вообще-то должна зависеть от радиостанции, её вых. мощности и антенн. На асме будет тяжко, но тоже не откажусь. Начнём с корня квадратного. TMS320VC5502, CCS3.3: sqrtTable .macro x .loop x .word $cvi($round(1 / $sqrt(1 << x) * 32768)) .eval x - 1, x .endloop .endm sqrtTable 31 ;1/sqrt(2^31)...1/sqrt(2^1) const7FFFh: sqrtT .word 7FFFh ;1/sqrt(2^0) .arms_off sqrt: MOV #4, BRC1 MOV #sqrtT, AR3 MOV dbl(*AR0+), AC2 ||RPTBLOCAL sqrt_2 MANT AC2, AC0 ::NEXP AC2, T0 ||MOV dbl(*AR0+), AC2 MOV #5E00h << #16, AC1 ||RPTBLOCAL sqrt_1 SQS AC1, AC1 sqrt_1: ADD AC0 << #-1, AC1 XCC AC0 != #0 ||MPYM *AR3(T0), AC1, AC0 sqrt_2: MOV rnd(hi(AC0 << #1)), *AR2+ RET Спасибо. пожалуйста :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aiwa 0 28 марта, 2017 Опубликовано 28 марта, 2017 · Жалоба Дальность вообще-то должна зависеть от радиостанции, её вых. мощности и антенн. Да, и от выходной мощности радиостанции зависит лицензия на вещание. Деталей я не знаю, но это основная проблема у пользователя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михась 2 28 марта, 2017 Опубликовано 28 марта, 2017 · Жалоба Если четырехбитные слова, тем более имеет смысл обойтись DTMF. Синтезировать программно, принимать аппаратным декодером. Дешево, надежно практично. Я делал подобное, односторонняя передача, 7 слов за 280ms(один пакет данных). Преамбула - решетка, фиксированная длина данных, КС из двух слов. 20мс передача, 20мс пауза. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 28 марта, 2017 Опубликовано 28 марта, 2017 · Жалоба Вот на счет "надежно" - плавали, знаем (применительно к DTMF). В реальном эфире - паршиво. Да, с аппаратным декодером (8870, 8880). А все равно паршиво. А вот модем SmarTrunk-2 (топикстартеру я его в качестве примера приводил) - как часы. Через аудиоконтакт, в шумах - а все равно работает. Но, конечно, на бейсике это не написать... Ресурсы - хватало PIC16x84 @ 4 MHz. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михась 2 28 марта, 2017 Опубликовано 28 марта, 2017 · Жалоба Вот на счет "надежно" - плавали, знаем (применительно к DTMF). В реальном эфире - паршиво. Да, с аппаратным декодером (8870, 8880). А все равно паршиво. А вот модем SmarTrunk-2 (топикстартеру я его в качестве примера приводил) - как часы. Через аудиоконтакт, в шумах - а все равно работает. Но, конечно, на бейсике это не написать... Ресурсы - хватало PIC16x84 @ 4 MHz. Что есть куча решений, лучше чем DTMF, никто не сомневается. Но тогда надо плотно лезть в цос и связь, иметь инструменты для верификации решений. А это немалое время и немалые деньги. Тут уже Тсу решать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sigmaN 0 28 марта, 2017 Опубликовано 28 марта, 2017 · Жалоба Я не понимаю этого снобизма. Не о чём говорить - не говорите. Бейсик автору не подходит? Укажите почему и посоветуйте альтернативу. Предлагаю С/С++ ибо в эмбэддэд мире все примеры/библиотеки и даже люди, у которых можно спросить совет, живут на С/С++. Также лично я не верю, что какой-то там бейсик компилятор будет обеспечивать сравнимую с современными С компиляторами оптимизацию. Таким образом человек, который программирует микроконтроллеры на бейсике заранее стиавит себя в очень неудобное положение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RA3MAH 0 28 марта, 2017 Опубликовано 28 марта, 2017 · Жалоба Все же ассемблер я не потяну... Подскажите, пожалуйста, ссылочки по БПФ на си. Более разумно получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sigmaN 0 28 марта, 2017 Опубликовано 28 марта, 2017 · Жалоба это общая библиотека так сказать полнофункциональная и на Си http://sourceforge.net/projects/kissfft Вот на авр дэмка(с другой библиотекой, более подходящей для авр) https://sourceforge.net/projects/avrfftlcd/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexashka 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба Вставлю свои 5 копеек. Конечно ЦОС на DSP это всё здОрово, но для FSK/MSK вполне можно обойтись из без этого. Взять хотя бы тот же CMX469 который выделяет MSK сигнал на фоне шумов без сложных алгоритмов, просто по переходам через ноль, и надо сказать выделяет очень неплохо. А когдато давно были еще АОНы где весь алгоритм обрабатывался на процессоре типа Z80, правда там битовая (или символьная) скорость очень низкая -несколько символов в секунду, но и AVR куда мощнее процессоров 30летней давности. Основа CMX469 и аналогичных, как я понимаю, это цифровой генератор с ФАПЧ, который во время преамбулы настраивается на среднюю частоту между нулем и единицей и далее по сигналу с ФАПЧа (в режиме частотного дискриминатора) определяет что передается - ноль или единица. Если 1 символ кодировать несколькими периодами сигнала (СМХ работает по одному или половинке периода), то выделение будет еще надежнее ИМХО. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба Вставлю свои 5 копеек. Конечно ЦОС на DSP это всё здОрово, но для FSK/MSK вполне можно обойтись из без этого. Взять хотя бы тот же CMX469 который выделяет MSK сигнал на фоне шумов без сложных алгоритмов, просто по переходам через ноль, и надо сказать выделяет очень неплохо. "Просто по переходам через 0" - это на фоне даже сравнительно небольших шумов работать не будет. Хотя всё конечно зависит от.... При отсутствии какого-то намёка на ТЗ или хотя бы требований, гадать невозможно. Какая требуется символьная скорость? При каком минимальном SNR требуется устойчивый приём? Какова полоса частот в которой нужно работать? Какова АЧХ тракта передачи (ЦАП/АЦП+цепь_согласования+р/ст) в этой полосе (её линейность)? Какова требуемая скорость работы алгоритма? И т.п. Без этого всё это - гадание на кофейной гуще. Может и AVR справится. Всё зависит от требований. Может есть куча памяти, в которую можно принять поток сэмплов, и куча времени чтобы этот поток потом неспешно декодировать даже самыми сложными алгоритмами хоть на бейсике. Да и ТС никакую теорию изучать не хочет, хочет чужой говнокод прикостылить.... А значит - ничего путнего сделать не сможет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexashka 0 31 марта, 2017 Опубликовано 31 марта, 2017 · Жалоба "Просто по переходам через 0" - это на фоне даже сравнительно небольших шумов работать не будет. С/Ш=12 дБ и ниже до 8дБ -работает нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RA3MAH 0 31 марта, 2017 Опубликовано 31 марта, 2017 · Жалоба С/Ш=12 дБ и ниже до 8дБ -работает нормально. А не подскажите аналоги микросхемы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexashka 0 1 апреля, 2017 Опубликовано 1 апреля, 2017 · Жалоба Прямых аналогов нет (или я их не встречал), есть как более навороченные, так и узкозаточенные под конкретное применение, с пакетной обработкой и с конкретными протоколами. Например CMX969 с форматами RD-LAP и MDC, CMX909 с mobitex-ом (модуляции FSK и GMSK). Есть CMX7164/7143 -у этих возможностей еще больше, но они и сложнее в использовании. Модемы Мой коллега делал функциональный аналог 469го на транзисторах -в симулякре, в духе импортозамещения, вытягивал сигнал из шумов даже когда сигнал визуально не было видно, были варианты для детектирования не только MSK сигнала по типу CMX469, но и MSK-3 и даже манчестерского кода. Основная проблема сколько помню была не столько выделить полезные биты информации, сколько необходимость осуществлять непрерывную битовую синхронизацию. К сожалению дальше симуляции дело не пошло :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 2 апреля, 2017 Опубликовано 2 апреля, 2017 · Жалоба Основная проблема сколько помню была не столько выделить полезные биты информации, сколько необходимость осуществлять непрерывную битовую синхронизацию. К сожалению дальше симуляции дело не пошло :laughing: Тот модем на DSP, что ссылку я приводил выше - тоже нормально принимал данные даже когда сигнал на глаз был не различим на фоне шумов. Проблема с битовой синхронизацией была там решена (непрерывная и не нужна - нужно в начале кадра засинхронизироваться, а в пределах кадра точка синхронизации не успеет выйти за пределы бита). И он уже больше 10 лет производится и продаётся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexashka 0 2 апреля, 2017 Опубликовано 2 апреля, 2017 · Жалоба Тот модем на DSP, что ссылку я приводил выше - тоже нормально принимал данные даже когда сигнал на глаз был не различим на фоне шумов ...уже больше 10 лет производится и продаётся. Очень хорошо, тогда почему нет этих данных на страничке с тех.характеристиками? Есть только расплывчатые параметры диапазонов скоростей и чувствительность входа интерфейса радиостанции. Но нет самого главного - отношения C/Ш при конкретной битовой ошибке. Может я чего не понимаю, но если я хочу включить сей девайс между приемопередатчиком и системой которая собирается обмениваться по RS232, то чтобы просчитать параметры системы мне нужно знать хотя бы минимальный С/Ш при котором Ваш модем обеспечивает конкретную битовую ошибку (например 10Е-3) при конкретной скорости обмена (например 4800), требуемая ширина полосы канала приемопередачи и её допустимая неравномерность (это если я хочу использовать не какуюто стандартную радиостанцию, а свой собственный приемопередатчик). Вы можете привести такие данные? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться