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

 
 
> Устранение влияния длинного эха в COFDM, DVB-T
Wasja
сообщение Dec 5 2011, 13:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-02-06
Из: Минск
Пользователь №: 14 809



При разработке DVB-T приемника столкнулись с проблемой при работе с длинным мощным эхо-сигналом.
Необходимо обеспечить работоспособность приемника DVB-T при наличии эхо-сигнала такой же мощности (0 dB эхо) как основной сигнал, задержанного на время до 0,95 длины защитного интервала и не вносящего поворота фазы (0 градусов в центре канала). Для режима 2k максимальный сдвиг составляет 486,4 отсчета (при длине защитного интервала 1/4), для режима 8k – 1945,6 отсчетов.
Для коррекции частотной характеристики канала используется интерполяция значений пилотных несущих. Для DVB-T, собрав данные по 4 последовательным символам, можно получить 569 равномерно расположенных пилотных несущих, что теоретически позволяет исправить воздействие эха сигнала со сдвигом до 341,333 отсчетов для 2k и до 1365,333 отсчетов для 8k. В реальности максимальное значение ниже и зависит от способа интерполяции. Таким образом, этим способом компенсация воздействия максимально сдвинутого эхо-сигнала невозможна.
Может ли сообщество подсказать в какую сторону двигаться для решения этой проблемы?
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3 >  
Start new topic
Ответов (15 - 29)
Fast
сообщение Dec 9 2011, 13:56
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(alex_os @ Dec 9 2011, 14:14) *
Не понял какой суммы? С H понятно что делать. Поэлементно инвертировать и умножить на выход fft. И дальше на демодулятор. А адаптивный фильтр какой? Типа LMS и где он находится ? До FFT ? И как его обучать?
не-не, простой коррекцией АЧХ и ФЧХ не обойтись, нужно именно компенсировать влияние эхо-сигнала, который является тем же самым сигналом что и передавался, только задержанным на dt и "умноженным" на H

у меня сейчас просто нет времени смоделировать весь процесс, хотя задачка очень интересная и важная
в двух словах:
для конца символа имеем Sx = S0*H0 + Se*He
где S0 - исходный сигнал, H0 - передаточная характеристика канала для сигнала
где Se - сигнал эха, He - передаточная характеристика эха

для повторения конца символа, где 5% остаток без эха: Sy = S0*H0


Sx = S0*H0 + Se*He
Sy = S0*H0

Se*He - (Sx - Sy) = 0

Se = S0(-dT)
S0(-dT)*H` - (Sx - Sy) = err

необходимо обучить H` для err => 0. сколько потребуется OFDM-символов зависит от С/Ш и уровня эха
h`(t) = h`(t-1) + err*k;


Sx и Sy - это, соотв, 5% фрагменты символа, которые повторяется в конце, т.е. Sx - с эхом, Sу - без
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 9 2011, 14:32
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Все должно работать!

1) Не 1/4 поднесущих полностью обнулится а гораздо меньшее количество, естественно
подразумевается что SNR очень велик.

2) FEC 1/2 модуляция QPSK.

Здесь код
Прикрепленный файл  channel_estimator.zip ( 1.9 килобайт ) Кол-во скачиваний: 85


2 Fast.

Т.е. Вы предлагаете построить линейный фильтр который выделит эхо и потом это эхо вычесть из сигнала?
В этом случае ничего хорошего не получится. Что будет представлять из себя АЧХ такого фильтра? Это будет
что-то вроде инверсии AЧХ канала. Соответственно если в спектре нули ....




Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Wasja
сообщение Dec 12 2011, 06:23
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-02-06
Из: Минск
Пользователь №: 14 809



Цитата(Fast @ Dec 9 2011, 16:56) *
у меня сейчас просто нет времени смоделировать весь процесс, хотя задачка очень интересная и важная
в двух словах:
для конца символа имеем Sx = S0*H0 + Se*He
где S0 - исходный сигнал, H0 - передаточная характеристика канала для сигнала
где Se - сигнал эха, He - передаточная характеристика эха

для повторения конца символа, где 5% остаток без эха: Sy = S0*H0


Sx = S0*H0 + Se*He
Sy = S0*H0

Se*He - (Sx - Sy) = 0

Se = S0(-dT)
S0(-dT)*H` - (Sx - Sy) = err

необходимо обучить H` для err => 0. сколько потребуется OFDM-символов зависит от С/Ш и уровня эха
h`(t) = h`(t-1) + err*k;

Sx и Sy - это, соотв, 5% фрагменты символа, которые повторяется в конце, т.е. Sx - с эхом, Sу - без

Возможно я не совсем корректно выразился, но эхо в сигнале присутствует всегда.

Прикрепленное изображение


Поэтому на этих 5% это будет не чистый сигнал - а сумма основного и эхо сигналов одного символа (Si). А на 95% - сумма разных символов - основной сигнал символ Si+1, эхо-сигнал символ Si.
Т.е. частотная характеристика этих 5% защитного интервала не будет отличатся от частотной характеристики в самом символе.

Сообщение отредактировал Wasja - Dec 12 2011, 06:47
Go to the top of the page
 
+Quote Post
Fast
сообщение Dec 12 2011, 07:05
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(alex_os @ Dec 9 2011, 18:32) *
Т.е. Вы предлагаете построить линейный фильтр который выделит эхо и потом это эхо вычесть из сигнала?
В этом случае ничего хорошего не получится. Что будет представлять из себя АЧХ такого фильтра? Это будет
что-то вроде инверсии AЧХ канала. Соответственно если в спектре нули ....
это будет линейный фильтр, через который пропускается S(t-dT), и вычитается из S(t)
S`(t) = S(t) - S(t-dT)*H`
будет ли это "что-то вроде инверсии АЧХ канала" - сомневаюсь


Цитата(Wasja @ Dec 12 2011, 10:23) *
Поэтому на этих 5% это будет не чистый сигнал - а сумма основного и эхо сигналов одного символа (Si). А на 95% - сумма разных символов - основной сигнал символ Si+1, эхо-сигнал символ Si.
Т.е. частотная характеристика этих 5% защитного интервала не будет отличатся от частотной характеристики в самом символе.
тогда нужен другой критерий для минимизации ошибки. например, С/Ш.
точную эхо-задержку можно найти по АКФ
далее решать
S`(t) = S(t) - S(t-dT)*h`
snr->max

решение где-то рядом, только надо упорно ковырять

p.s.
Wasja , Вы уже попробовали способ , предложенный alex_os ?
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 12 2011, 07:22
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Fast @ Dec 12 2011, 10:05) *
это будет линейный фильтр, через который пропускается S(t-dT), и вычитается из S(t)
S`(t) = S(t) - S(t-dT)*H`


Я правильно понимаю что?
S(t) - принятый сигнал
S'(t) - oценка эха.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Fast
сообщение Dec 12 2011, 07:26
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(alex_os @ Dec 12 2011, 11:22) *
Я правильно понимаю что?
S(t) - принятый сигнал
S'(t) - oценка эха.

S(t) - принятый сигнал
S'(t) - очищенный от эха
S(t-dT)*H` - оценка эха
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 12 2011, 07:42
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Fast @ Dec 12 2011, 10:26) *
S(t) - принятый сигнал
S'(t) - очищенный от эха
S(t-dT)*H` - оценка эха


Хорошо, в спектральной области имеем на входе канала имеем Sx(jw)
На выходе канала S(jw) = Sx(jw)*(1+exp(-1jw*delay)), тогда
H(jw) = Sx(jw) * exp(-1jw*delay) / S(jw) = exp( -1j*w*delay ) / ( 1+exp(-1j*w*delay) ).

Так, что деление на числа близкие к нулю будет присутствовать в том или ином месте sm.gif.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Fast
сообщение Dec 12 2011, 08:03
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(alex_os @ Dec 12 2011, 11:42) *
Так, что деление на числа близкие к нулю будет присутствовать в том или ином месте sm.gif.
ну и что, в радиоканале вечная проблема вытянуть спектральные нули. просто не надо делить на ноль sm.gif
т.е. это уже совсем другая проблема
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 12 2011, 09:04
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Fast @ Dec 12 2011, 11:03) *
ну и что, в радиоканале вечная проблема вытянуть спектральные нули. просто не надо делить на ноль sm.gif
т.е. это уже совсем другая проблема

Т.е Вы настаиваете на том, что возможен другой, лучший чем традиционный способ декодированая OFDM sm.gif ?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Wasja
сообщение Dec 12 2011, 09:07
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-02-06
Из: Минск
Пользователь №: 14 809



