balakhonoff 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба Всем доброго времени суток, возникла необходимость выполнить операцию деления двух больших чисел порядка 80 бит на 80 бит. Если точнее, то это необходимость возникла скорее из-за того, что я не могу придумать другого решения задачи: в общем пытаюсь использовать турбо декодер ксилинксовый, мягкие решения и мягкий вход соответственно. поэтому на него нужно подавать логарифмическое отношение правдоподобия. опуская вывод, нужно сформировать для декодера соотношение u*x/sigma^2, где u- матожидание логической единицы, sigma^2 - дисперсия, x - само значение текущее. величины u, x примерно 40бит каждая, величина sigma^2 примерно 80 бит. вход декодера - это число с фиксированной точкой (2..5 бита на целую часть и 1..4 бита на дробную). получается что надо делить 80 бит на 80 бит если в тупую. но мне кажется как то можно более просто сделать, но не могу пока придумать как. числа такой большой разрядности получаются из-за: I,Q 20 битные, а после частотного дискриминатора (операция I*Qdelayed - Q*Idelayed) разрядность уже 40 бит. помогите плиз=) заранее благодарю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба зачем вам сигнал с такой разрядностью, для ЧМ 8 бит "за глаза" хватит, С/Ш вашего сигнала скорее всего гораздо меньше, чем ДД 8-ми разрядного квантователя. Кроме того, посмотрите даташиты на фирменные декодеры, там разрядность выше 8-ми бит не используется, т.к. в этом нет никакого практического смысла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mogwaika 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба 1) Некоторые реализации декодеров не чувствительны к масштабированию; 2) Декодеры которые я делал хавали 6-бит сигнал с I Q после АРУ; 3) Моделирование показало, что в заданных режимах работы поправка от дисперсии незначительна. Делитель слишком замедлит работу... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
balakhonoff 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба зачем вам сигнал с такой разрядностью, для ЧМ 8 бит "за глаза" хватит, С/Ш вашего сигнала скорее всего гораздо меньше, чем ДД 8-ми разрядного квантователя. Кроме того, посмотрите даташиты на фирменные декодеры, там разрядность выше 8-ми бит не используется, т.к. в этом нет никакого практического смысла. Давайте представим так, есть два 14-разрядных АЦП (I и Q). То есть сигнал может быть, например, в диапазоне -2 до +2 или -8192 до 8191 (все зависит от дальности передатчика). после частотного дискриминатора: уровень логической единицы может быть как например 4, так и 2^13*2^13 = 67108864. То есть 28 бит. и u*x это 56 бит и sigma^2 это 56 бит. О каких 8 битах Вы говорите? ведь в данном случае чем больше ДД ацп, тем больше дальность можно получить. вот на входе декодера действительно нужно немного (до 9 бит). 1) Некоторые реализации декодеров не чувствительны к масштабированию; 2) Декодеры которые я делал хавали 6-бит сигнал с I Q после АРУ; 3) Моделирование показало, что в заданных режимах работы поправка от дисперсии незначительна. Делитель слишком замедлит работу... сейчас буду моделировать... я согласен на 6 бит, но их нужно получить из деления двух больших чисел. что я пока себе представляю, это например перед делением числитель и знаменатель сдвинуть влево на некоторое число разрядов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mogwaika 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 (изменено) · Жалоба Давайте представим так, есть два 14-разрядных АЦП (I и Q). То есть сигнал может быть, например, в диапазоне -2 до +2 или -8192 до 8191 (все зависит от дальности передатчика). после частотного дискриминатора: уровень логической единицы может быть как например 4, так и 2^13*2^13 = 67108864. То есть 28 бит. и u*x это 56 бит и sigma^2 это 56 бит. О каких 8 битах Вы говорите? ведь в данном случае чем больше ДД ацп, тем больше дальность можно получить. 1) Биты с шумом предусилителя я бы сразу отбросил; 2) Если вы собрались делать АРУ цифровым, то раз сигнал слабый, то вырезаете не старшие 8 бит, а средние... 3) Я не знаю как ведёт себя ядро зайлинкса, но большая разрядность требует больших ресурсов вполне может быть экспоненциального роста (+1 разряд = удвоение ресурсов) а прирост исправляющей способности никакой. 4) больше бит может требоваться для многопозиционных созвездий, но для декодера мягкие решения идут от демодулятора который выдаст меньше бит. Изменено 11 ноября, 2013 пользователем Mogwaika Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
balakhonoff 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба 1) Биты с шумом предусилителя я бы сразу отбросил; 2) Если вы собрались делать АРУ цифровым, то раз сигнал слабый, то вырезаете не старшие 8 бит, а средние... 3) Я не знаю как ведёт себя ядро зайлинкса, но большая разрядность требует больших ресурсов вполне может быть экспоненциального роста (+1 разряд = удвоение ресурсов) а прирост исправляющей способности никакой. 4) больше бит может требоваться для многопозиционных созвездий, но для декодера мягкие решения идут от демодулятора который выдаст меньше бит. 1)согласен 2)да это как раз можно делать вместо деления огромных чисел, но цифровое ару я не собирался делать. как раз хотел по простому. 3)это вообще то да, в скляре или прокисе говорилось что для мягких решений 3 бита надо, а все что больше дает прирост 0.2дБ в пределе если память мне не изменяет. в общем да, надо получить эти три бита. а они - это частное от деления, и сократить разрядности делимого и делителя можно либо слежением за ними либо ? видимо придется следить. 4)да это я понимаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mogwaika 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 (изменено) · Жалоба 2)да это как раз можно делать вместо деления огромных чисел, но цифровое ару я не собирался делать. как раз хотел по простому. 3)это вообще то да, в скляре или прокисе говорилось что для мягких решений 3 бита надо, а все что больше дает прирост 0.2дБ в пределе если память мне не изменяет. в общем да, надо получить эти три бита. а они - это частное от деления, и сократить разрядности делимого и делителя можно либо слежением за ними либо ? видимо придется следить. 2) что-то мне подсказывает, что так не делают, ну да ладно... 3) 3 бита это всего 8 умножителей и компараторов... (или даже сумматоров или сдвигателе вместо умножителей) Изменено 11 ноября, 2013 пользователем Mogwaika Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
balakhonoff 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба 2) что-то мне подсказывает, что так не делают, ну да ладно... 3) 3 бита это всего 8 умножителей и компараторов... (или даже сумматоров или сдвигателе вместо умножителей) так как по Вашему делают? я понимаю что это плохое решение Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба Даже самого простого АРУ будет достаточно, чтобы обрабатывать ЧМ, нежели "двигать" эти громоздкие комбинации битов. Это, все-таки, не КАМ, где необходима линейная АРУ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mogwaika 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба так как по Вашему делают? я понимаю что это плохое решение Я думаю делают малошумящий предусилитель а потом усилитель с переменным показателем усиления. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corner 0 18 ноября, 2013 Опубликовано 18 ноября, 2013 · Жалоба 80 бит для ЧМ не имеет никакого смысла. Надо перевести в некую условно плавающую точку с 8... 10 бит мантисса. Высчитать порядок и округлить результат. Такой формат очень просто делить. Нужен делитель на 16... 20 бит и вычитатель. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться