|
|
  |
Поиск импульсов синхронизации |
|
|
|
Dec 1 2015, 11:08
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
Вот и настал для меня этот момент. У меня система генерирует OFDM-сигналы, но приемник просто обрабатывает все, что идет по каналу связи. Мне теперь надо так: я в передатчике сделал генерацию синхро-сигнала, который распологается на 1 из 10 OFDM-символов, и длится столько же, сколько и обычный OFDM-символ. Теперь надо Засинхронизировать приемную и передающую части.
Я так понял, не важно, какой я сигнал использую в синхро-сообщении, но в приемнике коррелятор строит автокорреляционную функцию этого сигнала, и если в определенный момент я увижу всплеск, то можно обрабатывать данные, которые идут дальше.
И тут я понял, что ничего не понимаю в синхронизации, потому что какой всплеск, как тут что происходит?!!! Помогите разобраться, пожалуйста, в математическом представлении того, что происходит. У меня уже сгенерирован сигнал: СИНХРО+ОФДМ+ОДФМ+ОДФМ+...+ОФДМ+СИНХРО+ОФДМ.
Что теперь нужно сделать в приемнике? Я так понимаю, что прием не начнется вообще, пока не будет найдет максимум АКФ. Как найти этот максимум конкретно?
Вопрос: что вообще нужно контролировать и синхронизировать с помощью синхронизирующего сигнала?
Как часто нужно искать синхро-сигнал? Смотрите, Я один раз засинхронизировался. Принимаю...принимаю. Может и рассинхронизировался. Но что теперь делать-то? Просто через 10 посылок снова в приемнике заставлять программу читать синхросигнал?
Или синхронизация и прием должны происходить одновременно?
Сообщение отредактировал lennen - Dec 1 2015, 11:10
|
|
|
|
|
Dec 1 2015, 13:56
|
Местный
  
Группа: Участник
Сообщений: 326
Регистрация: 30-05-06
Пользователь №: 17 602

