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

Циклическая свёртка даёт возможность считать, что принятый символ циклически свернут с каналом, а в этом случае можно считать, что принятый символ после БПФ будет представлять собой передаваемое распределение по созвездиям умноженное на комплексный коэффициент передачи канала.

Если свёртка будет не циклической необходимы укорачивающие фильтры, которые приведут длину сквозной ИХ канала к длине ЦП.

Так, снова поднимаем тему. Сейчас есть вопрос касательно СИНХРОНИЗАЦИИ.

 

Собственно проблема в том, как нам правильно продемодулировать сигнал? Т.е. есть к примеру запись с частотой дискретизации fs=8000 Гц. Нам для приёма сигнала необходимо правильно выставить размер блока FFT на входе, т.е. правильно выбрать N точек Фурье. (чтобы отсчёты брались именно на поднесущих, а не где попало) Так вот собственно каков алгоритм выбора числа точек FFT для заданной частоты дискретизации?. Ведь мы можем продискретизировать сигнал и тем самым подвести его под нужный размер N ФФТ. Причём необходимо чтоб это укладывалось в пределах ОФДМ символа.

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


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

Так, снова поднимаем тему. Сейчас есть вопрос касательно СИНХРОНИЗАЦИИ.

 

Собственно проблема в том, как нам правильно продемодулировать сигнал? Т.е. есть к примеру запись с частотой дискретизации fs=8000 Гц. Нам для приёма сигнала необходимо правильно выставить размер блока FFT на входе, т.е. правильно выбрать N точек Фурье. (чтобы отсчёты брались именно на поднесущих, а не где попало) Так вот собственно каков алгоритм выбора числа точек FFT для заданной частоты дискретизации?. Ведь мы можем продискретизировать сигнал и тем самым подвести его под нужный размер N ФФТ. Причём необходимо чтоб это укладывалось в пределах ОФДМ символа.

Да вроде тут Вам написали :) http://www.telesys.ru/wwwboards/dsp/299/me...es/107400.shtml

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


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

При Fs=7200кГц и Fft=128 точек получим частотный разнос 56.25Гц(это хорошо), а вот по длительности всего 17.8мс (t=Fft/Fs), а по стандарту M39 должно быть 22.5мс. (Хотя уже подсказали что 17.8 это без учёта защитного интервала, но я честно не нашёл про него в стандарте, вот про преамбулу чётко написано 517мс - т.е. у меня тут вопрос откуда 4.7мс и удовлетворяет ли это стандарту).

 

И ещё вопрос. Если бы частот было не 39, а больше или меньше, каков был бы алгоритм прикидывания Fs и Fft для неё с учётом длительности символа(окна)?

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


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

Итак, после длительного отсутствия, появились некоторые важные вопросы касательно того же MIL-STD-188-110B - 39ка. Как уже писал, имеется некоторый записанный с эфира сигнал данного стандарта, необходимо его обработать, т.е. правильно демодулировать, осуществить синхронизацию, выделить начальную точку нарезки с которой начинается полезный информационный поток... Сигнал записан с частотой дискретизации fs=8000Гц. На первом этапе обработки происходит передискретизация на частоту fs=7200Гц методом интерполяции. В итоге получили новый вектор отчётов, но уже с частотой дискретизации 7200Гц. При 7200 выполняется условие, при котором отсчёты берутся именно на поднесущих частотах а не где-то рядом, т.е. бины лежат на несущих. 7200/128 = 56.25Гц - как раз разнос между поднесущими по стандарту. На втором этапе нелбходимо найти точку(отсчёт) с которого необходимо нарезать символы как таковые, т.е. найти точку где заканчивается синхра (4 немодулированных тона и за ними ещё 3 модулированные несущие частоты). У меня этот процесс реализован следующим образом. Задаётся некоторое окно отсчётов, для примера k=500. Этим окном скользим(смещаем) по нашему вектору отсчётов(кот. уже с fs=7200) и строим спектр. По стандарту 4 тона имеют следующие частоты: 787.5, 1462.5, 2137.5 и 2812.5 Гц соответственно, а на нашем спектре получается что частоты гуляют около этих значений +-пару Гц. При этом разнос между тонами на спектре, естественно, сохраняется и равен 675Гц.

ВОПРОС: как и что необходимо сделать для правильной частотной синхронизации?

 

Далее как планируется, чтобы найти точку нарезки(конца синхры и начала полезного информационного сигнала) необходимо настроить фильтры на эти самые несущие(4 тона). И на выходе фильтров усреднить огибающие, по уровню 0.707 замерить длительность, и тем самым найти эту точку(отсчёт). Фильтры по идеи надо реализовывать на основе Фурье. Вот только не ясно, ведь сама процедура усреднения - уже с погрешностью, т.е. и по времени не будет точной синхронизации.

ВОПРОС: насколько правильный данный алгоритм? И как правильно реализуется временная синхронизация? Ведь очень важно правильно определить точку нарезки.

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


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

ВОПРОС: как и что необходимо сделать для правильной частотной синхронизации?
Для этого необходимо... читать литературу :) Чтобы определить частотный сдвиг, надо сравнить и усреднить по нескольким отсчетам например разность фаз между циклическим префиксом и исходной копией - там 100% будет прямолинейная закономерность, зависящая от частотной ошибки. Если в стандарте есть преамбула из повторяющихся во времени сигналов - тут так вообще ещё ярче это всё проявится.

ВОПРОС: насколько правильный данный алгоритм? И как правильно реализуется временная синхронизация? Ведь очень важно правильно определить точку нарезки.
Подсказка: автокорреляция сигнала (до FFT) - если префикс большой - то замечательно, если маленький - вся надежда на преамбулу если есть или на другие свойства символа в конкретном стандарте ;)

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


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

Пока OFDMом сильно не занимаюсь, но все равно интересно.

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

1. Чтоб применять такой подход требуется предварительная жесткая временная синхронизация, так?

2. А для чего тогда судя по сообщению DUB01 в OFDM в MIL в начале передачи существуют 3 потом 4 голые несухи, разве не для частотной синхронизации?

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


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

1. Чтоб применять такой подход требуется предварительная жесткая временная синхронизация, так?
Моя практика показывает что надо знать лишь приблизительное положение во времени этого участка, например если в сигнале есть преамбула, то хитрыми методами корреляции можно найти положение +/- 2 отсчета, а потом и частотную ошибку можно измерить ;)

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

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


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

1.

то хитрыми методами корреляции
- это хитрая корреляция или хитрый метод вычисления корреляции?

 

2.

Суть в том, что из-за частотной ошибки за время передачи символа от префикса до начала копии набегает соответствующая фазовая ошибка
- это то как раз я и понял. Вопрос то был, а зачем в МИЛ на входе используются последовательно голые 3-4 несухи. Разве не для частотной синхронизации?, если да, то как на их основе синхронизироваться? Ваш подход я думаю будет замечательным для соправождения.

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


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

1. - это хитрая корреляция или хитрый метод вычисления корреляции?
Я использую "скользящую корреляцию", т.е. есть буфер, где хранятся значения корреляции, и есть просто суммарное значение корреляции и каждый такт добавляю к нему текущее значение, и вычитаю самое старое значение - метод супер быстрый и эффективный...
2. - это то как раз я и понял. Вопрос то был, а зачем в МИЛ на входе используются последовательно голые 3-4 несухи. Разве не для частотной синхронизации?, если да, то как на их основе синхронизироваться? Ваш подход я думаю будет замечательным для соправождения.
Сори, а что за МИЛ? Я так и не понял о каком стандарте/методе идет речь? Где можно почитать про это? Интересно...

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


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

Итак, после длительного отсутствия, появились некоторые важные вопросы касательно того же MIL-STD-188-110B
- от себя добавлю, это коротковолновый стандарт, в нем есть приложение B, который описывает передачу на 39 поднесущих где в начале передается 4 голых несухи, потом 3, потом уже инфа на 39. Более глубоко пока сам не копал.

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


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

- от себя добавлю, это коротковолновый стандарт, в нем есть приложение B, который описывает передачу на 39 поднесущих где в начале передается 4 голых несухи, потом 3, потом уже инфа на 39. Более глубоко пока сам не копал.
Нашел типа спецификацию всего этого безобразия... Я думал IEEE делает самую худшую документацию, оказывается есть ещё более "умелые" товарищи... Так и не понял где там OFDM? Где хоть один рисунок, показывающий какие несущие какую роль играют и т.д. ?..

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


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

