Jump to content

    
Sign in to follow this  
Iplr

Требуется сделать "модем"

Recommended Posts

FSK-модем на

Его можно и в *.wav проверить :)

Взять грязюку любую, подмешать нужные -хх дБ и вперед.

 

Не надо начинать строить дом с крыши. А реализацию модема - с выбора CPU.

Ага :) только все равно все пути туда и приведут, не по пинкаунту так по цене.

Share this post


Link to post
Share on other sites
В качестве "лекарства от всех болезней", согласен с _Pasha. На сегодня, STM32 - самое популярное семейство. Но внутри семейства, по-первости, тоже глаза разбегутся. :)

Рекомендовать CPU общего назначения для "сигнальной" задачи, только потому что ничего другого не знаешь - это как-то странно...

Share this post


Link to post
Share on other sites
Рекомендовать CPU общего назначения для "сигнальной" задачи, только потому что ничего другого не знаешь - это как-то странно...

Это не есть "сигнальная" задача, это именно general purpose. С учетом оговоренных скоростей по данным.

Share this post


Link to post
Share on other sites
скорей всего какой-нить DSP

Для борьбы с танками в чистом поле, конечно, артиллерия больше подходит. Но что бы подбить один конкретный танк в городских условиях, достаточно фаустпатронен. А с учетом мобильности, неприхотливости в обслуживании и некоторых других фактороов, в чем-то фаустпатронен даже выигрывает. Это я про FSK-модем, пушку и воробьев. Тем более, что примерную оценку ( не важно как и какими средствами ) они уже сделали. ;)

Share this post


Link to post
Share on other sites
Это не есть "сигнальная" задача, это именно 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бит/сек полезных данных при требовании коррекции ошибок (потребуется избыточность), ещё более увеличат требуемую бодовую скорость.

Share this post


Link to post
Share on other sites
Вобще - вначале нужна модель.

С эти никто не спорит. К тому же, об этом было упомянуто на предыдущей странице. Но и разводить тут страшилки про DSP тоже не надо. Худо-бедно/ раком-боком, будет работать в таких условиях даже это:

FSK Modulation and Demodulation With the MSP430 Microcontroller

MSP430 Embedded Soft-Modem Demo

И никаких супер-ресурсов там не требуется. Насколько хорошо будет работать в данной среде распространения - об этом выше ТС и намекалось, когда он спрашивал про реализацию на 51-й машинке.

Share this post


Link to post
Share on other sites
QPSK - это сюда сильно круто, мсм

Тут всё зависит от полосы частот, в которую нужно запихнуть сигнал.

Конечно если у вас огромная полоса (до ультразвука), то можно и CPFSK.

Но скорей всего полоса будет ограничена техническими характеристиками микрофона и динамика телефона.

И ограничена для самого худшего варианта (из всех телефонов). А это значит - всего несколько кГц.

У нас полоса была что-то вроде 7100Гц, т.е. CPFSK 4800 уже лезло с обрезанием спектра (=>искажениями=>ухудшение SNR).

Так что для 9600 пришлось QPSK.

 

ТС кстати совсем ничего не написал насчёт требований по полосе частот.

Написал что они провели испытания, но интересно - при этих испытаниях они учитывали реальную полосу частот телефона?

Для разных моделей телефонов? А неравномерность АЧХ трактов микрофона и динамика?

Что-то сомневаюсь.

У меня больше проблем было как раз не с внешними шумами, а с искажениями вызванными неравномерностью АЧХ приёма/передачи и

ограниченностью полосы частот. Эти искажения гораздо сильнее снижали чувствительность приёмника.

Share this post


Link to post
Share on other sites
ТС кстати совсем ничего не написал насчёт требований по полосе частот.

Вообще-то написал. В самом первом сообщении:

 

Звук желательно располагать в "менее слышимом" диапазоне для человеческого уха, но не до фанатизма, т.к. в будущем одним из приёмником/передатчиком будет смартфон, т.е. чтобы условно любой смартфон мог "работать" в этом диапазоне.

Share this post


Link to post
Share on other sites
Но и разводить тут страшилки про DSP тоже не надо. Худо-бедно/ раком-боком, будет работать в таких условиях даже это:

Так это Вы разводите страшилки про DSP :)

Чего в нём страшного если он лучше подходит для задачи? Те же самые ядра TI 55-й серии имеют вполне демократические цены.

И запас по производительности всегда нужен, чтоб потом не оказалось что захотелось чего-то ещё, а уже "не лезет".

Но конечно-же сначала - Модель.

Share this post


Link to post
Share on other sites
Достаточно прикинуть: 1200бод при например 10 сэмплах на бит это 12 kS/sec.

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

 

а, зачастую и 2-х достаточно

Share this post


Link to post
Share on other sites
Вообще-то написал. В самом первом сообщении:

"Любой смартфон" может принимать/передавать ультразвук??? Вы уверены???

А в технические характеристики этих смартфонов заглядывали?

А зачем это нужно производителю делать такой смартфон? Они вроде как для общения человеков делаются, а не для

отпугивания грызунов....

 

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

а, зачастую и 2-х достаточно

Тогда при малом SNR будут проблемы с выделением битов (битовой синхронизацией).

4 можно использовать только при очень высоком SNR. 2 - вообще не представляю.

А у нас по условию задачи ещё и NRZ нельзя было использовать - т.е. возможны были длинные 0 или 1 (до нескольких тысяч) и разница частот модулятора и демодулятора.

Share this post


Link to post
Share on other sites
"Любой смартфон" может принимать/передавать ультразвук??? Вы уверены???

Я уверен в том, что значение наречия "желательно" можно посмотреть здесь. :biggrin:

Share this post


Link to post
Share on other sites
Тогда при малом SNR будут проблемы с выделением битов (битовой синхронизацией).

4 можно использовать только при очень высоком SNR. 2 - вообще не представляю.

А у нас по условию задачи ещё и NRZ нельзя было использовать - т.е. возможны были длинные 0 или 1 (до нескольких тысяч) и разница частот модулятора и демодулятора.

Отнюдь, существующие схемы синхронизации по тактам и несущей, да и эквалайзеры, прекрасно работают при 2-х отсчетах даже на предельно низких С/Ш, сам в основном и использую такой оверсемплинг как для FSK, так и для PSK и QAM модуляций, энергетические потери при этом десятые доли дБ.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this