Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Цифровые сигнальные процессоры Вопросы, связанные с применением цифровых сигнальных процессоров: программирование, отладочные средства, алгоритмы...

 
Опции темы
Непрочитано 28.03.2008, 16:01  
MicroPIC
Прохожий
 
Регистрация: 18.11.2007
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
MicroPIC на пути к лучшему
По умолчанию Синус и косинус!

Скажите пожалуйста - как на ПЛИС симулировать функцию синуса или косинуса. Спасибо.
Реклама:
MicroPIC вне форума  
Непрочитано 05.04.2008, 14:34  
ALEX__A
Почётный гражданин KAZUS.RU
 
Регистрация: 30.10.2006
Сообщений: 1,755
Сказал спасибо: 0
Сказали Спасибо 80 раз(а) в 56 сообщении(ях)
ALEX__A на пути к лучшему
По умолчанию Re: Синус и косинус!

Сообщение от MicroPIC
Скажите пожалуйста - как на ПЛИС симулировать функцию синуса или косинуса. Спасибо.
Как правило, в подобных устрйствах данные функции, представленные с необходимой точностью, хранятся в таблицах. Это обеспечивает максимальную производительность.

С уважением, Алексей.
ALEX__A вне форума  
Непрочитано 08.04.2008, 13:23  
kviper
Частый гость
 
Регистрация: 21.12.2006
Сообщений: 24
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kviper на пути к лучшему
По умолчанию

А есть у кого-то какая-то инфа по построению етих таблиц? А то непонятно как на VHDL ето реализовать.
kviper вне форума  
Непрочитано 21.04.2008, 12:41  
EXIS
Прописка
 
Регистрация: 20.02.2006
Сообщений: 284
Сказал спасибо: 9
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
EXIS на пути к лучшему
По умолчанию

Есть алгоритмы получения sin cos по спец формулам с использованием только "* / + -". Посмотрите здесь.

http://images.google.ru/imgres?imgur...w%3D1%26sa%3DN

Могу сказать что по ссылке скорее всего указан не оптимальный алгоритм составления таблицы.

К примеру приведенная ниже процедура на ассемблеере х86 генерирует таблицу Sin Cos используя только логический сдвиг влево, сложение и побитовое "И". Т.е. даже без умножения и деления!
Но отмечу что синус и косинус генерируется не в диапазоне -1 до 1 как у обычного Sin Cos, а по такому же закону но от -255 до 255, это сделано, чтобы не использовать числа с плавающей запятой.

Цитата:
PROC GetSinCos
; Needed : bx=angle (0..255)
; Returns: ax=Sin bx=Cos
push bx ; Save angle (use as pointer)
shl bx,1 ; Grab a word so bx=bx*2
mov ax,[SinCos + bx] ; Get sine
pop bx ; Restore pointer into bx
push ax ; Save sine on stack
add bx,64 ; Add 64 to get cosine
and bx,11111111b ; Range from 0..255
shl bx,1 ; *2 coz it's a word
mov ax,[SinCos + bx] ; Get cosine
mov bx,ax ; Save it bx=Cos
pop ax ; Restore ax=Sin
ret
ENDP GetSinCos
Кусок кода взят от сюда.
http://www.programmersheaven.com/dow...1/ZipView.aspx
EXIS вне форума  
Непрочитано 03.06.2008, 14:52  
mks
Прохожий
 
Регистрация: 28.05.2005
Сообщений: 2
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mks на пути к лучшему
По умолчанию

Сообщение от kviper
А есть у кого-то какая-то инфа по построению етих таблиц? А то непонятно как на VHDL ето реализовать.
Вот пример DDS синтезатора на VHDL.
Использует 2 блока памяти для таблиц sin и cos.

-- Прилагается рисунок: --


Прикрепленный файл: 9058699.zip
mks вне форума  
Непрочитано 25.08.2008, 18:23  
porcha2
Частый гость
 
Регистрация: 03.06.2005
Сообщений: 44
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
porcha2 на пути к лучшему
По умолчанию

Вообще, есть практический опыт. Правда у меня был выбор: программно либо аппаратно.
Вкраце: автоматизированная система управления радиолокатором. Естесно с определением координат цели и с определением характеристик цели. (метеолокатор).
Вывод: аппаратно - получение всех данных (не важно в каких координатах но заранее известно как их преобразовать) а программно - преобразование полученной инфы в вид, который нужен. Да. Времени это занимает на 10-20 секунд больше но за то изготовление аппаратной части оказалось на 2 порядка дешевле и уместилось на обычную плату расширения с разъемом ISA.
Конечно под словом "программно" я имею ввиду PC/
porcha2 вне форума  
Непрочитано 11.01.2009, 03:03  
retaler
Прописка
 
Регистрация: 30.06.2006
Сообщений: 147
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 3 сообщении(ях)
retaler на пути к лучшему
По умолчанию

Сообщение от EXIS
К примеру приведенная ниже процедура на ассемблеере х86 генерирует таблицу Sin Cos используя только логический сдвиг влево, сложение и побитовое "И". Т.е. даже без умножения и деления!
и если заметите дальше находится ссылочка
на таблицу
Label SinCos Word ; 256 values

(если перейти по http://www.programmersheaven.com/dow...1/ZipView.aspx
и почитать внизу текста)

строка типа
mov ax,[SinCos + bx] ; Get sine
прибаляет bx к метке таблицы и вычитывает ячейку
таблицы в ах.

на ассемблере лучшего способа и более быстрого кроме таблицы никто ничего не придумает. В большинстве случаев даже 256 состояний много, даже достаточно 0-90 градусов, все остальное вычисляется.
retaler вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чистый синус у преобразователя faru Электроника - это просто 0 27.02.2009 04:57
Из меандра синус Online Электроника - это просто 35 25.11.2006 00:25


Часовой пояс GMT +4, время: 03:28.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot