Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритм работы аддитивного скремблера и блокового кодера хэмминга
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
mesat88
Объясните пожалуйста как трансформируется вид скремблера который оперирует битами в скремблер, который будет оперировать байтом за такт (где для каждого бита будет свое значение скремблера) - нужно сделать для понижения частоты работы. Нашел только сайт, который генерирует код, а описание теории не могу найти.
Тоже самое нужно для блокового кодера хэмминга, как происходит распараллеливание для побайтной работы?
Буду признателен за книжки с описанием или за изложение способа реализации самого метода.
des00
Цитата(mesat88 @ Sep 21 2012, 04:20) *
Объясните пожалуйста как трансформируется вид скремблера который оперирует битами в скремблер, который будет оперировать байтом за такт (где для каждого бита будет свое значение скремблера) - нужно сделать для понижения частоты работы. Нашел только сайт, который генерирует код, а описание теории не могу найти.
Тоже самое нужно для блокового кодера хэмминга, как происходит распараллеливание для побайтной работы?
Буду признателен за книжки с описанием или за изложение способа реализации самого метода.

да какие книги, тут банальная логика здравого смысла, ручками распишите первые 8 бит работы вашего скремблера со временными индексами состояния скремблера и сразу станет ясно.
Gold777
У вас для каждого бита в байте, который приходит за такт, будут меняться коэффициенты полинома для скремблера и кодера (т.е. 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;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.