Jump to content

    

Ошибки при синхронизации OFDM по циклическому префиксу

Прошу прощения, а правильно я понимаю, что ЦП - это когда в начале и конце символа передаются 160 (в конкретном случае) сэмплов сигнала? Если так, то должна быть автокорреляция между ними, причем слабо чувствительная к отстройке по несущей частоте.

Share this post


Link to post
Share on other sites
5 часов назад, GenaGenin сказал:

Прошу прощения, а правильно я понимаю, что ЦП - это когда в начале и конце символа передаются 160 (в конкретном случае) сэмплов сигнала? Если так, то должна быть автокорреляция между ними, причем слабо чувствительная к отстройке по несущей частоте.

При честных 160 различных отсчетах это так. Сейчас я работаю с минимальной полосой LTE, там 9 или 10 отсчетов. Оверсемплинг в 16 раз тут не помощник. Вдобавок влияние канала.

Странно, конечно, что для Задова-Чу такое влияние частоты. Надо ещё перепроверить себя, а то вчера утверждал, что ошибка по частоте мала...

В любом случае где-то на ±2 или ±3 целых частоты надо делать проверку. Но тут как бы не вышла змея, кусающая себя за хвост, когда частотная синхронизация требует временную, которая очень плоха без компенсации частотной расстройки.

Share this post


Link to post
Share on other sites

Нашлась дурацкая ошибка. Я не "тянул" фазу на сабфрейме. То есть у меня для каждого из 7 OFDM-символов умножение на комплексную экспоненту начиналось с нулевой фазы... Это, конечно, не отменяет факта, что надо еще компенсировать IFO, но с дробной частью был косячок.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

С чего вы это взяли? Даже при цифровом преобразовании частоты преобразователь не сбрасывается каждый символ. Он вообще не имеет представления о типе сигнала и границах символов в нем.

 

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

signal=exp(1i*pi/2*randi(4,128,100));
signal=ifft(signal);
signal=[signal(120:128,:);signal];
signal=reshape(signal,1,numel(signal));
Correlation=(filter(ones(9,1),1,conj(signal(1:end-128)).*signal(129:end)));
Energy=(filter(ones(9,1),1,abs(signal(1:end-128)).^2+abs(signal(129:end)).^2))/2;
plot(abs(Correlation)-Energy)

 

Share this post


Link to post
Share on other sites
53 минуты назад, KalashKS сказал:

С чего вы это взяли?

Почему-то так казалось. Был неправ.

 

Спасибо за код. Попробую. Вчера МП-алгоритм запускал (https://www.mathworks.com/matlabcentral/fileexchange/33299-ml-estimation-of-timing-and-cfo-in-ofdm-systems), видел ложные пики на коротком ЦП даже на сигнале без шума.

Share this post


Link to post
Share on other sites

Совсем без них, может быть, и не получится. Просто их будет меньше.

Строго не выводил, но по ощущениям МП-синхронизация по нескольким символам должна сводиться к усреднению корреляции и энергии:

Correlation_mean=zeros(1,numel(Correlation)-3*137);
Energy_mean=zeros(1,numel(Correlation)-3*137);
for k=0:3,
    Correlation_mean=Correlation_mean+Correlation(k*137+(1:numel(Correlation_mean)));
    Energy_mean=Energy_mean+Energy(k*137+(1:numel(Energy_mean)));
end

Ложных пиков будет еще меньше.

Share this post


Link to post
Share on other sites

А, понял свою ошибку. У меня нет пилотных вставок в OFDM-символах с данными, поэтому я должен вести фазу без разрывов от символа с последовательностью Задова-Чу, по которой определена АЧХ канала. Когда я начинал фазу считать с нуля в начале каждого OFDM-символа, то происходил её скачок. Без опорных пилотов поворот созвездия из-за скачка не устранить. Можно в принципе по решениям довернуть, но хотелось бы проще. Продолжая компенсировать фазу без разрыва и затем доворачивая созвездие оценкой канала, получаю его правильное положение.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now