Кто-нибудь может объяснить принцип работы данных схем? :help: (статья Wireless OFDM Systems: How to Make Them Work? )

Временная синхронизация с пом. циклического префикса:

timecp.jpg

Частотная синхронизация с пом. циклического префикса:

frequencycp.jpg

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


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

К вопросу о синхронизации, наткнулся на статью A robust timing and frequency offset estimation OFDM. Там описан процесс синхронизации, без использования pilot тонов, а точнее процесс оценки ошибки временного ухода (timing offset) и частотного (frequency offset), что в принципе и необходимо для схемы синхронизации. Сама статейка очень маленькая, из того что там видно, они симулируют запаздывание, например на 1 отсчёт и строят сигнальные созвездия до запаздывания и после(возводят сигнал в 4 степень). В итоге получают сигнальное созвездие (4th poweк constellation) с одной точкой. И по нему оценивают ошибку.

 

Попытался смоделировать это в Matlab'e но ничего подобного получить не смог. Вот например 1 рисунок Figure 3 - Transmit tone phase vs. tone number - который отображает сигнал без задержки и с задержкой в 1 отсчёт (картинка получается с явным наклоном, т.е. как бы поворачивается) - у меня такого не наблюдалось! Возможно я что-то не понял, поэтому прошу помощи, если кто-то знает подобный алгоритм или у кого есть более подробный документ, где можно почитать про данный алгоритм оценки, буду очень признателен за помощь!

Изменено пользователем Dub01

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


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

При Fs=7200кГц и Fft=128 точек получим частотный разнос 56.25Гц(это хорошо), а вот по длительности всего 17.8мс (t=Fft/Fs), а по стандарту M39 должно быть 22.5мс. (Хотя уже подсказали что 17.8 это без учёта защитного интервала, но я честно не нашёл про него в стандарте, вот про преамбулу чётко написано 517мс - т.е. у меня тут вопрос откуда 4.7мс и удовлетворяет ли это стандарту).

 

22.5 - 17.8 = 4.7 = 17.8 / 4

То есть защитный интервал равен одной четверти OFDM-символа - довольно часто встречающаяся в OFDM практика, хотя бывает и короче. Защитный интервал представляет собой копию последней четверти OFDM-символа, но передается перед самим символом.

 

 

Подсказка: автокорреляция сигнала (до FFT) - если префикс большой - то замечательно, если маленький - вся надежда на преамбулу если есть или на другие свойства символа в конкретном стандарте ;)

 

Автокорреляция в OFDM во временной области не эффективна - очень широкий и не выраженный пик. Лучше детектить преамбулу путем автокорреляции в частотной области - точнее автокоррелировать амплитуды поднесущих с амлитудой пилотов в преамбуле. Это позволить задетектировать преамбулу в плюс-минус guard-интервале. Дальнейшее надо предоставить эквалайзеру.

 

Извините за оффтоп, тоже вопросик есть...

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

Если удачно подогнать смещение от начала, то этот поворот будет таким что его можно скорректировать по pilot-поднесущим (фаза откладывается по вертикали от -180 до + 180):

post-10008-1188332162_thumb.jpg

А если не повезет, то так:

post-10008-1188332174_thumb.jpg

Во втором случае, наверное, ничто не поможет...

Подскажите, пожалуйста, что может быть не так, как быть...

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

 

Нет, ты промахнулся окном мимо начала символа. Читай теорему о сдвиге ДПФ. Вот используя наклон линии фазы можно с точностью до десятой части (точность зависит от SNR) сэмла прикинуть на сколько ты промахнулся. Это можно использовать для синхронизации.

 

Более того, прямую линию фазы ты не получишь никогда. И причиной тому служат несколько вещей:

1) Не синхронизированны генераторы приемника и передатчика

2) Частотный сдвиг

 

Первый пункт можно исправить построив по преамбуле эквалайзер, который ты будешь применять ко всем последующим OFDM-символам. Он будет докручивать твои поднесущие так, чтобы линия фазы была прямой.

Частотный сдвиг нужно компенсировать путем детектирования и последующего вычета частоты расхождения из сигнала.

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


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

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

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

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

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

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

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

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

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

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