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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> демодуляция CDMA сигнала
grak
сообщение Mar 10 2007, 08:58
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 10-03-07
Пользователь №: 26 021



Необходимо реализовать алгоритм демодуляции сигнала CDMA на базе ЦПОС Analog Devices на VisualDSP. Кто может помочь алгоритмами, кодами, советами, литературой и источниками буду очень признателен. заранее большое спасибо
Go to the top of the page
 
+Quote Post
VDG
сообщение Mar 10 2007, 14:23
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 845
Регистрация: 10-02-06
Пользователь №: 14 193



Цитата(grak @ Mar 10 2007, 08:58) *
Необходимо реализовать алгоритм демодуляции сигнала CDMA

В библиотечке ФСБ поспрашивайте. smile.gif


--------------------
Go to the top of the page
 
+Quote Post
grak
сообщение Mar 10 2007, 17:07
Сообщение #3





Группа: Новичок
Сообщений: 13
Регистрация: 10-03-07
Пользователь №: 26 021



Не понял юмора...
Go to the top of the page
 
+Quote Post
Pathfinder
сообщение Mar 12 2007, 14:39
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 275
Регистрация: 29-06-05
Пользователь №: 6 400



если не секрет, зачем?


--------------------
ADC / DAC LC Filter Designer — Удобный инструмент проектирования LC-фильтров для ЦАП и АЦП
Go to the top of the page
 
+Quote Post
VDG
сообщение Mar 12 2007, 19:18
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 845
Регистрация: 10-02-06
Пользователь №: 14 193



Цитата(Pathfinder @ Mar 12 2007, 14:39) *
если не секрет, зачем?

ИМХО для той темы, что админ на днях удалил
Go to the top of the page
 
+Quote Post
evg123
сообщение Mar 29 2007, 09:40
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Алгоритмы подобные тому, о котором спрашиваете (если речь не идёт о научно-популярных набросках) - разрабатываются ANSI или ISO - комиссиями годами. На выходе десяток тысяч страниц, которые стоят несколько десятков тысяч у.е. (а иначе никак). А дальше - там есть всё что надо, чтобы за пару лет сделать CDMA-сотовую базовую станцию. Иначе что-либо работоспособное добыть наверное не получится. Разве что где-нибудь в наших закрытых лабораториях, разрабатывающих приборы для узкого применения, которые сами берут и перерабатывают эти же исходные материалы. Буржуи вплане кибирнетики впереди (Но это, как оказывается, не есть главное).
В Скляре есть введение в DSSS, и мы даже пытались это дело реализовать, когда разрабатывали радиорелейку, но заткнулись на концептуальной части - работа неподъёмная.
Go to the top of the page
 
+Quote Post
cupertino
сообщение Mar 29 2007, 10:10
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683



Цитата(grak @ Mar 10 2007, 08:58) *
Необходимо реализовать алгоритм демодуляции сигнала CDMA на базе ЦПОС Analog Devices на VisualDSP. Кто может помочь алгоритмами, кодами, советами, литературой и источниками буду очень признателен. заранее большое спасибо

CDMA сигналы бывают разными, и по разному демодулуруются. О каком именно стандарте идет речь?
Go to the top of the page
 
+Quote Post
egoist111
сообщение Mar 31 2007, 02:20
Сообщение #8





Группа: Новичок
Сообщений: 2
Регистрация: 30-03-07
Пользователь №: 26 620



Цитата(cupertino @ Mar 29 2007, 11:10) *
CDMA сигналы бывают разными, и по разному демодулуруются. О каком именно стандарте идет речь?



Нужен модулятор, а в особенности демодулятор QPSK(ФМ-4), математические алгоритмы, чтобы можно было запрогать их
Go to the top of the page
 
+Quote Post
andy Dan
сообщение May 25 2011, 10:05
Сообщение #9





Группа: Участник
Сообщений: 12
Регистрация: 12-05-08
Пользователь №: 37 442



можно начать с самого простого.
IS-95 например
в основном интересует теория и методы реализации теории.
Go to the top of the page
 
+Quote Post
stealth-coder
сообщение Jun 26 2011, 11:48
Сообщение #10


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

Группа: Участник
Сообщений: 112
Регистрация: 27-12-08
Пользователь №: 42 786



ANSI и ETSI никаких алгоритмов не разрабатывают и продажей не занимаются.

Алгоритм формирования сигнала (на базе UMTS W-CDMA):
Скачиваете с сайта ETSI (www.3gpp.org) документ TS 25.213, там описано формирование сигнала в режиме FDD (прямой и обратный каналы разнесены по частоте), читаете, все тривиально, подробно расписывать не буду. Подскажу, что упоминаемые в стандарте OVSF являются всего-навсего строками матрицы Уолша (Адамара) соответствующей размерности.

Алгоритм приема:
В основе приема лежит понятие свертки, она же корреляция. При расчете корреляции в качестве ядра свертки используем комплексно-сопряженную последовательность относительно формируемой на стороне передачи!!!!!!
1. Оцифровываете сигнал со скоростью, кратной чиповой скорости (3,84 Мчипов в секунду), 2, а лучше 4, отсчета на чип подойдет.
2. Выполняете согласованную фильтрацию, фильтр Root Raised Cosine, alfa=0.22, в TS 25.213 об этом написано.
2. Синхронизация:
1) Ищете пики корреляции Primary Synchro Channel (PSC), следующие с периодом 2560 чипов
2) В точках максимумов корреляций PSC рассчитываете корреляции для всех 16 вариантов Secondary Synchro Channel (SSC), определяете индекс последовательности, давшей максимальную амплитуду корреляции.
3) В соответствии с приведенной в стандарте таблицей и списком из 15 последовательных индексов последовательностей SSC, давших максимальную амплитуду, определяете номер скремблирующей группы и таймслот.
4) Позиционируетесь на 1-вый таймслот и перебором из 8 скремблирующих кодов, входящих в определенную ранее скремблирующую группу, определяете скремблирующий код как последовательность, давшую максимальный пик корреляции.
Таким образом вы осуществили 1) определение номера скремблирующего кода и 2) кадровую синхронизацию.
3. Предобработка сигнала:
1) Начиная с отсчета предположительного начала кадра и работая блоками по 256 чипов (512 либо 1024 отсчетов при 2 и 4 отсчетах на посылку соответственно) рассчитываете корреляцию скремблирующего кода и сигнала в окрестности точки предположительного начала кадра. Позиция максимума пика корреляции будет позицией максимально эффективной точки, эти отсчеты на всем периоде блока выбираем и получаем 256 отсчетов сигнала, взятых в точке, максимально близкой к точке идеальной оцифровки.
2) Осуществляем снятие скремблирующего кода путем поотсчетного умножения сигнала на комплексно-сопряженные отсчеты скремблирующего кода.
3) Осуществляем компенсацию фазовой расстройки путем умножения отсчетов сигнала со снятым скремблирующим кодом на комплексно-сопряженный вектор корреляции со скремблирующим кодом, который был получен в 3.1.
4. Выделение кодовых каналов:
1) Для полученного блока отсчетов со снятым скремблирующим кодом и компенсированной фазовой расстройкой выполняем преобразование Уолша (Адамара) (если хотим получить данные для всех кодовых каналов) либо осуществляем свертку полученного сигнала с нужными Orthogonal Variable Spreading Factor (OVSF), которые являются, как я писал ранее, строками матрицы Уолша.
2) Если используется преобразование Уолша, то 1) его можно выполнить по технологии быстрого преобразования (так же, как БПФ, только отсутствуют поворачивающие множители) и 2) на каждом этапе преобразования получаем отсчеты для всех кодовых каналов (после 1-го этапа - Spreading Factor 2, после 2-го - Spreading Factor 4 и т. д. до Spreading Factor 256), их которых выбираются отсчеты для реально существующих каналов - это будут созвездия QPSK, по которым либо принимаются жесткие решения, либо используются как мягкие решения, подаваемые на помехоустойчивый декодер.
5. Повторяем 3 и 4, сдвигаясь по отсчетам сигнала и скремблирующего кода (его период 38400 чипов, 10 мс, 1 фрейм, 15 таймслотов).

