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

 
 
> Синхронизация OFDM по префиксу, алгоритм работы
Ivan55
сообщение Apr 22 2014, 04:24
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Всем здрасти!

Проблема вот в чем... Осуществил корреляцию префикса определил по положению пика смещение во временной области, по фазе оценил смещение по частоте. Решил сначала провести временную синхронизацию, взял полученную оценку и последующие входные отсчеты сместил(точнее взял больше отсчетов сигнала и подвинул) на ее величину... Но после этого посыпалась корреляция префикса

Кто знает в чем может быть проблема?

Сообщение отредактировал Ivan55 - Apr 22 2014, 07:06
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KalashKS
сообщение Apr 22 2014, 08:08
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(Ivan55 @ Apr 22 2014, 08:24) *
Всем здрасти!

Проблема вот в чем... Осуществил корреляцию префикса определил по положению пика смещение во временной области, по фазе оценил смещение по частоте. Решил сначала провести временную синхронизацию, взял полученную оценку и последующие входные отсчеты сместил(точнее взял больше отсчетов сигнала и подвинул) на ее величину... Но после этого посыпалась корреляция префикса

Кто знает в чем может быть проблема?


Из вашего описания не совсем ясно, что и как вы сделали. Покажите свою модель, если есть возможность. Или более подробно распишите что и куда вы двигали.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Apr 22 2014, 09:49
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(KalashKS @ Apr 22 2014, 12:08) *
Из вашего описания не совсем ясно, что и как вы сделали. Покажите свою модель, если есть возможность. Или более подробно распишите что и куда вы двигали.


CODE
[InSignal Fs] = wavread('Signal.wav'); % Запись OFDM сигнала
NumInSamples = length(InSignal); % Колличество отсчетов входного сигнала
NumBlocks = floor(NumInSamples/Ns); % Колличество блоков OFDM
DetectiontBuffer = zeros(1, 2*Ns);

for n = 1:NumBlocks

DetectiontBuffer(1:end-Ns) = DetectiontBuffer(Ns+1:end); % Сдвигаем входной буфер
DetectiontBuffer(end-Ns+1:end) = InSignal(((n-1)*Ns+1:n*Ns) - shiftTime); % Записываем следующий OFDM символ

......
......
end;

shiftTime - это оценка смещения пика корреляции префикса в отсчетах
DetectiontBuffer размером двух OFDM символов поиск корреляции осуществляется в первой половине буфера

ну так вот... когда не добавляю shiftTime при записи в буфер корреляция работает и производит оценку смещения времени, а
когда добавляю shiftTime при записи в буфер пик постоянно уплывает... По идее он же должен сдвинуться и в последующем оставаться на месте



Сообщение отредактировал Ivan55 - Apr 22 2014, 10:21
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Apr 22 2014, 12:16
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(Ivan55 @ Apr 22 2014, 13:49) *
CODE
[InSignal Fs] = wavread('Signal.wav'); % Запись OFDM сигнала
NumInSamples = length(InSignal); % Колличество отсчетов входного сигнала
NumBlocks = floor(NumInSamples/Ns); % Колличество блоков OFDM
DetectiontBuffer = zeros(1, 2*Ns);

for n = 1:NumBlocks

DetectiontBuffer(1:end-Ns) = DetectiontBuffer(Ns+1:end); % Сдвигаем входной буфер
DetectiontBuffer(end-Ns+1:end) = InSignal(((n-1)*Ns+1:n*Ns) - shiftTime); % Записываем следующий OFDM символ

......
......
end;

shiftTime - это оценка смещения пика корреляции префикса в отсчетах
DetectiontBuffer размером двух OFDM символов поиск корреляции осуществляется в первой половине буфера

ну так вот... когда не добавляю shiftTime при записи в буфер корреляция работает и производит оценку смещения времени, а
когда добавляю shiftTime при записи в буфер пик постоянно уплывает... По идее он же должен сдвинуться и в последующем оставаться на месте


Так, как написано у вас, может быть и заработает. Проверьте знак обратной связи (знак перед shift_time). И сам расчет необходимого сдвига.
Еще мне не нравится то, что при изменении shift_time у вас произойдет повторение, или пропуск отсчетов.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:14
Рейтинг@Mail.ru


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