|
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
|
|
Sin23.01.2011, 19:03. Показов 18963. Ответов 25
Метки нет (Все метки)
Наткнулся на такую проблемму, необходимо органиовать sin(x), для этого, я так понял, надо воспользоваться рядом Тейлора. Но вот как его записать в ассемблерном виде, у меня возникают затруднения. Гуглил, но там как-то все "на воде" основанно. Может кто уже писал синус в асм, либо кто знает ссылки, где можно прочитать?
спасибо за ответы по топу
0
|
|
| 23.01.2011, 19:03 | |
|
Ответы с готовыми решениями:
25
Cпектр sin^2(x) Источник sin в микрокап |
|
0 / 0 / 0
Регистрация: 18.10.2006
Сообщений: 547
|
|
| 23.01.2011, 19:07 | |
|
таблица не вариант?
0
|
|
|
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
|
|
| 23.01.2011, 19:09 | |
|
ни разу не пользовался таблице и не знаю, как её организовывать
P.S. в виде "x" можно использовать допустим A
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 23.01.2011, 19:17 | |
|
именно что заранее рассчитанная таблица.
еще кроме тейлора есть грубый вариант строить полупериод синуса как кусок параболы х*х в пределах [-1;1], макс. ошибка будет ~5%, где-то покатит. все зависит от области применения. еще есть способ автогенератора, там всего пара сложений и пара умножений (лучше погуглить). п.с. таблица - заранее рассчитанный массив, типа делишь 360 градусов на 256 значений таблицы. получится, один период синуса впишется в 256 значений. разрешение по х будет >1 градуса... можно взять массив из 360 значений, тогда будет разрешение в 1 градус. можно взять массив в 100500 значений...
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2006
Сообщений: 547
|
|
| 23.01.2011, 19:19 | |
|
можно вобще четверть периода.
0
|
|
|
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
|
||||
| 23.01.2011, 19:24 | ||||
0
|
||||
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 23.01.2011, 19:52 | |
|
берешь эксель, делаешь столбик с цифрами от 0 до 359. рядом делаешь столбик с формулой =СИНУС(Х*2*ПИ()/360). Х - ячейка соседней колонки. растягиваешь ячейку с формулой вниз и получаешь таблицу. копируешь ее в текстовый файл, в каждой строке добавляешь что надо (типа .db в асме или в чем ты там пишешь). можно прям в экселе нужные строки сгенерить.
если знаешь си, берешь любой си для компа и пишешь там цикл, вычисляющий синус и печатающий его на экран или в файл.
0
|
|
|
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
|
||
| 23.01.2011, 19:56 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 99
|
|
| 23.01.2011, 20:05 | |
|
Для генерации синуса лучше табличкой задать, а не рядом Тейлора. Ряд Тейлора будет дольше считаться, да и хорошую точность имеет вблизи фиксированной точки.
0
|
|
|
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
|
|
| 23.01.2011, 20:19 | |
|
вопрос открыт, ведь организация таблицы до сих пор не понятна. Пишу только на ассемблере, т.ч. ни Си, ни паскаль, ни ..... НЕ ЗНАЮ
а если быть точнее, значения я вбил в таблицу, вроде даже откомпили, но как её вызывать это уже для меня загадка
0
|
|
|
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
|
||||||
| 23.01.2011, 20:37 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
|
|
| 23.01.2011, 21:55 | |
|
А как планируется в .db положить числа с плавающей точкой? .db, ИМХО, таки байт независимо от контроллера/процессора. Нужно всё таки к байту привести, например, умножив на 128 и округлив правильно. Я бы всё таки использовал четверть периода, а не весь.
ЗЫ. 8051 ассемблер забылся напрочь. Так что с программой не помощник.
0
|
|
|
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
|
|
| 23.01.2011, 21:57 | |
|
я тоже удивился, когда кейл понял "плавающие" запятые )))
откомпилил и не ругался )
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 23.01.2011, 22:51 | |
|
да херню он накомпилил, 100 пудов. пары байт скорее всего. нужно было сделать так формулу тогда уж: 127.5+127.5*sin(...)... тогда в таблице будет синус от 0 до 255 с серединой 127 или 128. ну или делать какую надо амплитуду.
0
|
|
|
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
|
|
| 23.01.2011, 23:34 | |
|
ладно, тогда раз неразбериха, то поставлю тогда для начала вопрос так.
Как содать таблицу в ассемблере, как её выывать, да и вообще все что есть про таблицу, почитал бы :)
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
| 23.01.2011, 23:39 | |
|
У Ди в статье про R-2R ЦАП что-то было про таблицы, ЕМНИП...
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 23.01.2011, 23:40 | |
|
создать - так как ты и создал, только должны быть целые числа от 0 до 255, а не дробные. вызывать типа так: допустим у тебя таблица 360 байт, надо найти тебе синус 15 градусов - берешь 15й элемент таблицы.
а вообще, лучше задачу целиком скажи, а не сферический синус в вакууме.
0
|
|
|
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
|
|
| 24.01.2011, 00:05 | |
|
задача состоит в том, что надо нелинейный преобразователь сделать, но "воду" я опущу...
надо сделать sin(Uвх), а Uвх находится у меня в аккумуляторе
0
|
|
|
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 2
|
|
| 24.01.2011, 01:47 | |
|
По загрузкам из таблицы на х51 - нужно начало таблицы загрузить в DPTR, в А смещение. Затем mov A,@DPTR+A. Это насколько я помню асм для 51 серии. Может быть можно грузить и в другой регистр.
0
|
|
|
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 569
|
|||
| 24.01.2011, 07:23 | |||
db 0,0,0,2,0,3,0,5,... - и никакой это не синус. :) http://www.myplosi.nu/avr/minidds/minidds.asm Там, правда, для AVR и весь период, т.к. времени на изменение знака нет. Таблица "sine".
В другой регистр не получится, только в аккумулятор. Попутно, встала задачка генерации частот до 700 кГц подобным образом, с шагом 1 кГц или меньше. Придётся, наверное, STM8 под это дело осваивать - привычные LPC900 не справляются, а по цене нужно вписаться в $1,5 при минимальных размерах корпуса, как обычно :).
0
|
|||
| 24.01.2011, 07:23 | |
|
Помогаю со студенческими работами здесь
20
Микропроцессор для Sin Cos Можно ли линейными операциями из sin сигнала выделить составляющую? Даны натуральное п, действительное x. Вычислить: sinx + sin sin x + sin sin sin x +…+ sin sin sin … sin x Для заданного числа x распечатать числовую последовательность: sin(x), sin(sin(x), sin(sin(sin(x), …
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|