Перейти к содержанию
    

 

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

 

Для стандартного телефонного модема в Сети раньше был такой 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

 

Ну а так, эта область связана с ноу-хау и код обычно не размещают. Да и в чужом разобраться - не подарок. Инженерная область, не программистская

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотелось бы научиться писать демодуляторы. Теория в принципе изучена. Необходимо основные методы реализации алгоритмов (фильтрации, БПФ и т.д.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотелось бы научиться писать демодуляторы. Теория в принципе изучена. Необходимо основные методы реализации алгоритмов (фильтрации, БПФ и т.д.)

 

 

Поставь MatLab, посмотри исходники..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

MatLab стоит хотелось бы иметь исходники на C++.

 

Ну, напрмер:

http://libdsp.sourceforge.net/overview.html

http://itpp.sourceforge.net/latest/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ссылки посмотрел. Качаю. Зарание спасибо. Пока ещё не разберался.

 

Тока, чур, вопросами не кидаться :). Я с этими библиотеками не работал, просто когда на них наткнулся, сохранил линки на всякий случай.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

MatLab стоит хотелось бы иметь исходники на C++.

 

Сам пока не пробовал, но, вроде, он должен уметь делать сишный код.

Но это так, к сведению, если интересно будет попробовать..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы конкретней не поставите вопрос, то и отвечать-то вообщем не о чем.

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в чем собственно проблема ?

В свое время делал QPSK радиомодем.

Сейчас опять встала задачка подобная, вот в не рабочее время делаю потихоньку. Надо же и дома шарить рабочий восьми мегабитный канал :)))

На 1.2ГГц диапазоне (позывной есть, диапазон пустой полосы достаточно, что еще для счастья надо) :)))

Щас потихоньку пишу думаю делать OFDM вместе с турбо кодированием :)

 

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 :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

А Герцель очень приятная штука, позволяет узнать спектр в одной точке.

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

 

А Герцель достаточно запустить восемь раз с различными коэффициентами.

Плюс ко всему стандар DTMF декодирования преписывает, что необходимо так же анализировать уровень второй гармоники всех из 8 тонов.

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

Да и нужно то для Герцеля, если память не изменяет три сложения, три умножения и две задержки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В свое время делал QPSK радиомодем.

Щас потихоньку пишу думаю делать OFDM вместе с турбо кодированием :)

Доброе время суток всем!

Anybody, если не секрет, для каких целей радиомодем? Любительский?

Как Вы с замираниями справлялись, как АРУ строили?

 

И про OFDM+турбо-код - что за система связи?

Я делал DMT-демодулятор +сверт.код+перемежитель+РС, остро стоит вопрос по тактовой синхронизации.

Если Вы лит-ру искали, может ссылкой поделитесь?

Да и я могу сказать все, что знаю, правда ни OFDM, ни турбо-код не строил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...