реклама на сайте
подробности

 
 
> Демодулирование, Алгоритмы демодуляции или реализация
xxx
сообщение Feb 7 2005, 10:13
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 7-02-05
Пользователь №: 2 465



Цитата(xxx @ Feb 7 2005, 14:12)
tongue.gif
*
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 22)
fontp
сообщение Feb 7 2005, 10:28
Сообщение #2


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(xxx @ Feb 7 2005, 13:13)
Цитата(xxx @ Feb 7 2005, 14:12)
tongue.gif
*

*



Демодуляция чего?

Для стандартного телефонного модема в Сети раньше был такой Open Source проект - linmodem

The Generic Linux Soft Modem
*
* Copyright © 1999,2000 Fabrice Bellard.
* Copyright © 1999 Pavel Machek

v34, отчасти v90

http://fabrice.bellard.free.fr/linmodem.html

Ну а так, эта область связана с ноу-хау и код обычно не размещают. Да и в чужом разобраться - не подарок. Инженерная область, не программистская
Go to the top of the page
 
+Quote Post
xxx
сообщение Feb 7 2005, 10:34
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 7-02-05
Пользователь №: 2 465



Хотелось бы научиться писать демодуляторы. Теория в принципе изучена. Необходимо основные методы реализации алгоритмов (фильтрации, БПФ и т.д.)
Go to the top of the page
 
+Quote Post
grau
сообщение Feb 7 2005, 11:03
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 3-02-05
Пользователь №: 2 390



Цитата(xxx @ Feb 7 2005, 14:34)
Хотелось бы научиться писать демодуляторы. Теория в принципе изучена. Необходимо основные методы реализации алгоритмов (фильтрации, БПФ и т.д.)
*



Поставь MatLab, посмотри исходники..
Go to the top of the page
 
+Quote Post
xxx
сообщение Feb 7 2005, 11:30
Сообщение #5





Группа: Новичок
Сообщений: 4
Регистрация: 7-02-05
Пользователь №: 2 465



MatLab стоит хотелось бы иметь исходники на C++.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Feb 7 2005, 11:47
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(xxx @ Feb 7 2005, 15:30)
MatLab стоит хотелось бы иметь исходники на C++.


Ну, напрмер:
http://libdsp.sourceforge.net/overview.html
http://itpp.sourceforge.net/latest/
Go to the top of the page
 
+Quote Post
xxx
сообщение Feb 7 2005, 12:04
Сообщение #7





Группа: Новичок
Сообщений: 4
Регистрация: 7-02-05
Пользователь №: 2 465



Ссылки посмотрел. Качаю. Зарание спасибо. Пока ещё не разберался.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Feb 7 2005, 13:14
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(xxx @ Feb 7 2005, 16:04)
Ссылки посмотрел. Качаю. Зарание спасибо. Пока ещё не разберался.


Тока, чур, вопросами не кидаться smile.gif. Я с этими библиотеками не работал, просто когда на них наткнулся, сохранил линки на всякий случай.
Go to the top of the page
 
+Quote Post
grau
сообщение Feb 8 2005, 11:52
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 3-02-05
Пользователь №: 2 390



Цитата(xxx @ Feb 7 2005, 15:30)
MatLab стоит хотелось бы иметь исходники на C++.
*


Сам пока не пробовал, но, вроде, он должен уметь делать сишный код.
Но это так, к сведению, если интересно будет попробовать..
Go to the top of the page
 
+Quote Post
angir
сообщение Feb 24 2005, 19:08
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 49
Регистрация: 8-02-05
Из: 61RUS
Пользователь №: 2 510



Если вы конкретней не поставите вопрос, то и отвечать-то вообщем не о чем.
Какой тип модуляции ? Какова частота несущей, символьная скорость, скольки битные выборки с ацп, есть обе квадратуры или нет, каков тип канала и т.д. и т.п. Нельзя сделать какой-то один, общий для всех и вся тип демодулятора. Планируете ли использовать адаптивный фильтр, или нет, и какого место его включения, какая схема восстановления тактовой и несущей, если она планируется. И что вы понимаете под демодулятором? Просто выборки, сопровождаемые клоком тактовой, или уже дескремблированные\декодированные данные? Видете, как много вопросов, и я думаю, что это далеко не все, что нужно, чтобы сделать некое "подобие" демодулятора.

Кстати, а БПФ в вашем демодуляторе зачем нужен?
Go to the top of the page
 
+Quote Post
Alex2172
сообщение Feb 25 2005, 14:29
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 25-08-04
Пользователь №: 537



Цитата(angir @ Feb 24 2005, 22:08)
Кстати, а БПФ в вашем демодуляторе зачем нужен?
*


Одно приходит на ум - демодуляция DTMF, хотя кто будет использовать FFT, если есть Gortzel.
Go to the top of the page
 
+Quote Post
Jools
сообщение Mar 5 2005, 14:55
Сообщение #12


Патриот
***

Группа: Свой
Сообщений: 384
Регистрация: 26-12-04
Пользователь №: 1 682



Цитата(Alex2172 @ Feb 25 2005, 18:29)
Цитата(angir @ Feb 24 2005, 22:08)

