|
Beek algoritm |
|
|
|
 |
Ответов
|
Apr 12 2016, 09:40
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(KalashKS @ Apr 12 2016, 13:04)  Смотря что считать эффективностью. Можно попрововать упростить реализацию. Спасибо за ответ! я считаю под эффективностью дисперсию оценки. Рассмотрел различные варианты: модуль разности циклического префикса (СP) и его копии, квадрат разности модулей СP и его комплексно сопряженной копии, а также корреляцию и алгоритм Beek Beek дает хороший результат, но придумали его 20 лет назад! разве более эффективного(с точки зрения точности или вычислительных затрат) за 20 лет ничего не появилось? Или эта проблема исчерпала себя и ушли в использование тренировочных последовательностей и пилотов для синхры
|
|
|
|
|
Apr 12 2016, 11:16
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Ivan55 @ Apr 12 2016, 12:40)  Beek дает хороший результат, но придумали его 20 лет назад! разве более эффективного(с точки зрения точности или вычислительных затрат) за 20 лет ничего не появилось? Или эта проблема исчерпала себя и ушли в использование тренировочных последовательностей и пилотов для синхры Еще один 20-ти летний алгоритм, основанный на автокорреляции, который можно рассмотреть - метрика Schmidl-Cox: Robust frequency and timing synchronization for OFDM http://ieeexplore.ieee.org/xpl/articleDeta...arnumber=650240Я ее использовал для быстрого грубого детектирования наличия сигнала. Методы Van De Beek до сих пор продолжают развивать трудолюбивые корейцы: http://ieeexplore.ieee.org/xpl/abstractCit...mp;navigation=1Например, одна их относительно свежих (2008) статей http://ieeexplore.ieee.org/xpl/articleDeta...rnumber=4678083
Сообщение отредактировал andyp - Apr 12 2016, 14:03
|
|
|
|
|
Apr 13 2016, 18:45
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Ivan55 @ Apr 13 2016, 19:31)  andyp, спасибо за полезную информацию, кстати возник вопрос тоже рассматривал алгоритм SCA но ее метрика имеет неудобную форму, как вы по ней определяли начало полезной части символа? знаю что берут производную от метрики и там где идет плоская область производная близка к нулю, но при наличии шумов АБГШ там появляются искажения... как вы определяли? Буду благодарен за помощь в этом вопросе Я этот обнаружитель несколько не по прямому назначению использовал  - использовал с него грубую оценку частотного сдвига и собственно сам факт детекции периодического в моем случае сигнала. После него делал частотную коррекцию и искал известную преамбулу обычным согласованным фильтром вокруг позиции, найденной SCА. Плюсы этого подхода -Робастность SCA к многолучевости канала -Это позволило сузить область неопределенности и вычислительные затраты при поиске. -Улучшило статистику на выходе СФ, так как грубая оценка частотного сдвига у меня была до поиска СФ. -Метрика SC не зависит от мощности сигнала на входе, что тоже удобно. Точно оценивать временное положение сигнала с помощью SCA я бы не стал - там реально производная метрики по задержке в районе максимума маленькая, так что минимальный шум будет приводить к большой дисперсии оценки временного положения. PS Кстати, анализ показывает, что метрика Van De Beek примерно также плоха, как и SCA в случае, если мощность принимаемого сигнала постоянна - в обоих случаях задача сводится к поиску максимума модуля корреляции двух повторяющихся кусков сигнала.
Сообщение отредактировал andyp - Apr 13 2016, 18:57
|
|
|
|
|
May 5 2016, 05:37
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Всем доброго дня! Нашел одну интересную статью
wen2008__1_.pdf ( 710.07 килобайт )
Кол-во скачиваний: 115результат впечатляет, осталось тока понять что они делали  кто может помочь? попытался реализовать не получилось, смысл понял так что они делят символ на блоки по 16 отсчетов и эти блоки коррелируют формула (7). Может в формуле чего то нехватает, например непонятно что за m=1,2,... и в знаменателе второй корень почемуто без +N
|
|
|
|
|
May 5 2016, 08:38
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Ivan55 @ May 5 2016, 08:37)  Всем доброго дня! Нашел одну интересную статью
wen2008__1_.pdf ( 710.07 килобайт )
Кол-во скачиваний: 115результат впечатляет, осталось тока понять что они делали  кто может помочь? попытался реализовать не получилось, смысл понял так что они делят символ на блоки по 16 отсчетов и эти блоки коррелируют формула (7). Может в формуле чего то нехватает, например непонятно что за m=1,2,... и в знаменателе второй корень почемуто без +N Под корнем автор N похоже забыл. С помощью m=1,2,... автор попытался математическим языком выразить, сколько блочных корреляционных коэффициентов у него получается. Ну т.е. если разбить область его область поиска на блоки размером B (пусть N, L делится на B нацело), то у него всего (2N+L)/B блоков. Автор коррелирует блок с номером m с блоком с номером m+N/B. Итого у него получится (N+L)/B корр. коэффициентов.
|
|
|
|
|
May 5 2016, 09:09
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(andyp @ May 5 2016, 12:38)  Под корнем автор N похоже забыл. С помощью m=1,2,... автор попытался математическим языком выразить, сколько блочных корреляционных коэффициентов у него получается. Ну т.е. если разбить область его область поиска на блоки размером B (пусть N, L делится на B нацело), то у него всего (2N+L)/B блоков. Автор коррелирует блок с номером m с блоком с номером m+N/B. Итого у него получится (N+L)/B корр. коэффициентов. Ну вот смотрите я тут накидал код Код clear all; close all; clc;
%% Параметры модели B = 16; Nfft = 1024; Ng = Nfft/4; Nofdm = Ng+Nfft; % Параметры OFDM сигнала nCar = 312; Nbps = 4; M = 2^Nbps; Nsym = 30; % Колличество генерируемых OFDM символов H_QAM4=modem.qammod('M',M,'PhaseOffset', 0, 'SymbolOrder',... 'binary', 'InputType', 'bit'); Es = 1; A = (3/2/(M-1)*Es);
%% Формируем N символов OFDM сигнала tx = [];
fft_in = complex(zeros(Nfft,Nsym),zeros(Nfft,Nsym)); QAM = zeros(Nsym,nCar); In_Data = randi([0 1],Nsym,nCar*log2(M)); QAM = A*modulate(H_QAM4, In_Data'); fft_in(1:nCar/2,:) = QAM(1:nCar/2,:); fft_in(end-nCar/2+1:end,:) = QAM(nCar/2+1:end,:); fft_out = ifft(fft_in); tx = [fft_out(end-Ng+1:end,:); fft_out]'; tx = reshape(tx', 1, Nsym*Nofdm);
sig=awgn(tx, 20, 'measured', 'dB'); BuffObserv = zeros(1, 2*Nfft+Ng);
buff1 = zeros(1,length(sig)-Nofdm); P = []; for num = 1:floor(length(sig)/(2*Nfft+Ng)) BuffObserv = sig(1, (num-1)*(2*Nfft+Ng)+1:num*(2*Nfft+Ng)); for d = 0:(Nfft+Ng)/B-1 corr(d+1) = sum(BuffObserv(d*B+(1:B)).*conj(BuffObserv(d*B+(1:B)+Nfft))); energ(d+1) = sqrt(sum(abs(BuffObserv(d*B+(1:B)).^2))).*sqrt(sum(abs(BuffObserv(d*B+(1:B)+Nfft).^2))); end P = [P abs(corr./energ)]; end
plot(abs(P)); Правильно ли я реализовал то о чем там говорится?
|
|
|
|
|
May 5 2016, 09:19
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Ivan55 @ May 5 2016, 12:09)  Правильно ли я реализовал то о чем там говорится? Да вроде похоже на правду - короткие (длиной в guard) места с высокой корреляцией, а между ними мусор.
|
|
|
|
|
May 5 2016, 09:30
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(andyp @ May 5 2016, 13:19)  Да вроде похоже на правду - короткие (длиной в guard) места с высокой корреляцией, а между ними мусор. тогда есть несколько вопросов: 1. почему через каждые три идет широкий пик? 2. как определять начало символьного интервала?
Сообщение отредактировал Ivan55 - May 5 2016, 09:34
|
|
|
|
|
May 5 2016, 09:48
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Ivan55 @ May 5 2016, 12:30)  тогда есть несколько вопросов: 1. почему через каждые три идет широкий пик? 2. как определять начало символьного интервала? 1. Видимо, надо блоки (те что Observation Interval называются) с перекрытием Nfft брать. 2. Сравнивать с порогом если охота с точностью до длины блока, ну или по нескольким блокам усреднять, как авторы советуют, а потом сравнивать с порогом.
|
|
|
|
|
May 5 2016, 11:16
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(andyp @ May 5 2016, 13:48)  2. Сравнивать с порогом если охота с точностью до длины блока, ну или по нескольким блокам усреднять, как авторы советуют, а потом сравнивать с порогом. т.е. точность оценки будет равна длинне блока? если блок равен 16 то с точностью 16 отсчетов?
|
|
|
|
|
May 5 2016, 11:36
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Ivan55 @ May 5 2016, 14:16)  т.е. точность оценки будет равна длинне блока? если блок равен 16 то с точностью 16 отсчетов? Так в статье написано. Между блоками оценок корреляции нет.
|
|
|
|
|
May 5 2016, 11:41
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(andyp @ May 5 2016, 15:36)  Так в статье написано. Между блоками оценок корреляции нет. хм... странно, к чему тогда рисунок 6 в статье?
|
|
|
|
|
May 5 2016, 11:52
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Ivan55 @ May 5 2016, 14:41)  хм... странно, к чему тогда рисунок 6 в статье? Понятия не имею. Оценка корреляции получается одна на блок B. О том, где закоррелировало можно судить с точностью до плюс-минус B/2. PS Картинка от работы скрипта в приложении.
Сообщение отредактировал andyp - May 5 2016, 11:54
Эскизы прикрепленных изображений
|
|
|
|
Сообщений в этой теме
Ivan55 Beek algoritm Apr 11 2016, 17:52 KalashKS Аннотация в последней ссылке напомнила, что при ра... Apr 13 2016, 13:22 serjj Если нетрудно, киньте пару графиков, которые строи... May 5 2016, 11:46 Ivan55 Цитата(serjj @ May 5 2016, 15:46) Если не... May 5 2016, 12:27  Ivan55 Есть у кого какие идеи? May 10 2016, 03:24   Ivan55 как оценить SNR для расчета метрики Beek? Nov 30 2016, 09:18 KalashKS Большого смысла оценивать ОСШ нет, кроме того алго... Dec 1 2016, 10:45 Ivan55 Цитата(KalashKS @ Dec 1 2016, 13:45) Боль... Dec 1 2016, 12:08  KalashKS Реализованный алгоритм следит за частотой, а не за... Dec 1 2016, 12:32   Ivan55 Цитата(KalashKS @ Dec 1 2016, 15:32) Реал... Dec 1 2016, 12:43    KalashKS Да. Главное, чтобы колебания фазы на интервале оце... Dec 1 2016, 12:52     Ivan55 Цитата(KalashKS @ Dec 1 2016, 15:52) Да. ... Dec 1 2016, 12:56      KalashKS Цитата(Ivan55 @ Dec 1 2016, 15:56) это ск... Dec 1 2016, 13:05       Ivan55 Цитата(KalashKS @ Dec 1 2016, 16:05) Наст... Dec 1 2016, 13:09        petrov Цитата(Ivan55 @ Dec 1 2016, 16:09) у меня... Dec 1 2016, 13:56  quato_a Цитата(Ivan55 @ Dec 1 2016, 15:08) Резуль... Dec 3 2016, 06:28   Ivan55 Цитата(quato_a @ Dec 3 2016, 09:28) Чем м... Dec 5 2016, 08:26    quato_a Цитата(Ivan55 @ Dec 5 2016, 11:26) Длин п... Dec 5 2016, 16:42     Ivan55 Цитата(quato_a @ Dec 5 2016, 20:42) Вот п... Dec 6 2016, 09:44      quato_a Цитата(Ivan55 @ Dec 6 2016, 12:44) что за... Dec 6 2016, 13:44 KalashKS Пилоты для оценивания канала как размещены? Dec 1 2016, 13:10 Ivan55 Цитата(KalashKS @ Dec 1 2016, 16:10) Пило... Dec 1 2016, 13:22 KalashKS Если на периоде размещения пилотов фаза не будет у... Dec 1 2016, 15:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|