Нам нужны псевдослучайные часы с длиной N
, такие, что из каждых N
тактовых импульсов M
должны быть случайным образом равны нулю ( M<<N
). Что мы хотим сделать, так это сэмплировать сигнал случайным образом. Это означает, что из каждой N
точки выборки (из сетки Найквиста) нам нужно взять M
выборки. N-M
Затем посредством некоторой обработки и предположений о структуре сигнала восстанавливаются другие точки без дискретизации ( выборки). Теперь я использую регистры линейного сдвига, как показано ниже:
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Это работает хорошо, однако я не хочу равного распределения для 1 и 0, я имею в виду, что хочу, чтобы что-то вроде 20% тактовых циклов было 1, а 80% - нулем. Для этого я сделал AND
вывод двух схем, как показано выше, чтобы изменить вероятность с 50% для единиц и нулей до 25% для единиц и 75% для нулей (на рисунке ниже, с разными начальными значениями).
Это хорошо ценой удвоения мощности и площади чипа :( . Я ищу способ заставить систему работать только с 1 схемой случайного тактового генератора, а не с двумя.
Я думал сохранить случайную двоичную последовательность (длиной N
) в ПЗУ, а затем And
вывести ее с часами, чтобы сделать случайные часы.
Думайте о содержимом N-битного LFSR как о N-битном целом числе. Это число будет иметь равномерное распределение значений от 1 до 2 N - 1. Вы можете сгенерировать переменную плотность битов маски, сравнив это число с порогом, который вы также варьируете от 1 до 2 N - 1. Выход этого компаратора Маска часов, которую вы ищете.
Том Карпентер
б дегнан
МимСаад
Тони Стюарт EE75
Дэйв Твид
МимСаад
МимСаад
трубка
МимСаад