Кстати, а БПФ в вашем демодуляторе зачем нужен?
*


Одно приходит на ум - демодуляция DTMF, хотя кто будет использовать FFT, если есть Gortzel.
*



Просвятите недоучку - что такое Gortzel ? Слышу первый раз.
Go to the top of the page
 
+Quote Post
Anybody
сообщение Apr 6 2005, 11:10
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 6-04-05
Пользователь №: 3 909



А в чем собственно проблема ?
В свое время делал QPSK радиомодем.
Сейчас опять встала задачка подобная, вот в не рабочее время делаю потихоньку. Надо же и дома шарить рабочий восьми мегабитный канал smile.gif))
На 1.2ГГц диапазоне (позывной есть, диапазон пустой полосы достаточно, что еще для счастья надо) smile.gif))
Щас потихоньку пишу думаю делать OFDM вместе с турбо кодированием smile.gif

XXX, вы сударь кокретнее говорите какие проблемы может и поможем.
А так ... Да что вам того FIR'f то задача на 60 секунд (и то писать больше, чем думать)
#define TAPS 32
/*FIR Filter*/
float *CoeffPtr;
float *DataPtr;

//выделяем память под CoeffPtr, DataPtr
//ну тут уже смотря где сидим под что пишем и т.д.

float fir (*DataPtr, *CoeffPtr)
{
float res;
for (int k = 0; k < TAPS; k++)
res += *(CoeffPtr+ k) * *(DataPtr+ k);
return res;
}

//вот Вам и весь FIR smile.gif


--------------------
Вся жизнь - борьба! Борьба с шумами. :)
Go to the top of the page
 
+Quote Post
Anybody
сообщение Apr 6 2005, 11:16
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 6-04-05
Пользователь №: 3 909



Цитата(Jools @ Mar 5 2005, 17:55)
Цитата(Alex2172 @ Feb 25 2005, 18:29)
Цитата(angir @ Feb 24 2005, 22:08)

Кстати, а БПФ в вашем демодуляторе зачем нужен?
*


Одно приходит на ум - демодуляция DTMF, хотя кто будет использовать FFT, если есть Gortzel.
*



Просвятите недоучку - что такое Gortzel ? Слышу первый раз.
*



А Герцель очень приятная штука, позволяет узнать спектр в одной точке.
Например для того же DTMF что бы узнать с 1.5% точностью можность в какой то точке спектра при 8кГц дискретизации нужен 256-FFT.

А Герцель достаточно запустить восемь раз с различными коэффициентами.
Плюс ко всему стандар DTMF декодирования преписывает, что необходимо так же анализировать уровень второй гармоники всех из 8 тонов.
Так как DTMF - это чистые синусойды, уровень второй гармоники у них будет маленький, а вот если речь (если даже будет случайно принята за тон), будет иметь уровень второй гармоники в десятки раз больше.
Да и нужно то для Герцеля, если память не изменяет три сложения, три умножения и две задержки.


--------------------
Вся жизнь - борьба! Борьба с шумами. :)
Go to the top of the page
 
+Quote Post
Fast
сообщение Apr 7 2005, 05:20
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Anybody @ Apr 6 2005, 14:10)
В свое время делал QPSK радиомодем.
Щас потихоньку пишу думаю делать OFDM вместе с турбо кодированием smile.gif

Доброе время суток всем!
Anybody, если не секрет, для каких целей радиомодем? Любительский?
Как Вы с замираниями справлялись, как АРУ строили?

И про OFDM+турбо-код - что за система связи?
Я делал DMT-демодулятор +сверт.код+перемежитель+РС, остро стоит вопрос по тактовой синхронизации.
Если Вы лит-ру искали, может ссылкой поделитесь?
Да и я могу сказать все, что знаю, правда ни OFDM, ни турбо-код не строил.
Go to the top of the page
 
+Quote Post
Anybody
сообщение Apr 7 2005, 08:23
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 6-04-05
Пользователь №: 3 909



Да цель простая smile.gif Да боли ...
-------------------------------------
Есть измерительные приборы, есть море СВЧ комплектухи на любой лад smile.gif
Есть уйма плисок всяких разных, уйма DSP процессоров smile.gif
Мозги вроде то же где-то завалялись smile.gif))
А так же на работе есть безлимитный 8Мб канал в интернет, а вот дома его нету )) DSL поставить то не сложно, но я квартиру снимаю, нет нет приходится бегать по квартирам, как следствие каждый раз за установку ADSL не настачиться smile.gif)) IEEE802.11 a/b не стреляют в условиях города. :-)
Так что цель ясна до боли smile.gif Плюс позывной есть, AX25 прикрутить не проблема. И хрен ко мне госсвязьнадзор докопается smile.gif Хоть я и 5Вт прокачивать буду :-)
-------------------------------------
Литература - Лучше всего Проакинс, там про синхронизацию много всего было.
Я решал в свое время по дурному - ФАПЧ на преамбулу 0xAA, 0xAA. При этом ФАПЧ хватался на частоту в два раза менььшую чем битовая, ну а дальше все понятно. Работало достаточно стабильно, просто времена изменились, комплектуха новая появилась, вот и захотелось переделать, да и болванку со старыми проектами найти не могу sad.gif CRC и Viterbi кодирование.
--------------------------------------
А турбо кодирование - это в принципе те же сверточные коды, с одной разницей, что так сказать Около лимита Шеннона. smile.gif Это лучше видеть smile.gif
Правда такой декодер как показан будет ну очень медленный но работает .. дааааа ... В гугле ищите Turbo MAP Log-MAP BCJR ... Вообще применяется в 3G телефонии, какой то из DSP TI 64xx оснащен турбо декодером, кстати smile.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Вся жизнь - борьба! Борьба с шумами. :)
Go to the top of the page
 
