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

 
 
> LDPC код из стандарта DVB-S2, BER, отношение сигнал-шум, DVB-S2, LDPC
Vehfl
сообщение Nov 13 2012, 10:33
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 9-11-12
Пользователь №: 74 305



Есть программа на C++ для моделирования кодов LDPC для стандарта DVB-S2, в программе есть матрицы из стандарта, задающие коды, есть модем и канал связи с возможностью установки отношения Eb/No. Для всех кодов кроме скоростей 2/5, 1/3, 1/4 получились приемлимые графики зависимости BER (Bit Error Rate) от Eb/No, сходящиеся с теоретическими из статей. Для скоростей 1/4, 1/3, 2/5 декодер не работает, сам добавляет ошибки даже, если в канале ошибок не было. Может это опечатка в матрицах, взятых из стандарта. Ниже приведен стандарт. Не знаете с чем может быть связано, что не работают три скорости?
Прикрепленные файлы
Прикрепленный файл  DVB_S2_en_302307v010201p.pdf ( 682.13 килобайт ) Кол-во скачиваний: 181
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Serg76
сообщение Nov 13 2012, 13:59
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(Vehfl @ Nov 13 2012, 13:33) *
Есть программа на C++ для моделирования кодов LDPC для стандарта DVB-S2, в программе есть матрицы из стандарта, задающие коды, есть модем и канал связи с возможностью установки отношения Eb/No. Для всех кодов кроме скоростей 2/5, 1/3, 1/4 получились приемлимые графики зависимости BER (Bit Error Rate) от Eb/No, сходящиеся с теоретическими из статей. Для скоростей 1/4, 1/3, 2/5 декодер не работает, сам добавляет ошибки даже, если в канале ошибок не было. Может это опечатка в матрицах, взятых из стандарта. Ниже приведен стандарт. Не знаете с чем может быть связано, что не работают три скорости?

Промоделировал своими средствами для QPSK 1/4 при разных С/Ш - все работает, ошибки исправляются. Ищите ошибки в модели. Товарищи, которые делали по стандарту, говорят, что в матрицах опечаток нет.
Go to the top of the page
 
+Quote Post
Vehfl
сообщение Nov 13 2012, 16:24
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 9-11-12
Пользователь №: 74 305



Цитата(Serg76 @ Nov 13 2012, 17:59) *
Промоделировал своими средствами для QPSK 1/4 при разных С/Ш - все работает, ошибки исправляются. Ищите ошибки в модели. Товарищи, которые делали по стандарту, говорят, что в матрицах опечаток нет.

Случайно не в матлабе моделировали? У меня в матлабе при отношении С/Ш=0, BER=0. Ведь физически такого не может быть?

Код программы в матлабе:
CODE
format long
clear all;

r=2/3
H = dvbs2ldpc®;
%e=0
% spy(H); % Visualize the location of nonzero elements in H.

% Construct a default LDPC encoder object
henc = fec.ldpcenc(H);

for SNRdB = 0

for n=1:100;
% Generate a random binary message
msg = randint(1,henc.NumInfoBits,2);

% Encode the message
codeword = encode(henc, msg);

% Verify the parity checks (which should be a zero vector)
paritychecks = mod(henc.ParityCheckMatrix * codeword', 2);

hdec = fec.ldpcdec(H);

% Construct a BPSK modulator object
modObj = modem.pskmod('M',2,'InputType','Bit');

% Modulate the signal (map bit 0 to 1 + 0i, bit 1 to -1 + 0i)
modulatedsig = modulate(modObj, codeword);

% Noise parameters

sigma = sqrt(10^(-SNRdB/10));

% Transmit signal through AWGN channel
receivedsig = awgn(modulatedsig, SNRdB, 0); % Signal power = 0 dBW

% % Visualize received signal
% scatterplot(receivedsig)

% Construct a BPSK demodulator object to compute
% log-likelihood ratios
demodObj = modem.pskdemod(modObj,'DecisionType','LLR', ...
'NoiseVariance',sigma^2);

% Compute log-likelihood ratios (AWGN channel)
llr = demodulate(demodObj, receivedsig);

% Decode received signal
decodedmsg = decode(hdec, llr);

N_err=nnz(decodedmsg-msg);

% % Actual number of iterations executed
% disp(['Number of iterations executed = ' ...
% num2str(hdec.ActualNumIterations)]);
% % Number of parity-checks violated
% disp(['Number of parity-checks violated = ' ...
% num2str(sum(hdec.FinalParityChecks))]);
% % Compare with original message
% disp(['Number of bits incorrectly decoded = ' ...
% num2str(N_err)])


a(n)=N_err; % Общее количество ошибок

end

BER=sum(a)/(n*henc.NumInfoBits)


end
BER
FER=(nnz(a))/n
Go to the top of the page
 
+Quote Post
Mogwaika
сообщение Nov 13 2012, 16:49
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 11-09-11
Пользователь №: 67 121



Цитата(Vehfl @ Nov 13 2012, 20:24) *
Случайно не в матлабе моделировали? У меня в матлабе при отношении С/Ш=0, BER=0. Ведь физически такого не может быть?


Почему не может? у меня 9.259259259259259e-07 получилось... а могло и не получиться.
Запускайте подольше и параллельно несколько потоков.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vehfl   LDPC код из стандарта DVB-S2   Nov 13 2012, 10:33
|- - Serg76   Цитата(Vehfl @ Nov 13 2012, 19:24) У меня...   Nov 13 2012, 17:18
- - Serg76   программная модель на C++. попробовал пару режимов...   Nov 13 2012, 16:30
- - slash_spb   У вас реализация с плавающей точкой? В реализациях...   Nov 15 2012, 15:49
|- - Serg76   Цитата(slash_spb @ Nov 15 2012, 19:49) У ...   Nov 15 2012, 16:52
|- - Vehfl   Цитата(slash_spb @ Nov 15 2012, 18:49) У ...   Nov 19 2012, 08:58
|- - slash_spb   Цитата(Vehfl @ Nov 19 2012, 11:58) Пожалу...   Nov 20 2012, 07:37
- - icyrock   Стандарт точен. Я сам проверял (у меня собственная...   Nov 19 2012, 08:44
- - Vehfl   Не могли бы поделиться алгоритмом декодирования ко...   Nov 22 2012, 13:03
|- - slash_spb   Цитата(Vehfl @ Nov 22 2012, 16:03) Не мог...   Nov 22 2012, 15:31
|- - Vehfl   Цитата(slash_spb @ Nov 22 2012, 18:31) Ва...   Nov 26 2012, 15:18
|- - Vehfl   Цитата(slash_spb @ Nov 22 2012, 18:31) Ал...   Nov 28 2012, 09:37
|- - slash_spb   Цитата(Vehfl @ Nov 28 2012, 12:37) Был бы...   Nov 29 2012, 14:47
|- - Vehfl   Цитата(slash_spb @ Nov 29 2012, 17:47) Не...   Nov 30 2012, 06:54
|- - slash_spb   Цитата(Vehfl @ Nov 30 2012, 09:54) Спасиб...   Nov 30 2012, 07:42
|- - Vehfl   Цитата(slash_spb @ Nov 30 2012, 10:42) Ду...   Nov 30 2012, 11:05
|- - slash_spb   Цитата(Vehfl @ Nov 30 2012, 14:05) Тогда ...   Dec 5 2012, 09:50
- - dimez   Могу выправить вам алгоритм и проконсультировать, ...   Nov 27 2012, 05:12
- - agate   А в RTL кто нибудь имеет DVB-S2 декодер?   Nov 30 2012, 02:42
- - Neznaika   Не стал открывать новую ветку. Встала задача по ре...   Jan 20 2014, 09:14
|- - Dr.Alex   Цитата(Neznaika @ Jan 20 2014, 13:14) Не ...   Jan 21 2014, 08:45
- - Serg76   Придется Вам еще почитать, потому как для этих код...   Jan 20 2014, 11:19
- - Neznaika   Я не против почитать, но было бы чего... Оперирова...   Jan 21 2014, 06:58
- - Serg76   Не надо, как говорится, рассказывать сказки, литер...   Jan 21 2014, 07:31
- - Neznaika   Спасибо за ответы) Со стандарта я конечно же и нач...   Jan 21 2014, 11:56
|- - Dr.Alex   Цитата(Neznaika @ Jan 21 2014, 15:56) Мне...   Jan 21 2014, 22:00
|- - SKov   Цитата(Dr.Alex @ Jan 22 2014, 02:00) ..эт...   Jan 22 2014, 12:57
|- - Dr.Alex   Цитата(SKov @ Jan 22 2014, 16:57) Интерес...   Jan 22 2014, 17:12
|- - SKov   Цитата(Dr.Alex @ Jan 22 2014, 21:12) Да х...   Jan 22 2014, 18:01
- - Neznaika   Спасибо) В целом стратегия понятна. Любопытно все-...   Jan 22 2014, 05:53
- - Neznaika   В процессе реализации кодера возник небольшой вопр...   Jan 28 2014, 08:37
|- - Dr.Alex   Эхе-хе.... Незнайка - Незнайка.. Откуда вы всё это...   Jan 28 2014, 20:14
- - Neznaika   Да-да) До вчерашнего вечера я думал что при 1/2 в...   Jan 29 2014, 06:13
|- - _Anatoliy   Цитата(Neznaika @ Jan 29 2014, 08:13) Пок...   Jan 29 2014, 07:01
|- - Neznaika   Цитата(_Anatoliy @ Jan 29 2014, 11:01) А ...   Jan 29 2014, 08:16
|- - _Anatoliy   Цитата(Neznaika @ Jan 29 2014, 10:16) Дей...   Jan 29 2014, 08:38
- - Serg76   Мдя..., это по нашему. Вместо того, чтобы изучить ...   Jan 29 2014, 07:14
|- - Dr.Alex   Присоединяюсь, в стандарте всё это есть. Кстати и ...   Jan 29 2014, 07:59
- - Neznaika   И снова здравствуйте! Были сделаны 2 варианта ...   Feb 19 2014, 09:06
|- - Maverick   Цитата(Neznaika @ Feb 19 2014, 11:06) И с...   Feb 19 2014, 09:22
- - andyp   Не знаток DVD-S2 кода, но: Shift Value с Figure ...   Feb 19 2014, 09:52
- - Neznaika   "The shuffling offsets and addresses ca...   Feb 19 2014, 11:07
- - andyp   Думал долго... Для меня тоже. Как работает shuffli...   Feb 19 2014, 21:36
|- - Dr.Alex   Цитата(andyp @ Feb 20 2014, 01:36) Думал ...   Feb 19 2014, 22:02
|- - andyp   Цитата(Dr.Alex @ Feb 20 2014, 02:02) Сове...   Feb 19 2014, 23:42
|- - Dr.Alex   Цитата(andyp @ Feb 20 2014, 03:42) Не уве...   Feb 20 2014, 00:00
|- - andyp   Цитата(Dr.Alex @ Feb 20 2014, 04:00) А ва...   Feb 20 2014, 10:26
- - Neznaika   Спасибо за ответы) Пока не верю в случайность чисе...   Feb 20 2014, 06:44
- - Neznaika   Всем привет! Подниму в очередной раз эту тему....   Jun 19 2014, 06:46
- - AspireSky   Добрый день уважаемые форумчане Помогите плиз.. с ...   Jun 29 2014, 11:21
|- - Maverick   Цитата(AspireSky @ Jun 29 2014, 14:21) До...   Jun 29 2014, 15:04
|- - AspireSky   Цитата(Maverick @ Jun 29 2014, 18:04) пос...   Jun 29 2014, 18:29
- - Neznaika   Всем привет! Подниму ка я снова эту тему. Сдел...   Dec 9 2014, 14:13
|- - Dr.Alex   Нет возможности (да наверно и необходимости) разби...   Dec 9 2014, 14:48
|- - petrov   Цитата(Neznaika @ Dec 9 2014, 17:13) Было...   Dec 9 2014, 14:51
- - Neznaika   В моделе на С++ я ко входному сигналу декодера доб...   Dec 10 2014, 06:41
|- - Dr.Alex   Цитата(Neznaika @ Dec 10 2014, 10:41) Воз...   Dec 10 2014, 07:08
|- - Neznaika   Цитата(Dr.Alex @ Dec 10 2014, 11:08) Заме...   Dec 10 2014, 07:49
|- - Dr.Alex   Цитата(Neznaika @ Dec 10 2014, 11:49) Кон...   Dec 10 2014, 09:09
|- - Neznaika   Цитата(Dr.Alex @ Dec 10 2014, 13:09) Мда,...   Dec 10 2014, 09:32
|- - Dr.Alex   Цитата(Neznaika @ Dec 10 2014, 13:32) раз...   Dec 10 2014, 09:44
|- - Neznaika   Цитата(Dr.Alex @ Dec 10 2014, 13:44) Непр...   Dec 10 2014, 10:40
|- - Dr.Alex   Да. Или проще —20log(sigma)   Dec 10 2014, 10:52
- - des00   в матлабе же есть DVB-S2 LDPC кодеры, собрать стен...   Dec 10 2014, 06:45
- - Tpeck   Всем доброго времени суток. Вот и меня настигла да...   Oct 5 2017, 15:36


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 09:46
Рейтинг@Mail.ru


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