Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не знаю с чего начать модем 2400 с перспективой 9600.
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
les12
Я новичок в цос, но взялся сделать рабочий модем 2400 по телефонному каналу(практически V.22bit или V.32),хотя бы на столе. Не подскажите литературу или совет по структуре,модели обработки сигнала. Я понимаю что ставлю аналог фильтр (какой и какого порядка?),ацп?, ФД?, фильтр?,.... просто хочется услышать практические советы, т.к. рядом нет спецов по ЦОС. p.s. Математику, электронику немного понимаю. И у нас кто нибудь делает такие модемы(не на столе, а реально работающие).
des00
начните отсюда RF Architectures and Digital Signal Processing Aspects of Digital Wireless Transceivers - Nezami
les12
Книги это понятно читаю на русском, спасибо (к сожалению пробел в образовании анг. плохо владею для чтения таких книг).Но если нет альтернативы прочту конечно.
Myron
Цитата(les12 @ Sep 19 2014, 07:52) *
Я новичок в цос, но взялся сделать рабочий модем 2400 по телефонному каналу(практически V.22bit или V.32),хотя бы на столе. Не подскажите литературу или совет по структуре,модели обработки сигнала. Я понимаю что ставлю аналог фильтр (какой и какого порядка?),ацп?, ФД?, фильтр?,.... просто хочется услышать практические советы, т.к. рядом нет спецов по ЦОС. p.s. Математику, электронику немного понимаю. И у нас кто нибудь делает такие модемы(не на столе, а реально работающие).

Массовые игры с телефонными модемами были популярны и закончились в прошлом веке. На рынке осталось достаточно модемных монстров, которые легко гуглятся. Например (на русском, но гораздо больше на анг.):
http://www.usr-emea.com/products/p-dialup-...cs&loc=russ
http://www.vocal.com/data-modem/v-32/

Задача должна быть практической, чтобы не было мучительно больно за бесцельно......
oyv
неплохая апликуха от аналог девайса, правда опять же на англицком! Возможно есть перевод, нужно рыть в нете.
les12
Вот что-то. спасибо. Для начала попробую поискать перевод.
Задача связаться с мк. CMX869 на 1200 2400 и 9600, и впоследствии заменить на свой (на отечественных dsp(миландр) и-или плис(воронеж) ). Или найти отечественный совместимый. Или готовые (рабочие) разработки(за оплату конечно).
khach
Гуглить softmodem
http://bellard.org/linmodem.html
Еще у микрочипа была либа под dspic с открытым кодом
les12
Кто знает, у нас в России делались и делаются модемы на 9600 и если да , то где ?
Я не нашел следов пока.
vid435
Модемы делались и делаются, например наши разработки можно посмотреть на rfdsp.ru.
последние лет десять делали только беспроводные, до этого телефонные тоже.
Но сейчас на них нет платежеспособного спроса, да и исходники выложены в сети, правда часто качество декодирование плохое и разбираться в чужом кривом коде сложнее чем самому написать imho.
Года три назад со сходной с вами задачей обращался человек из КНИИТМУ
тоже нужно было сделать на отечественных компонентах V.32 совместимый с CMX, но дальше разговоров не пошло.
les12
Цитата(vid435 @ Sep 21 2014, 22:12) *
Модемы делались и делаются, например наши разработки можно посмотреть на rfdsp.ru.
последние лет десять делали только беспроводные, до этого телефонные тоже.
Но сейчас на них нет платежеспособного спроса, да и исходники выложены в сети, правда часто качество декодирование плохое и разбираться в чужом кривом коде сложнее чем самому написать imho.
Года три назад со сходной с вами задачей обращался человек из КНИИТМУ
тоже нужно было сделать на отечественных компонентах V.32 совместимый с CMX, но дальше разговоров не пошло.


То что чужой код который выложен в сети как правило демо, это 100%. Поэтому решил или сам сделать или заказать проект с передачей документации. Хотелось бы узнать примерную стоимость Вашей разработки. В данный момент работа востребованна и деньги есть.
-=Sergei=-
Цитата(les12 @ Sep 19 2014, 21:54) *
... (на отечественных dsp(миландр) ...


Рекомендую обратится напрямую к производителям. Авось они уже все сделали и ждут только вас.
les12
Цитата(-=Sergei=- @ Sep 22 2014, 10:25) *
Рекомендую обратится напрямую к производителям. Авось они уже все сделали и ждут только вас.

Я им послал письмо. Жду ответа.
Честно хотелось бы сделать самому модем. Просто знаний по ЦОС не больше чем у студентов, на данный момент. Пару книг прочитал(Лайонс помог вспомнить математику) и вроде все понятно.
У предприятия задача? микросхема, а у меня все же знание как она работает. Просто зная как устроен, функционально, рабочий QAM модем, я думаю можно и самому взяться. А так я могу и фильтр реализовать и фурье приклеить куда нибудь и т.д, вот только что, куда, и в какой последовательности?
des00
Цитата(les12 @ Sep 22 2014, 14:16) *
Я им послал письмо. Жду ответа.
Честно хотелось бы сделать самому модем. Просто знаний по ЦОС не больше чем у студентов, на данный момент. Пару книг прочитал(Лайонс помог вспомнить математику) и вроде все понятно.
У предприятия задача? микросхема, а у меня все же знание как она работает. Просто зная как устроен, функционально, рабочий QAM модем, я думаю можно и самому взяться. А так я могу и фильтр реализовать и фурье приклеить куда нибудь и т.д, вот только что, куда, и в какой последовательности?

на форуме, в разделе математика есть симулинк модели различных модемов от petrov. посмотрите и покрутите sm.gif
vid435
Цитата(les12 @ Sep 22 2014, 09:31) *
Хотелось бы узнать примерную стоимость Вашей разработки. В данный момент работа востребованна и деньги есть.

Стоимость и условия работы наверно удобнее обсуждать в личной переписке, почта iliya(.)voronov(a)gmail(.)com или по скайпу iliya.voronov
les12
Решил начинать с малого 1200 PM. Аналоговый НЧ фильтр сделан на операционике + трансформатор на входе(до 100 кГц пропускает). АЦП в процессоре Миландра есть могу хоть 200кГц чистоту дискретизации сделать.
Теперь необходимо сделать ФД ?
Фаза у сигнала меняется при модуляции на 180 гр. Думаю Гилберт как раз подходит. Теперь вопрос, писать с нуля прогу или есть где посмотреть т.к. не верю что Гилберта никто не писал и нет примера в инете(Фурье допустим полно). Сам лично не смог найти. Или есть более простой способ нахождения смены фазы.
polyakovav
Посмотрите, может поможет http://matlab.exponenta.ru/communication/book5/index.php
Но судя по вопросам, лучше бы Вам было купить готовое решение. Задачка не так проста, как кажется начинающему.
les12
Сложность задачи я понимаю вполне. Поэтому хотел купить, но не нашел удовлетворяющих нашему требованию предложений. Т.к. если покупать, то только с готовым макетом модема с проверкой на реальной линии, а не алгоритмы или тому подобное. Мне дают больше года на разработку макета и я понимаю что без помощи сам не сделаю. Но что бы грамотно общаться нужно самому что то сделать и понять нюансы на практике.
Поэтому сейчас реализую простой модем 1200 с ФМ. (К тому же он нужен, т.к. сейчас он реализован на 564 серии, а я его заменю).
BratherLU
Цитата(les12 @ Oct 7 2014, 18:52) *
Думаю Гилберт как раз подходит. Теперь вопрос, писать с нуля прогу или есть где посмотреть т.к. не верю что Гилберта никто не писал и нет примера в инете(Фурье допустим полно). Сам лично не смог найти. Или есть более простой способ нахождения смены фазы.

Может уже смотрели в matlab функции:
1) hilbert - реализует ПГ при помощи БПФ (можно посмотреть в исходниках hilbert.m где-то в недрах)
2) angle - фаза комплексного числа
3) unwrap - уберет разрывы фазы.

Преобразование Гильберта можно реализовать при помощи КИХ-фильтра.
В matlab есть инструмент FDATool - в пару кликов может дать коэффициенты соответствующего КИХ-фильтра.
Это если не с чего начать.
les12
Спасибо за наводку. Для начала нашел более простой способ демодуляции - согласованный фильтр(коррелятор). Опорный сигнал с разным фазовым сдвигом сравниваю с входящим и определяю максимум корреляции. Какие проблемы я встречу при искажении сигнала помехами ? в данном методе. сигнал 1800 бод на 1200 бит. ФМ 0-180гр. или этого достаточно.
BratherLU
Не могу сходу ответить. Надо моделировать - собирать тестовую среду именно для Ваших условий (в цифре добавить шумов, испортить АЧХ, покрутить фазу ). На мой взгляд правильный подход для оценки качества демодулятора предлагают здесь ->
http://powerdsp.narod.ru/modem_v32.html
Altair

Вот простой модем: http://www.moetronix.com/ae4jy/winpsk.htm
Реально доступно для понимания с нуля. И есть почти все от большого модема.
Еще нужно читать книгу Окунева про фазоманипулированные сигналы - реально толковый труд по модемам. QAM там тож рассматривается.
les12
ок. спасибо. Уже начинает что то выстраиваться в голове. (как мне кажется)
les12
При реализации кореллятора на основе согласованного фильтра (во временной области)не могу решить каким методом подстроить фазы принимаемого сигнала и локальной копии этого сигнала. Просто рекурсивно сдвигать копию до тех пор пока не найдется максимум свертки и после этого считаем что разность фаз =0 , или я что то упрощаю ?
petrov
Цитата(les12 @ Oct 15 2014, 15:43) *
или я что то упрощаю ?


Изобретаете велосипед.
les12
Алгоритм действительно простой на десяток строк. И по моему самый оптимальный.

Ответ получить можно без образов.
petrov
Цитата(les12 @ Oct 15 2014, 22:46) *
Ответ получить можно без образов.


Были ответы, но вы их не хотите слышать, простейшие вещи многократно обсуждались на форуме и разжёвывались дальше некуда.
les12
Если конкретно. Я хотел узнать можно обойтись в данном приемнике без класической фазовой автоподстройки частоты ? Да или Нет.
petrov
У буржуев есть отличное выражение для таких вопросов - it depends...
GenaGenin
Как-то делали модем для телеф линии на адсп. Чуть больше 10кбод задавали скорость, больше и не надо было. Рабо_чин образцы есть. Если интересно спрашивайте.
les12
Спасибо, но мы нашли организацию, которые сейчас делают на тмс данные модемы (протестировали их) и почти договорились. А т.к. потом мне придется этим заниматься у меня есть год что бы хоть как то разобраться. Вот и решил сделать для начала простой модемчик. В связи с этим и вопросы были. Но вроде смоделировал в матлабе свои задумки и все стало вырисовываться ). Т.е. для 1200 с ОФМанипуляцией достаточно согласованного фильтра. Потом добавлю в модем перед фильтром Гилберта с квадратурным гетнератором и проверю эти два варианта на вероятность ошибки. Так что всем кто помогал спасибо.
GenaGenin
А у нас на нем и речевой кодек крутится. G729 если память не изменяет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.