Улучшения приведенного алгоритма:
1. Расчет частотной расстройки может быть выполнен путем усреднения разницы между фазами корреляций сигнала и скремблирующего кода на блоках 256 чипов с последующим пересчетом в частоту.
2. Если выполняется оценка и компенсация частотной расстройки, то для повышения помехоустойчивости можно выполнить ФАПЧ по фазам корреляций сигнала и скремблирующего кода.
3. Если после некоторого этапа преобразования Уолша рассчитать спектр мощности как Pi = Ii^2 + Qi^2, то на гистограмме можно увидеть активные кодовые каналы

По похожему алгоритму можно построить демодулятор для IS-95 и CDMA-2000. Для дальнейшего повышения помехоустойчивости используют RAKE приемники (увеличивают глубину расчета корреляций, определяют наличие отраженных лучей и выполняют синфазное сложение всех лучей), разнесенный прием (в сущности, то же, что и RAKE, только используются несколько антенн, сигналы с которых синфазно складываются), smart-прием (разновидность разнесенного приема).

Практическая реализация: описанный алгоритм демодуляции хорошо ложится в процессор AD TigerSHARC-101, при использовании ассемблера и специализированных инструкций свертки демодуляция всех кодовых каналов занимает 50% вычислительного ресурса.

Литература:
1. ETSI TS 25.213
2. MatLab 2008 - Help, кроме того в примерах есть реализация модели модулятора-демодулятора W-CDMA.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Jun 26 2011, 11:57
Сообщение #11


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

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(stealth-coder @ Jun 26 2011, 14:48) *
В основе приема лежит понятие свертки, она же корреляция.

прикольно sm.gif
Go to the top of the page
 
+Quote Post
novchok
сообщение Jun 26 2011, 12:34
Сообщение #12


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

Группа: Свой
Сообщений: 128
Регистрация: 19-08-10
Из: Смоленск
Пользователь №: 58 991



2 stealth-coder +1000. Молодец. Спасибо за грамотное расписание алгоритма.
2 Serg76 -5 за жлобские попытки куснуть человека по мелкому.


--------------------
Herz укроп и педрила
Go to the top of the page
 
+Quote Post
Serg76
сообщение Jun 26 2011, 13:45
Сообщение #13


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

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



2 novchok плачет по тебе адвокатура
Go to the top of the page
 
+Quote Post
vid435
сообщение Sep 16 2011, 08:18
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 9-03-07
Пользователь №: 26 008



Цитата(stealth-coder @ Jun 26 2011, 15:48) *
Практическая реализация: описанный алгоритм демодуляции хорошо ложится в процессор AD TigerSHARC-101, при использовании ассемблера и специализированных инструкций свертки демодуляция всех кодовых каналов занимает 50% вычислительного ресурса.

А какую производительность требует демодулятор UMTS на ПК? Влезет ли это в реальном времени на не быстрый процессор типа Atom или Celeron?
Для упрощения разработки хотелось бы остаться на плавучке, да и оптимизировать на уровне SSE- инструкций тоже не хотелось бы.
Go to the top of the page
 
+Quote Post
stealth-coder
сообщение Oct 24 2011, 17:24
Сообщение #15


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

Группа: Участник
Сообщений: 112
Регистрация: 27-12-08
Пользователь №: 42 786



Цитата(vid435 @ Sep 16 2011, 12:18) *
А какую производительность требует демодулятор UMTS на ПК? Влезет ли это в реальном времени на не быстрый процессор типа Atom или Celeron?
Для упрощения разработки хотелось бы остаться на плавучке, да и оптимизировать на уровне SSE- инструкций тоже не хотелось бы.


Можно попытаться с использованием Intel Compiler + Integrated Performance Primitives, ребята со spiral.net демодулятор WiMax 20 МГц в реальном времени умудрились запустить, но, видимо, предполагается использование ПК с обычной ОС типа Windows/Linux и вот тут Вас ждут неприятности - это не операционные системы реального времени, поэтому как только винда решит что-нибудь засвопить или окошко перерисовать, все реальное время закончится, это мы уже проходили.
Go to the top of the page
 
+Quote Post

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

 


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


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