Цитата(Fast @ Dec 12 2011, 10:05) *
Wasja , Вы уже попробовали способ , предложенный alex_os ?

В процессе. Но при QAM-64 результат не радует.
Прикидываю возможность повышения точности при усреднении частотных оценок.

Для 2k-точек (используется 1705 несущих), режим модуляции QPSK после второго исправления получается такая картинка, длина эха 0,95 защитного интервала:
Прикрепленное изображение

(синий - реальная составляющая спектра, красный - мнимая).

При меньших сдвигах эха - картинки получаются красивее.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 12 2011, 09:21
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Wasja @ Dec 12 2011, 12:07) *
В процессе. Но при QAM-64 результат не радует.

При меньших сдвигах эха - картинки получаются красивее.


А Вы звездочку так нарисуйте нагляднее будет.
Код
        plot(x, 'х');


Вообще наилучший метод оценки канала считается MMSE. Только он сильно затратный в вычислительном плане.
Прикрепленный файл  999.pdf ( 520.22 килобайт ) Кол-во скачиваний: 208


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Wasja
сообщение Dec 12 2011, 10:21
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-02-06
Из: Минск
Пользователь №: 14 809



Цитата(alex_os @ Dec 12 2011, 12:21) *
А Вы звездочку так нарисуйте нагляднее будет.

Можно и звездочку:

Прикрепленное изображение


Цитата(alex_os @ Dec 12 2011, 12:21) *
Вообще наилучший метод оценки канала считается MMSE. Только он сильно затратный в вычислительном плане.

Дойдет время и до оценки, пока бы функционал проверить...
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 12 2011, 10:34
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Wasja @ Dec 12 2011, 13:21) *
Можно и звездочку:

Прикрепленное изображение


FEC справляется с ошибками?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Wasja
сообщение Dec 12 2011, 10:36
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-02-06
Из: Минск
Пользователь №: 14 809



Цитата(alex_os @ Dec 12 2011, 10:42) *
Хорошо, в спектральной области имеем на входе канала имеем Sx(jw)
На выходе канала S(jw) = Sx(jw)*(1+exp(-1jw*delay)), тогда
H(jw) = Sx(jw) * exp(-1jw*delay) / S(jw) = exp( -1j*w*delay ) / ( 1+exp(-1j*w*delay) ).

По-моему вернее так:
H(jw) = S(jw) / Sx(jw) = Sx(jw)*(1+exp(-1jw*delay)) / Sx(jw) = 1+exp(-1jw*delay)
Исправление тогда будет осуществляться по формуле:
Sx(jw) = S(jw) / H(jw) = S(jw) / ( 1+exp(-1j*w*delay) )
Соотвественно, точность такого исправления целиком и полностью будет зависеть от точности определения "delay" - небольшой сдвиг даст нелинейные искажения.
К тому же вопрос как такое исправление поведет себя при наличии нескольких эхо сигналов (меньшей мощности).

Цитата(alex_os @ Dec 12 2011, 10:42) *
Так, что деление на числа близкие к нулю будет присутствовать в том или ином месте sm.gif.

Да, они везде вылазят. fman.gif
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 12 2011, 10:57
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Wasja @ Dec 12 2011, 13:36) *
По-моему вернее так:
H(jw) = S(jw) / Sx(jw) = Sx(jw)*(1+exp(-1jw*delay)) / Sx(jw) = 1+exp(-1jw*delay)
Исправление тогда будет осуществляться по формуле:
Sx(jw) = S(jw) / H(jw) = S(jw) / ( 1+exp(-1j*w*delay) )
Соотвественно, точность такого исправления целиком и полностью будет зависеть от точности определения "delay" - небольшой сдвиг даст нелинейные искажения.
К тому же вопрос как такое исправление поведет себя при наличии нескольких эхо сигналов (меньшей мощности).


Да, они везде вылазят. fman.gif


Все правильно, природу не обманешь!
Если какая-то несущая в результате фединга просела глубоко под шум, то никак
ее не восстановить. Остается только правильно посчитать значения мягких метрик
для данной несущей, чтобы влияние ее на процесс декодирования ПУ кода, было не велико.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 19:58
Рейтинг@Mail.ru


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