|
|
  |
деление больших чисел |
|
|
|
Nov 11 2013, 11:30
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 26-02-10
Из: Москва
Пользователь №: 55 683

|
Всем доброго времени суток, возникла необходимость выполнить операцию деления двух больших чисел порядка 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 бит.
помогите плиз=) заранее благодарю
|
|
|
|
|
Nov 11 2013, 12:14
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 26-02-10
Из: Москва
Пользователь №: 55 683

|
Цитата(Serg76 @ Nov 11 2013, 15:54)  зачем вам сигнал с такой разрядностью, для ЧМ 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 бит). Цитата(Mogwaika @ Nov 11 2013, 16:02)  1) Некоторые реализации декодеров не чувствительны к масштабированию; 2) Декодеры которые я делал хавали 6-бит сигнал с I Q после АРУ; 3) Моделирование показало, что в заданных режимах работы поправка от дисперсии незначительна.
Делитель слишком замедлит работу... сейчас буду моделировать... я согласен на 6 бит, но их нужно получить из деления двух больших чисел. что я пока себе представляю, это например перед делением числитель и знаменатель сдвинуть влево на некоторое число разрядов.
|
|
|
|
|
Nov 11 2013, 12:24
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 11-09-11
Пользователь №: 67 121

|
Цитата(Goose @ Nov 11 2013, 16:14)  Давайте представим так, есть два 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) больше бит может требоваться для многопозиционных созвездий, но для декодера мягкие решения идут от демодулятора который выдаст меньше бит.
Сообщение отредактировал Mogwaika - Nov 11 2013, 12:27
|
|
|
|
|
Nov 11 2013, 12:44
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 26-02-10
Из: Москва
Пользователь №: 55 683

|
Цитата(Mogwaika @ Nov 11 2013, 16:24)  1) Биты с шумом предусилителя я бы сразу отбросил; 2) Если вы собрались делать АРУ цифровым, то раз сигнал слабый, то вырезаете не старшие 8 бит, а средние... 3) Я не знаю как ведёт себя ядро зайлинкса, но большая разрядность требует больших ресурсов вполне может быть экспоненциального роста (+1 разряд = удвоение ресурсов) а прирост исправляющей способности никакой. 4) больше бит может требоваться для многопозиционных созвездий, но для декодера мягкие решения идут от демодулятора который выдаст меньше бит. 1)согласен 2)да это как раз можно делать вместо деления огромных чисел, но цифровое ару я не собирался делать. как раз хотел по простому. 3)это вообще то да, в скляре или прокисе говорилось что для мягких решений 3 бита надо, а все что больше дает прирост 0.2дБ в пределе если память мне не изменяет. в общем да, надо получить эти три бита. а они - это частное от деления, и сократить разрядности делимого и делителя можно либо слежением за ними либо ? видимо придется следить. 4)да это я понимаю.
|
|
|
|
|
Nov 11 2013, 12:49
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 11-09-11
Пользователь №: 67 121

|
Цитата(Goose @ Nov 11 2013, 16:44)  2)да это как раз можно делать вместо деления огромных чисел, но цифровое ару я не собирался делать. как раз хотел по простому. 3)это вообще то да, в скляре или прокисе говорилось что для мягких решений 3 бита надо, а все что больше дает прирост 0.2дБ в пределе если память мне не изменяет. в общем да, надо получить эти три бита. а они - это частное от деления, и сократить разрядности делимого и делителя можно либо слежением за ними либо ? видимо придется следить. 2) что-то мне подсказывает, что так не делают, ну да ладно... 3) 3 бита это всего 8 умножителей и компараторов... (или даже сумматоров или сдвигателе вместо умножителей)
Сообщение отредактировал Mogwaika - Nov 11 2013, 12:52
|
|
|
|
|
Nov 11 2013, 13:01
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 26-02-10
Из: Москва
Пользователь №: 55 683

|
Цитата(Mogwaika @ Nov 11 2013, 16:49)  2) что-то мне подсказывает, что так не делают, ну да ладно... 3) 3 бита это всего 8 умножителей и компараторов... (или даже сумматоров или сдвигателе вместо умножителей) так как по Вашему делают? я понимаю что это плохое решение
|
|
|
|
|
Nov 11 2013, 13:07
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 11-09-11
Пользователь №: 67 121

|
Цитата(Goose @ Nov 11 2013, 17:01)  так как по Вашему делают? я понимаю что это плохое решение Я думаю делают малошумящий предусилитель а потом усилитель с переменным показателем усиления.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|