Dub01 0 22 августа, 2007 Опубликовано 22 августа, 2007 · Жалоба Нашёл в сети исходник на MatLab'e по генерации, передачи и получению OFDM сигнала, но у меня задача другая. Имеется сигнал OFDM, записанный с эфира. Надо его прослушать, т.е. демодулировать. Коверкался с исходником, так ничего и не получилось. Уважаемые эксперты! Помогите, может у кого завалялся демодулятор OFDM сигналов!? Заранее большое спасибо. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west 0 25 августа, 2007 Опубликовано 25 августа, 2007 · Жалоба Насколько мне известно, ортогональное частотное мультиплексирование - всего лишь метод, суть которого в разбиении частотного канала на несколько частотных подканалов. Сами же подканалы могут иметь любой известный вид модуляции, поэтому демодулятор OFDM в принципе состоит из многоканального приемника и устройства объеденения потоков подканалов (в случае цифрового сигнала). Не зная схемы модуляции подканалов и схемы разбиения цифрового потока на подканалы, говорить о приеме такого сигнала просто бессмысленно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dub01 0 25 августа, 2007 Опубликовано 25 августа, 2007 · Жалоба Насколько мне известно, ортогональное частотное мультиплексирование - всего лишь метод, суть которого в разбиении частотного канала на несколько частотных подканалов. Сами же подканалы могут иметь любой известный вид модуляции, поэтому демодулятор OFDM в принципе состоит из многоканального приемника и устройства объеденения потоков подканалов (в случае цифрового сигнала). Не зная схемы модуляции подканалов и схемы разбиения цифрового потока на подканалы, говорить о приеме такого сигнала просто бессмысленно. Всё так. Сигнал уже есть. Записан с эфира. Хочу послушать. Но нет у меня подходящего демодулятора. Хоть бы какой простой демодулятор подсказали(в идеале надо чтоб по каждому подканалу можно было выбирать вид модуляции и соответственно ей демодуляцию), знал бы от чего отталкиваться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west 0 26 августа, 2007 Опубликовано 26 августа, 2007 · Жалоба А что известно про источник сигнала ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 28 августа, 2007 Опубликовано 28 августа, 2007 · Жалоба Извините за оффтоп, тоже вопросик есть... Есть запись сигнала, параметры которого полностью известны, но вот демодулировать его у меня не получается... В каждом символе есть небольшая копия конца символа (guard интервал) и сам символ. При движении "окна" DFT по всему этому символу амплитуды ессно остаются почти одинаковыми, но вот фазы крутятся... Если удачно подогнать смещение от начала, то этот поворот будет таким что его можно скорректировать по pilot-поднесущим (фаза откладывается по вертикали от -180 до + 180): А если не повезет, то так: Во втором случае, наверное, ничто не поможет... Подскажите, пожалуйста, что может быть не так, как быть... Может частота дискретизации немного не верно выбрана что приводит к такому поведению фаз?.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex_os 0 30 августа, 2007 Опубликовано 30 августа, 2007 · Жалоба В каждом символе есть небольшая копия конца символа (guard интервал) и сам символ. При движении "окна" DFT по всему этому символу амплитуды ессно остаются почти одинаковыми, но вот фазы крутятся... Не понял, окно DFT вдоль одного символа смещается у Вас? Вы один канал пытаетесь обработать таким образом? Может частота дискретизации немного не верно выбрана что приводит к такому поведению фаз?.. если частота дискретизации неправильная то все ломается :). Многие звуковухи вместо оцифровки на 8000 кГц цифруют на частоте Гц на 50 меньшей. Вообщем осторожно нужно с этим... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 30 августа, 2007 Опубликовано 30 августа, 2007 · Жалоба Не понял, окно DFT вдоль одного символа смещается у Вас? Вы один канал пытаетесь обработать таким образом? Запись сигнала в IQ форме, т.е. комплексной, два канала получается. Под окном я подразумеваю то что есть OFDM символ, который состоит из собственно самого информационного символа и из его небольшой части, которая подставлена вперед. Комплексное DFT я беру ессно с точностью на время информационного символа. Начальный отсчет может быть сдвинут "влево" по времени на время длительности этой копии, т.е. это окно у меня движется в пределах одного OFDM символа... если частота дискретизации неправильная то все ломается :). Многие звуковухи вместо оцифровки на 8000 кГц цифруют на частоте Гц на 50 меньшей. Вообщем осторожно нужно с этим...т.е. как понять "ломается"? Это значит что у меня как раз тот самый случай? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex_os 0 31 августа, 2007 Опубликовано 31 августа, 2007 · Жалоба Запись сигнала в 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: а что за сигнал у Вас, если не секрет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dub01 0 11 ноября, 2007 Опубликовано 11 ноября, 2007 · Жалоба Спецам, касательно ОФДМ: 1)На счёт циклического префикса. Интересует следующее. Как правильно задать размер? На что именно он повлияет. + и - больших и малых GT. 2)Касательно ТИПА префикса. Какой вид циклического префикса использовать?, или стандартный, когда часть отсчетов из начала добавляется в конец, или другой, когда в конец просто дописываются нули. Какие положительные и отрицательные стороны у обоих?. Какая именно часть отсчётов добавляется в конец? сколько 0? 3)Ещё вопрос касательно рациональности выбора числа поднесущих. Каков подход, опять же +/- 4)Читал что частотный разнос каналов = скорости манипуляции. Так ли это на самом деле? И как задаётся эта скорость? На что влияет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhorro 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба 1)На счёт циклического префикса. Интересует следующее. Как правильно задать размер? На что именно он повлияет. + и - больших и малых GT. Чем длинее у тебя ИХ канала тем длинее дожен быть ЦП, иначе будет межсимвольная интерференция, и вся радость от OFDM пропадет. Ну а экстремельно длинные ЦП очевидно снижают скорость передачи. 2)Касательно ТИПА префикса. Какой вид циклического префикса использовать?, или стандартный, когда часть отсчетов из начала добавляется в конец, или другой, когда в конец просто дописываются нули. Какие положительные и отрицательные стороны у обоих?. Добавление нулей имеет положительный момент, что у тебя не появятся нули в оценке частотной характеристики, минус - гораздо более сложная организация приемника. Тут простым БПФ не обойтись, так как свертка с каналом уже не бкдет считаться циклической. Какая именно часть отсчётов добавляется в конец? сколько 0? Отсчеты добавляются вначало, из конца. Впринципе конечно ни кто не мешает сделать наоборот, но как то классически добавляется последних К отсчетов к началу 3)Ещё вопрос касательно рациональности выбора числа поднесущих. Каков подход, опять же +/- Тут все зависит от длины выбранного ЦП. Если ЦП 100 отсчетов, то использование БПФ на 128 не рационально ;-) С другой стороны, использование слишкои больших БПФ приводит к огромному пик-фактору, что конечно так же не приятно/ 4)Читал что частотный разнос каналов = скорости манипуляции. Так ли это на самом деле? И как задаётся эта скорость? На что влияет? частотный разнос каналов = частота дискретизации/(размер бпф+ЦП), при чем тут скорость манипуляции? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex65111 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба Добавление нулей имеет положительный момент, что у тебя не появятся нули в оценке частотной характеристики - поподробней можно пояснить, что за нули, почему берутся и что за оценка частотной характеристики - чего? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dub01 0 18 ноября, 2007 Опубликовано 18 ноября, 2007 (изменено) · Жалоба zhorro Спасибо за помощь. частотный разнос каналов = частота дискретизации/(размер бпф+ЦП), при чем тут скорость манипуляции? А чем тогда определяется скорость? Изменено 18 ноября, 2007 пользователем Dub01 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhorro 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба - поподробней можно пояснить, что за нули, почему берутся и что за оценка частотной характеристики - чего? Для наиболее эффективного использования канала связи необходимо организовать когерентный прием, а для этого необходимо оценить частотную характеристику канала. В ней как раз и могут появиться нули, а значит на этой поднесущей связи не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dub01 0 5 декабря, 2007 Опубликовано 5 декабря, 2007 · Жалоба Добавление нулей имеет положительный момент, что у тебя не появятся нули в оценке частотной характеристики, минус - гораздо более сложная организация приемника. Тут простым БПФ не обойтись, так как свертка с каналом уже не бкдет считаться циклической. А что нам даёт циклическая свертка?, даже если она не будет циклической, и что тогда? И какой БПФ необходим в таком случае? :07: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhorro 0 7 декабря, 2007 Опубликовано 7 декабря, 2007 · Жалоба А что нам даёт циклическая свертка?, даже если она не будет циклической, и что тогда? И какой БПФ необходим в таком случае? :07: Циклическая свёртка даёт возможность считать, что принятый символ циклически свернут с каналом, а в этом случае можно считать, что принятый символ после БПФ будет представлять собой передаваемое распределение по созвездиям умноженное на комплексный коэффициент передачи канала. Если свёртка будет не циклической необходимы укорачивающие фильтры, которые приведут длину сквозной ИХ канала к длине ЦП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться