_Pasha 0 Posted August 6, 2014 · Report post FSK-модем на Его можно и в *.wav проверить :) Взять грязюку любую, подмешать нужные -хх дБ и вперед. Не надо начинать строить дом с крыши. А реализацию модема - с выбора CPU. Ага :) только все равно все пути туда и приведут, не по пинкаунту так по цене. Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted August 6, 2014 · Report post В качестве "лекарства от всех болезней", согласен с _Pasha. На сегодня, STM32 - самое популярное семейство. Но внутри семейства, по-первости, тоже глаза разбегутся. :) Рекомендовать CPU общего назначения для "сигнальной" задачи, только потому что ничего другого не знаешь - это как-то странно... Quote Ответить с цитированием Share this post Link to post Share on other sites
_Pasha 0 Posted August 6, 2014 · Report post Рекомендовать CPU общего назначения для "сигнальной" задачи, только потому что ничего другого не знаешь - это как-то странно... Это не есть "сигнальная" задача, это именно general purpose. С учетом оговоренных скоростей по данным. Quote Ответить с цитированием Share this post Link to post Share on other sites
Tahoe 0 Posted August 6, 2014 · Report post скорей всего какой-нить DSP Для борьбы с танками в чистом поле, конечно, артиллерия больше подходит. Но что бы подбить один конкретный танк в городских условиях, достаточно фаустпатронен. А с учетом мобильности, неприхотливости в обслуживании и некоторых других фактороов, в чем-то фаустпатронен даже выигрывает. Это я про FSK-модем, пушку и воробьев. Тем более, что примерную оценку ( не важно как и какими средствами ) они уже сделали. ;) Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted August 6, 2014 · Report post Это не есть "сигнальная" задача, это именно general purpose. С учетом оговоренных скоростей по данным. Вы считаете что для 1200бод достаточно x51 или AVR? Даже Cortex (без плавучки) может потянуть только при простом алгоритме (большом SNR). Достаточно прикинуть: 1200бод при например 10 сэмплах на бит это 12 kS/sec. Дальше примерно прикинем сколько нужно операций на каждый сэмпл: входной полосовой фильтр, эквалайзер (выравнивание АЧХ), квадратурный демодулятор, фильтры квадратур, битовый синхронизатор (или как там его, для выделения границ бит) и т.п. И того - натекает на неск. сотен операций на сэмпл. А может и тысяч. Умножим на 12kS/sec. Я когда-то давно уже писал модем (в звуковом спектре). Так для pi/4 QPSK 9600бод (96kS/sec) на TMS320VC5502 на 200МГц на почти чисто ассемблерном коде загрузка CPU составляла более 30%. Более-менее помня ассемблер 55-го ядра, думаю что у Cortex-M3 на такой-же частоте загрузка на этой задаче была-бы более 100% (т.е. - его-бы не хватило). На обычном целочисленном КИХ-фильтре M3 проигрывает 55-у ядру как минимум раз в 8. Конечно с M4F всё гораздо лучше. Там уже можно думать. Благодаря использованию БИХ-фильтров. Вобще - вначале нужна модель. PS: Да, кстати, 1200бит/сек полезных данных при требовании коррекции ошибок (потребуется избыточность), ещё более увеличат требуемую бодовую скорость. Quote Ответить с цитированием Share this post Link to post Share on other sites
_Pasha 0 Posted August 6, 2014 · Report post Так для pi/4 QPSK 9600бод (96kS/sec) QPSK - это сюда сильно круто, мсм Вобще - вначале нужна модель. :beer: Совершенно сапоги! Quote Ответить с цитированием Share this post Link to post Share on other sites
Tahoe 0 Posted August 6, 2014 · Report post Вобще - вначале нужна модель. С эти никто не спорит. К тому же, об этом было упомянуто на предыдущей странице. Но и разводить тут страшилки про DSP тоже не надо. Худо-бедно/ раком-боком, будет работать в таких условиях даже это: FSK Modulation and Demodulation With the MSP430 Microcontroller MSP430 Embedded Soft-Modem Demo И никаких супер-ресурсов там не требуется. Насколько хорошо будет работать в данной среде распространения - об этом выше ТС и намекалось, когда он спрашивал про реализацию на 51-й машинке. Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted August 6, 2014 · Report post QPSK - это сюда сильно круто, мсм Тут всё зависит от полосы частот, в которую нужно запихнуть сигнал. Конечно если у вас огромная полоса (до ультразвука), то можно и CPFSK. Но скорей всего полоса будет ограничена техническими характеристиками микрофона и динамика телефона. И ограничена для самого худшего варианта (из всех телефонов). А это значит - всего несколько кГц. У нас полоса была что-то вроде 7100Гц, т.е. CPFSK 4800 уже лезло с обрезанием спектра (=>искажениями=>ухудшение SNR). Так что для 9600 пришлось QPSK. ТС кстати совсем ничего не написал насчёт требований по полосе частот. Написал что они провели испытания, но интересно - при этих испытаниях они учитывали реальную полосу частот телефона? Для разных моделей телефонов? А неравномерность АЧХ трактов микрофона и динамика? Что-то сомневаюсь. У меня больше проблем было как раз не с внешними шумами, а с искажениями вызванными неравномерностью АЧХ приёма/передачи и ограниченностью полосы частот. Эти искажения гораздо сильнее снижали чувствительность приёмника. Quote Ответить с цитированием Share this post Link to post Share on other sites
Tahoe 0 Posted August 6, 2014 · Report post ТС кстати совсем ничего не написал насчёт требований по полосе частот. Вообще-то написал. В самом первом сообщении: Звук желательно располагать в "менее слышимом" диапазоне для человеческого уха, но не до фанатизма, т.к. в будущем одним из приёмником/передатчиком будет смартфон, т.е. чтобы условно любой смартфон мог "работать" в этом диапазоне. Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted August 6, 2014 · Report post Но и разводить тут страшилки про DSP тоже не надо. Худо-бедно/ раком-боком, будет работать в таких условиях даже это: Так это Вы разводите страшилки про DSP :) Чего в нём страшного если он лучше подходит для задачи? Те же самые ядра TI 55-й серии имеют вполне демократические цены. И запас по производительности всегда нужен, чтоб потом не оказалось что захотелось чего-то ещё, а уже "не лезет". Но конечно-же сначала - Модель. Quote Ответить с цитированием Share this post Link to post Share on other sites
Serg76 0 Posted August 6, 2014 · Report post Достаточно прикинуть: 1200бод при например 10 сэмплах на бит это 12 kS/sec. Чересчур большое расточительство работать при таком семплинге, достаточно использовать не более 4-х семплов на символ а, зачастую и 2-х достаточно Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted August 6, 2014 · Report post Вообще-то написал. В самом первом сообщении: "Любой смартфон" может принимать/передавать ультразвук??? Вы уверены??? А в технические характеристики этих смартфонов заглядывали? А зачем это нужно производителю делать такой смартфон? Они вроде как для общения человеков делаются, а не для отпугивания грызунов.... Чересчур большое расточительство работать при таком семплинге, достаточно использовать не более 4-х семплов на символ а, зачастую и 2-х достаточно Тогда при малом SNR будут проблемы с выделением битов (битовой синхронизацией). 4 можно использовать только при очень высоком SNR. 2 - вообще не представляю. А у нас по условию задачи ещё и NRZ нельзя было использовать - т.е. возможны были длинные 0 или 1 (до нескольких тысяч) и разница частот модулятора и демодулятора. Quote Ответить с цитированием Share this post Link to post Share on other sites
Tahoe 0 Posted August 6, 2014 · Report post "Любой смартфон" может принимать/передавать ультразвук??? Вы уверены??? Я уверен в том, что значение наречия "желательно" можно посмотреть здесь. Quote Ответить с цитированием Share this post Link to post Share on other sites
Serg76 0 Posted August 6, 2014 · Report post Тогда при малом SNR будут проблемы с выделением битов (битовой синхронизацией). 4 можно использовать только при очень высоком SNR. 2 - вообще не представляю. А у нас по условию задачи ещё и NRZ нельзя было использовать - т.е. возможны были длинные 0 или 1 (до нескольких тысяч) и разница частот модулятора и демодулятора. Отнюдь, существующие схемы синхронизации по тактам и несущей, да и эквалайзеры, прекрасно работают при 2-х отсчетах даже на предельно низких С/Ш, сам в основном и использую такой оверсемплинг как для FSK, так и для PSK и QAM модуляций, энергетические потери при этом десятые доли дБ. Quote Ответить с цитированием Share this post Link to post Share on other sites
_Pasha 0 Posted August 6, 2014 · Report post А у нас по условию задачи ещё и NRZ нельзя было использовать Кто сказал? Можно. Quote Ответить с цитированием Share this post Link to post Share on other sites