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

 
 
> Demodulat0r O F D M, Demodulat0r O F D M
Dub01
сообщение Aug 22 2007, 17:14
Сообщение #1


Участник
*

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



Нашёл в сети исходник на MatLab'e по генерации, передачи и получению OFDM сигнала, но у меня задача другая. Имеется сигнал OFDM, записанный с эфира. Надо его прослушать, т.е. демодулировать. Коверкался с исходником, так ничего и не получилось.

Уважаемые эксперты! Помогите, может у кого завалялся демодулятор OFDM сигналов!? Заранее большое спасибо. smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
WEST128
сообщение Aug 26 2007, 13:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 13-10-06
Из: Россия, Томск
Пользователь №: 21 291



А что известно про источник сигнала ?
Go to the top of the page
 
+Quote Post
AVR
сообщение Aug 28 2007, 20:28
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Извините за оффтоп, тоже вопросик есть...
Есть запись сигнала, параметры которого полностью известны, но вот демодулировать его у меня не получается... В каждом символе есть небольшая копия конца символа (guard интервал) и сам символ. При движении "окна" DFT по всему этому символу амплитуды ессно остаются почти одинаковыми, но вот фазы крутятся...
Если удачно подогнать смещение от начала, то этот поворот будет таким что его можно скорректировать по pilot-поднесущим (фаза откладывается по вертикали от -180 до + 180):
Прикрепленное изображение

А если не повезет, то так:
Прикрепленное изображение

Во втором случае, наверное, ничто не поможет...
Подскажите, пожалуйста, что может быть не так, как быть...
Может частота дискретизации немного не верно выбрана что приводит к такому поведению фаз?..


--------------------
Go to the top of the page
 
+Quote Post
alex_os
сообщение Aug 30 2007, 05:10
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(AVR @ Aug 29 2007, 00:28) *
В каждом символе есть небольшая копия конца символа (guard интервал) и сам символ. При движении "окна" DFT по всему этому символу амплитуды ессно остаются почти одинаковыми, но вот фазы крутятся...

Не понял, окно DFT вдоль одного символа смещается у Вас? Вы один канал пытаетесь обработать таким образом?
Цитата(AVR @ Aug 29 2007, 00:28) *
Может частота дискретизации немного не верно выбрана что приводит к такому поведению фаз?..

если частота дискретизации неправильная то все ломается smile.gif. Многие звуковухи вместо оцифровки на 8000 кГц цифруют на частоте Гц на 50 меньшей. Вообщем осторожно нужно с этим...


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
AVR
сообщение Aug 30 2007, 19:40
Сообщение #5


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(alex_os @ Aug 30 2007, 09:10) *
Не понял, окно DFT вдоль одного символа смещается у Вас? Вы один канал пытаетесь обработать таким образом?

Запись сигнала в IQ форме, т.е. комплексной, два канала получается. Под окном я подразумеваю то что есть OFDM символ, который состоит из собственно самого информационного символа и из его небольшой части, которая подставлена вперед. Комплексное DFT я беру ессно с точностью на время информационного символа. Начальный отсчет может быть сдвинут "влево" по времени на время длительности этой копии, т.е. это окно у меня движется в пределах одного OFDM символа...
Цитата(alex_os @ Aug 30 2007, 09:10) *
если частота дискретизации неправильная то все ломается smile.gif. Многие звуковухи вместо оцифровки на 8000 кГц цифруют на частоте Гц на 50 меньшей. Вообщем осторожно нужно с этим...
т.е. как понять "ломается"? Это значит что у меня как раз тот самый случай?


--------------------
Go to the top of the page
 
+Quote Post
alex_os
сообщение Aug 31 2007, 05:42
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(AVR @ Aug 30 2007, 23:40) *
Запись сигнала в IQ форме, т.е. комплексной, два канала получается. Под окном я подразумеваю то что есть OFDM символ, который состоит из собственно самого информационного символа и из его небольшой части, которая подставлена вперед. Комплексное DFT я беру ессно с точностью на время информационного символа. Начальный отсчет может быть сдвинут "влево" по времени на время длительности этой копии, т.е. это окно у меня движется в пределах одного OFDM символа...
т.е. как понять "ломается"? Это значит что у меня как раз тот самый случай?

А на картинке фаза крутится для одной несущей?
Вообщем, лучше бросить смотреть на непонятную фазу и делать так:
1) Правильно спозиционировать "окно DFT". Для этого считаете корреляцию защитного интервала и последнего куска символа длинной в защитный интервал. Т.е.
Ls - длина символа
Lg - длина защитного интервала
Lu - длина окна
s - Ваш сигнал (вектор-строка)
Ns - длина сигнала в символах

в Матлабовской нотации:
Код
for offset = 1:Ls
    r(offset) = 0;
    index1 = offset;
    index2 = offset+Lu;  
    for i = 1: Ns
        r(offset) = r(offset) + r(index1: index1+Lg-1) * r(index2: index2+Lg-1)';
        index1 = index1+Ls;  index2=index2+Ls;  
    end
end

Идея такая когда защитный интервал и его копия совпадут корреляция будет максимальна. Это широкоизвестный способ символьной синхронизации для ОFDM. Длинна выборки должны быть довольна значительна (порядка сотни символов). График abs( r ) имеет характерную треугольную форму ширина основания треугольника примерно 2*Lg. При отклонении частоты дикретизации от истинной треугольник скругляется, если сильное отклонение вообще исчезает.

