Автор |
Сообщение |
|
Дата: 03 Июн 2008 16:24:23
#
Суть вопроса в следующем.
Вообще необходимо построить схемку, вычисляющую нормированный коффициент корреляции на простейших микросхемах. Как реализовать суммирование, умножение, деление и возведение в степень на различных сумматорах, счетчиках, регистрах и т.п. я нашел. Остался единствееный элемент - извлечение корня. Как его реализовать - никак немогу найти, может существуют готовые микросхемы выполняющие эту функцию.......?
Помогите пожалуйста.
|
|
Дата: 03 Июн 2008 19:21:19
#
Mikk85 Гы, в файлах, лежит книжка Тяжева, типа "цифровая реализация демодуляторов" или как то так, там описано взятие корня через суммирование, умножение, деление и возведение в степень . с нужной точностью.
|
Реклама Google
|
|
|
Дата: 03 Июн 2008 20:48:20
#
Mesh, нашел...почитал.....все кончено хорошо но там в основном рассматривается случай когда корень вычисляется из числа изменяющегося в пределах 0< x <1.....а как же поступить если числа >1
|
|
Дата: 03 Июн 2008 20:54:28 · Поправил: Mesh (03 Июн 2008 21:18:42)
#
|
|
Дата: 03 Июн 2008 21:25:25 · Поправил: Cisco (03 Июн 2008 21:27:35)
#
гы ряд маклорена(частный случай ряда тейлора). раскладывается корень на сумму членов. Реализется суммированием т.е. сигма))
|
|
Дата: 03 Июн 2008 21:26:33 · Поправил: scAvenger (03 Июн 2008 21:27:48)
#
Извиняюсь за оффтопик, но, перебирая свои завалы, как раз наткнулся на вот такое изделие :)
![](http://www.radioscanner.ru/uploader/2008/taylor.jpg) Увеличить
Шильдик извлекателя квадратного корня (привинчен к обратной стороне платы):
![](http://www.radioscanner.ru/uploader/2008/taylor1.jpg) Увеличить |
|
Дата: 03 Июн 2008 23:34:09
#
Cisco, непонял....т.е. корень можно реализовать тока на суммировании?? как это?
|
|
Дата: 04 Июн 2008 01:54:49 · Поправил: Cisco (04 Июн 2008 02:01:46)
#
Mikk85
http://ru.wikipedia.org/wiki/Wiki там ищите ряд маклорена или тейлора.
Должен быть пример, может даже там, как раскладывать корень. берете 3 первых члена(или сколько угодно-так точнее будет) из ряда, подставляете свой аргумент и вперед...
Будут проблемы напишите в личку, поможем.
ЗЫ
Матанализ 1 семестр МТУСИ =) |
|
Дата: 04 Июн 2008 02:19:31
#
scAvenger, он аналоговый, что-ли? о_О
|
|
Дата: 04 Июн 2008 05:38:51
#
были в стародавние времена АВМ. аналоговые вычислительные машыны, на операционниках и резисторах...
|
|
Дата: 04 Июн 2008 07:41:16
#
Да возьмите какойнить МК маленький, типа Тиньки 15, морду её шкурочкой затрите, а в проекте укажите спциализированная МС НИИ РосНаноТехПрибор 121-274345.16-25
И извлекайте хоть корни, хоть логарифмы, хоть интегралы...
ПС. А можно и не затирать ничего. У вас в задании вроде нет ничего про дискретную логику. А МК и есть самая цифровая МС.
|
|
Дата: 04 Июн 2008 11:07:15
#
|
|
Дата: 04 Июн 2008 13:00:40 · Поправил: Молния (04 Июн 2008 13:02:48)
#
Mikk85
Вычисление квадратного корня это иррациональная функция, т.е. умножением, сложением, делением и вычитанием ее можно вычислить только приближенно. Есть несколько способов это сделать, например: табличный, табличный с интерполяцией, итерации (метода Ньютона-Рафсона) и разложением в ряд. На сколько я, знаю итерации по Ньютону-Рафсону самый простой и поэтому часто реализовывался в самых простых калькуляторах.
ЗигЗаг
Конечно МК был бы самый простой вариант и не только извлечение квадратного корня, но и все другие операции легко на нем получить, НО если стоит требование именно на дискретных элементах с целью максимального ускорения процесса. Т.е. тактовая частота гигагерцы и скорость работы всей системы должна быть именно эти гигагерцы, то МК не подойдет. Остается табличный способ, где ПЗУ должна также работать на таких же частотах. Однако ПЗУ можно приспособить для вычисления ВСЕЙ функции, а не только квадратного корня. Например, для точности в 5 знаков объем ПЗУ должен быть всего 300 кбайт.
|
|
Дата: 04 Июн 2008 13:13:22
#
Молния
На сколько я, знаю итерации по Ньютону-Рафсону самый простой и поэтому часто реализовывался в самых простых калькуляторах.
А у меня в детстве был учебник алгебры, где по-видимому именно этот метод описывался для применения вручную "столбиком", подобный делению "столбиком", умножению "столбиком" и т.д.
Если бы передо мной стояла задача как перед Mikk85, я бы поступил как посоветовал Igor 2, и при необходимости добавил ЦАП /АЦП. Необходимое уточнениние: схема должна иметь отдельный вход для подачи напряжения = 1.
|
|
Дата: 04 Июн 2008 13:27:52 · Поправил: Mesh (04 Июн 2008 13:58:03)
#
Я хз конечно, но схема приведёная Igor 2 делает рекурсивно простую мат операцию -(U2)+U если это корень квадратный, то извините меня. Чегото я в школе пропустил. :) Гы, еще хуже, смоделировал, подал 2 на вход получил -2 на выходе, подал 3 получил - в бесконечность, в общем чегото не так в этой картинке. Там в разнос всё идёт после 2 на входе.
|
|
Дата: 04 Июн 2008 14:11:53
#
Igor 2 имел в виду вот такую схему:
![](http://www.radioscanner.ru/uploader/2008/sqrt.jpg) |
|
Дата: 04 Июн 2008 14:37:32 · Поправил: Mesh (04 Июн 2008 14:38:17)
#
Int 13h Я пардоне, но как понимать условие "При х1 >> 0 и хП = -0.01*х^2 xв = 10*sqrt(x1)" ? Где это х1 или xi на схеме? А хП = -0.01*х^2 надо как то отлавливать или оно автоматом станет? Чесслово нихрена ни понятно ни из схемы ни из описания. Смахивает на какуюто упрощённую до безумия блок схему реально сложного узла, цена которой 0.
|
|
Дата: 04 Июн 2008 14:55:29 · Поправил: Igor 2 (04 Июн 2008 15:05:51)
#
Mesh
Я пардоне, но как понимать условие
А никаких условий и нет. На обоих входах операционного усилителя в моей схеме напряжения практически равны (надеюсь, понятно почему, если нужна бОльшая точность, ставятся операционники с бОльшим Ку и более точной балансировкой). В то же время, сигнал на инвертирующем входе является квадратом выходного. Достаточно знаний 4 класса, чтобы понять, что на выходе операционника будет строго корень из входного напряжения.
PS. Надеюсь, Вы понимаете, что корень может быть только из ПОЛОЖИТЕЛЬНОГО напряжения, в комплексной области схема не работает...
|
|
Дата: 04 Июн 2008 15:13:13
#
Igor 2 Вы это моделировали? Можт у меня модель кривая, я хз, но помойму если на входах операционика напряжения равны, то на выходе 0, или я туплю? Если условий нет, то что тогда у Int 13h на картинке? Может я в трёх соснах заблудился, бывает, но хоца разобратся, гы.
|
|
Дата: 04 Июн 2008 15:23:11 · Поправил: kernel (04 Июн 2008 15:55:48)
#
Mesh
В установившемся режиме ОУ будет в состоянии Ky(X - Y^2) = Y (где Y - напряжение на выходе ОУ).
Это квадратное уравнение (KyY^2 + Y - KyX = 0). Решая, получаем Y = -1/2Ky + sqr(X). Поэтому чем больше Ky, тем меньше слагаемое (-1/2Ky) и больше точность.
|
|
Дата: 04 Июн 2008 15:38:21
#
Mesh
Вы это моделировали?
Нет, если бы я такие схемы не считал в уме, то мне бы пришлось ходить на работу, и быть обычным инженером. Разберитесь с моделировщиком- схема однозначно рабочая. Реально по жизни идеальных перемножителей, работающих в широком интервале входных напряжений нет, поэтому умножители выводят на их рабочий диапазон напряжений, а схему дополняют устройством вычитания.
|
|
Дата: 04 Июн 2008 15:43:00 · Поправил: Igor 2 (04 Июн 2008 16:03:46)
#
kernel
В установившемся режиме ОУ будет в состоянии
В МОЕЙ СХЕМЕ
Uвых=K(Uвх-Uвых^2), откуда КUвых^2+Uвых=KUвх. При КUвых>>1, или, то же самое, Uвх*К^2>>1 Uвых=sqrtUвх.
|
|
Дата: 04 Июн 2008 16:27:45
#
А вот и модель. Набросал быстренько в протеусе. Работает. sqrt(4)=2 |
|
Дата: 04 Июн 2008 16:42:06
#
Mesh
Схема из книжки "Практика аналогового моделирования динамических систем", как раз на упоминавшихся АВМ, если интересно.
|
|
Дата: 04 Июн 2008 17:13:19 · Поправил: Igor 2 (04 Июн 2008 17:15:20)
#
А вот и модель. Набросал быстренько в протеусе. Работает. sqrt(4)=2
Было бы смешно, если бы не работала...
Схема из книжки
А я сам придумал.
|
|
Дата: 04 Июн 2008 17:28:00
#
А я сам придумал.
Значит практика в очередной раз подтвердила теорию))
|
|
Дата: 04 Июн 2008 17:30:11
#
kernel Int 13h Igor 2 Уболтали черти, я какогото хрена взял Ку = 1. :)
|
|
Дата: 04 Июн 2008 17:33:28
#
Не ну если внимательно рассмотреть вон ту модельку в протеусе, вы заметите, что корень из 4 получился равным -2. Домашнее задание догадаться почему там минус, а не плюс.
|
|
Дата: 04 Июн 2008 17:36:15
#
Int 13h Да это вы зря, зря, так о людях плохо думаете, гы. :)
|
|
Дата: 04 Июн 2008 17:41:17
#
Mesh
А я чо? я ничего :) А то вдруг подколете, скажете: "неправильно считает модель! на костер ее!"
|
Реклама Google |
|