+Quote Post
Fast
сообщение Apr 7 2005, 10:33
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Anybody @ Apr 7 2005, 11:23)
Литература - Лучше всего Прокис, там про синхронизацию много всего было...
--------------------------------------
А турбо кодирование - это в принципе те же сверточные коды
Вообще применяется в 3G телефонии, какой то из DSP TI 64xx оснащен турбо декодером, кстати smile.gif

Про тактовую для ДМТ сигналов Проакинс ничего не скажет, есть он у меня.
А турбо-коды кроме 3G телефонии (CDMA-2000) используются в DVB, Inmatsat, Eutelsat и др.,- тоже знаю, как их юзать.
Просто интересно было, для чего ОФДМ+турбо-код. Если самому делать, то cool.gif. Лучше для начала ADSL почитать (G.992.x G.DMT G.Lite) - толковые вещи ИМХО. И к ним еще турбо-код если - шайтан машина получиться.

Насчет DSP TI 64xx спасибо, на заметку возьму. Собираюсь AD или TI осваивать, но пока не знаю, с чего начать (работодатели все требуют DSP-процы). вот хожу-брожу-посты смотрю.
Go to the top of the page
 
+Quote Post
Anybody
сообщение Apr 7 2005, 13:27
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 6-04-05
Пользователь №: 3 909



Ненаю в свое время начинал с AD, сейчас челиком и полностью сижу на TI.


--------------------
Вся жизнь - борьба! Борьба с шумами. :)
Go to the top of the page
 
+Quote Post
trofim
сообщение Apr 7 2005, 13:56
Сообщение #19





Группа: Новичок
Сообщений: 12
Регистрация: 4-11-04
Пользователь №: 1 039



Что такое Gortzel, ничего не могу найти?
Go to the top of the page
 
+Quote Post
Fast
сообщение Apr 7 2005, 14:08
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(trofim @ Apr 7 2005, 16:56)
Что такое Gortzel, ничего не могу найти?
*

Алгоритм Goеrtzel (Герцеля) - просто умножение на комплексную синусоиду заданной частоты для получения соотв. спектральной составляющей
Спешу, вот ссылка
http://ptolemy.eecs.berkeley.edu/papers/96.../www/node3.html
я еще довешивал к этому алгоритму (для опред. тонов и дем. DTMF) итегратор с усренением на длине неск. десятков-сотен отсчетов(ms), чтобы ложных подработок было поменьше.
Go to the top of the page
 
+Quote Post
Anybody
сообщение Apr 7 2005, 14:13
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 6-04-05
Пользователь №: 3 909



Цитата(Fast @ Apr 7 2005, 17:08)
Цитата(trofim @ Apr 7 2005, 16:56)
Что такое Gortzel, ничего не могу найти?
*

Алгоритм Goеrtzel (Герцеля) - просто умножение на комплексную синусоиду заданной частоты для получения соотв. спектральной составляющей
Спешу, вот ссылка
http://ptolemy.eecs.berkeley.edu/papers/96.../www/node3.html
я еще довешивал к этому алгоритму (для опред. тонов и дем. DTMF) итегратор с усренением на длине неск. десятков-сотен отсчетов(ms), чтобы ложных подработок было поменьше.
*




На самом деле для полного соответствия и что бы уложиться в 30dB динамики надо делать еще:
Magnitude Test
Twist Test
Frequency Offset Test
Tone-to-Tone Energy Test
Second Harmonic Test
Digit Decoder


--------------------
Вся жизнь - борьба! Борьба с шумами. :)
Go to the top of the page
 
+Quote Post
Fast
сообщение Apr 8 2005, 10:25
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Anybody @ Apr 7 2005, 17:13)
На самом деле для полного соответствия и что бы уложиться в 30dB динамики надо делать еще:
Magnitude Test
Twist Test
Frequency Offset Test
Tone-to-Tone Energy Test
Second Harmonic Test
Digit Decoder

И выйдет, что дешевле для здоровья будет БПФ + сравнение с эталоном (образом) посылки и выбор ближайшей по расстоянию rolleyes.gif
Go to the top of the page
 
+Quote Post
Anybody
сообщение Apr 8 2005, 12:02
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 6-04-05
Пользователь №: 3 909



НЕ поможет, на самом деле тесты там очень простые, производительности много не занимают.


--------------------
Вся жизнь - борьба! Борьба с шумами. :)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01585 секунд с 7
ELECTRONIX ©2004-2016