|
Цитата(lennen @ Dec 1 2015, 14:08)  И тут я понял, что ничего не понимаю в синхронизации, потому что какой всплеск, как тут что происходит?!!! Помогите разобраться Есть такой профессор Савельев Сергей,биолог,занимается мозгом. Очень советует отдыхать и не перенапрягаться.
|
|
|
|
|
Dec 2 2015, 08:14
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
Я пока на той стадии, что мне надо просто добавить в систему синхроимпульс и макисимально эффективно его обработать. То есть в сигнал, который я сейчас генерирую на передачу в своей системе связи, состоящий из N OFDM-символов, нужно вставить через каждые, например, 10 символов синхроимпульс, длительность которого такая же, как и OFDM-сигнала. Насколько я понимаю, его можно как-то оптимально принять. Какие варианты есть для синхроимпульса?
|
|
|
|
|
Dec 9 2015, 08:04
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
Где дали? Можно что-нибудь из основ синхронизации дать в OFDM-системах. Я пока понял только то, что временная синхронизация нужна только для того, чтобы точно понять, что такая-то выборка сигнала - первый отсчет OFDM-символа. Цитата приняв которое не когерентно, можно будет определить начальную фазу передатчика в точке приема Или еще зачем-то? Цитата приемник войдет в когерентный режим Можно подробнее насчет когерентного режима?
Сообщение отредактировал lennen - Dec 9 2015, 08:06
|
|
|
|
|
Dec 10 2015, 08:10
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
А как бы вы решили следующий вопрос. Допустим, у Вас сейчас передатчик генерирует за каждый цикл работы программы 30 OFDM-символов, среди которых один - синхросигнал. Эти данные должны по ТЗ передаваться на приемник (например, по каналу связи через звуковую карту), но вы в настоящее время сохраняете массив из 30 OFDM-символов в файл, а программа-приемник читает сразу весь массив из файла. Приемник у вас сейчас просто удаляет импульс синхронизации, и этот импульс всегда первый, так как он записывается в текстовый файл на первом месте. Вам не нужно хитрить, язвить, нужно теперь реально самым простым способом использовать импульс синхронизации, то есть сделать корреляционный прием и показывать, где находится начало сигнала.
Я просто заработался, скажите мне, пожалуйста, на свежую голову, как бы вы поступили, если бы вас мучил такой вопрос? Как добавить в систему связи, находящуюся на таком уровне, синхронизацию по корреляционной функции? Я теорию, причем, всю знаю, в Матлабе кучу раз моделировал, а вот не понимаю, как это должно выглядеть, потому что если бы данные передавались по TCP и накапливались в буфере приемника.... Но без если бы, TCP мне пока сделать трудно с моим знанием сокетов, поэтому я хочу послушать вообще, какие есть варианты решения задачи.
|
|
|
|
|
Dec 10 2015, 08:29
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(lennen @ Dec 10 2015, 16:10)  Я просто заработался, скажите мне, пожалуйста, на свежую голову, как бы вы поступили, если бы вас мучил такой вопрос? Логика здравого смысла : положим что вы яблоконенависник, очень любящий апельсины. Попали в страну где большой ленточный конвейер по которому идут апельсины, но злобные буратины иногда подкидывают яблоки. Положим что они хотят у вас вызвать анафилактический шок. И вот вы голодный стоите у конечной точки конвейера и едите апельсины. Да, да, прямо с конвейера, голод не тетка. Как сделать так что бы вы не умерли? -> Производить анализ и сравнение фрукта на конвейере с образами яблок и апельсинов у вас в решающем устройстве (том самом куда боксеры едят). Т.е. говоря еще более простым языком : взяли фрукт - сравнили с тем что в мозгах - идентифицировали - либо поели либо отбросили. Теперь представьте что вам попались буратины любящие математику и чертовщину и кладут яблоко каждый 13 фрукт. Как вам теперь найти место начала пакета из 12 апельсинов?
--------------------
|
|
|
|
|
Dec 10 2015, 08:48
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
Ок, чтобы было понятнее, прикладываю скрин генератора. У меня сейчас не просто каждый 12 из 13, который надо найти... Я плаваю именно в том моменте, что у меня каждый первый из 33 - синхро, и его положение точно задано, а как бы мне теперь доработать модель поближе к реальности так, чтобы действительно имел смысл поиск синхро? Сейчас-то что его искать?
Я ориентируюсь просто на то, что это априори понятно, что сигнал, генерируемый передатчиком, в конце концов планируется вывести на звуковую карту, а с микрофона звуковой карты принять приемной частью, которая изображена на втором приложенном скрине. Но сейчас я отлаживаю эту программу, не все же сразу, и уровень у меня такой, какой видите на скринах. Промежуточный пункт - текстовый файл. Посмотрите на скрин генератора - у нас есть один странный ненулевой слабоколеблющийся символ:D Это синхроимпульс, пока я специально не заморачивался по поводу его структуры, хотя это будет такой же OFDM-символ с известными случайными фазами поднесущих частот. Так вот, в приемнике вы этого синхроимпульса не видите, я его просто обрезаю. Эти скрины показывают те массивы, которые обрабатываются в программе за раз. Вот теперь понятнее? ЗЫ к надписям рисунков присматривайтесь, но им не доверяйте, я делал все под 4 символа, а потом доработал и еще не исправил названия.
Сообщение отредактировал lennen - Dec 10 2015, 08:56
|
|
|
|
|
Dec 14 2015, 08:38
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
Ситуация немного изменилась, но вопрос очень актуален. Смотрите, сделал уже конкретный синхроимпульс:
На приеме успешно сделал его корреляционный прием:
Теперь посмотрите, корреляционный пик-то у меня всегда в конце синхроимпульса, который всегда в самом начале 32-х генерируемых за цикл программы OFDM-символов. Я теперь просто не сильно понимаю, как проще сделать в моей системе так, чтобы синхроимпульс действительно мог быть принят в приемнике в случайный момент времени (в зависимости от времени включения передатчика относительно приемника). У меня пока просто массив генерируется - массив принимается. а надо: массив генерируется, массив отсылается с частотой 1 выборка каждые 1/fд секунды, выборка копится в приемнике, выборки обрабатываются... Как мне проще добиться этого? И при этом не впадать в симуляции, а сделать наиболее близкой к реальной системе связи модель?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|