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

 
 
> Алгоритм работы аддитивного скремблера и блокового кодера хэмминга, как сделать из битного байтный и понизить частоту работы
mesat88
сообщение Sep 21 2012, 10:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 29-09-10
Из: Москва
Пользователь №: 59 832



Объясните пожалуйста как трансформируется вид скремблера который оперирует битами в скремблер, который будет оперировать байтом за такт (где для каждого бита будет свое значение скремблера) - нужно сделать для понижения частоты работы. Нашел только сайт, который генерирует код, а описание теории не могу найти.
Тоже самое нужно для блокового кодера хэмминга, как происходит распараллеливание для побайтной работы?
Буду признателен за книжки с описанием или за изложение способа реализации самого метода.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Gold777
сообщение Sep 21 2012, 15:21
Сообщение #2


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

Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022



У вас для каждого бита в байте, который приходит за такт, будут меняться коэффициенты полинома для скремблера и кодера (т.е. 8 раз такт) .
Как пример приведу часть vhdl кода расчета синдромов для однобитного и 8-ми битного БЧХ декодера
Однобитный:
Код
            if(clk'event and clk='1')then -один такт
                if counter = 0 then
                    for i in 0 to 7 loop
                        s(i*2+1):= (v & datain1);
                    end loop;
                else
                    for i in 0 to 7 loop
                        s(i*2+1):= (v & datain1) xor gf_mult_2053(s(i*2+1),alfa(i*2+1));
                    end loop;
                end if;
            end if;

Восьмибитный:
Код
                if(clk'event and clk='1')then -один такт
                    for k in 0 to 7 loop
                        if counter = 0 and k = 0 then
                            for i in 0 to t-1 loop
                                s(i*2+1):= (v & datain1(k));
                            end loop;    
                        else
                            for i in 0 to t-1 loop
                                s(i*2+1):= (v & datain1(k)) xor gf_mult_2053(s(i*2+1),alfa(i*2+1));
                            end loop;    
                        end if;
                    end loop;
                end if;


Сообщение отредактировал Gold777 - Sep 21 2012, 17:13
Go to the top of the page
 
+Quote Post



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

 


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


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