2) Если треугольник получился, тогда пол-дела сделано, позиционируется начало вашего окна на offset соответсвующий максимуму(max_offset) r + Lg/2. Считаете ДПФ и пытаетесь увидеть пилоты. Кстати arg(r(max_offset)) величина пропорциональная сдвигу несущей.

Еще по гуглите "OFDM timing recovery" найдете массу ссылок.

ps: а что за сигнал у Вас, если не секрет?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dub01   Demodulat0r O F D M   Aug 22 2007, 17:14
- - WEST128   Насколько мне известно, ортогональное частотное му...   Aug 25 2007, 11:17
|- - Dub01   Цитата(WEST128 @ Aug 25 2007, 15:17) Наск...   Aug 25 2007, 19:45
- - Dub01   Спецам, касательно ОФДМ: 1)На счёт циклического ...   Nov 11 2007, 09:46
|- - zhorro   Цитата(Dub01 @ Nov 11 2007, 13:46) 1)На с...   Nov 16 2007, 15:09
- - Alex65111   ЦитатаДобавление нулей имеет положительный момент,...   Nov 16 2007, 18:08
|- - zhorro   Цитата(Alex65111 @ Nov 16 2007, 21:08) - ...   Nov 19 2007, 05:38
|- - Dub01   Цитата(zhorro @ Nov 19 2007, 09:38) Добав...   Dec 5 2007, 20:22
|- - zhorro   Цитата(Dub01 @ Dec 5 2007, 23:22) А что н...   Dec 7 2007, 05:27
|- - Dub01   Цитата(zhorro @ Dec 7 2007, 09:27) Циклич...   Apr 30 2008, 14:51
|- - alex_os   Цитата(Dub01 @ Apr 30 2008, 17:51) Так, с...   May 3 2008, 15:15
- - Dub01   zhorro Спасибо за помощь. Цитатачастотный разнос к...   Nov 18 2007, 12:57
- - Dub01   При Fs=7200кГц и Fft=128 точек получим частотный р...   May 4 2008, 17:25
|- - DMax   Цитата(Dub01 @ May 4 2008, 20:25) При Fs=...   Dec 8 2008, 09:35
- - Dub01   Итак, после длительного отсутствия, появились неко...   Jul 9 2008, 17:30
|- - AVR   Цитата(Dub01 @ Jul 9 2008, 21:30) ВОПРОС:...   Jul 22 2008, 13:17
- - Alex65111   Пока OFDMом сильно не занимаюсь, но все равно инте...   Jul 22 2008, 17:24
|- - AVR   Цитата(Alex65111 @ Jul 22 2008, 21:24) 1....   Jul 22 2008, 21:51
- - Alex65111   1. Цитатато хитрыми методами корреляции - это хитр...   Jul 23 2008, 06:45
|- - AVR   Цитата(Alex65111 @ Jul 23 2008, 10:45) 1....   Jul 23 2008, 06:56
- - Alex65111   ЦитатаИтак, после длительного отсутствия, появилис...   Jul 23 2008, 07:04
|- - AVR   Цитата(Alex65111 @ Jul 23 2008, 11:04) - ...   Jul 23 2008, 07:28
- - Alex65111   Стр.62 стандарта MIL-STD-188-110B APPENDIX B...   Jul 23 2008, 07:38
- - Dub01   Кто-нибудь может объяснить принцип работы данных с...   Nov 4 2008, 19:48
- - Dub01   К вопросу о синхронизации, наткнулся на статью A r...   Dec 7 2008, 11:23
|- - petrov   Цитата(Dub01 @ Dec 7 2008, 14:23) К вопро...   Dec 8 2008, 13:35
- - Dub01   Цитата(petrov @ Dec 8 2008, 16:35) Вот ва...   Dec 10 2008, 18:12
|- - petrov   Цитата(Dub01 @ Dec 10 2008, 21:12) Спасиб...   Dec 11 2008, 10:48
|- - DMax   Цитата(Dub01 @ Dec 10 2008, 21:12) Я как ...   Dec 11 2008, 14:00
|- - alex_os   Цитата(DMax @ Dec 11 2008, 17:00) В реали...   Dec 11 2008, 20:47
- - Leshii   ЦитатаNCO просто базовый элемент в алгоритмах синх...   Dec 11 2008, 11:41
|- - petrov   Цитата(Leshii @ Dec 11 2008, 14:41) Если ...   Dec 11 2008, 11:50
- - Leshii   Не могли бы Вы все таки немного подробнее разъясни...   Dec 11 2008, 13:06
|- - petrov   Цитата(Leshii @ Dec 11 2008, 16:06) Не мо...   Dec 11 2008, 15:11
- - Alex65111   ЦитатаВсе дело в том, что схема описаная в статье ...   Dec 11 2008, 14:44
- - Leshii   petrov Предположим имеются биты b1,b2…b16. Необх...   Dec 12 2008, 09:12
|- - petrov   Цитата(Leshii @ Dec 12 2008, 12:12) ... ...   Dec 12 2008, 12:58
- - petrov   КодПусть w=e^(j*2*pi/N) Например возьмём ...   Dec 16 2008, 14:23


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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 09:48
Рейтинг@Mail.ru


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