реклама на сайте
подробности

 
 
> Помогите с Атмегой16
SvetaM
сообщение Jun 8 2006, 10:29
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 5-06-06
Пользователь №: 17 783



Надо написать на ассемблере Фурье преобразование для 16-той атмеги. Сигнал сначала обрабатывается в АЦП, а потом делается Быстрое Фурье Преобразование. Если есть у кого исходники, буду признательна. Заранее спасибо.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
_Bill
сообщение Jun 8 2006, 10:43
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(SvetaM @ Jun 8 2006, 13:29) *
Надо написать на ассемблере Фурье преобразование для 16-той атмеги. Сигнал сначала обрабатывается в АЦП, а потом делается Быстрое Фурье Преобразование. Если есть у кого исходники, буду признательна. Заранее спасибо.

Проще всего найти исходный текст на Си и странслировать его каким-нибудь компилятором для AVR.
Go to the top of the page
 
+Quote Post
SvetaM
сообщение Jun 8 2006, 10:58
Сообщение #3





Группа: Новичок
Сообщений: 6
Регистрация: 5-06-06
Пользователь №: 17 783



Да вот спогиском прогблема, а так же совсем не знаю каким образом и с помощью чего можно переделать из С в ассемблер. Не подскажете, и если есть что-ниудь конкретное укажите плиз ссылочки.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jun 8 2006, 11:16
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(SvetaM @ Jun 8 2006, 13:58) *
Да вот спогиском прогблема, а так же совсем не знаю каким образом и с помощью чего можно переделать из С в ассемблер. Не подскажете, и если есть что-ниудь конкретное укажите плиз ссылочки.

Единственная ссылка, которую я знаю:IAR AVR EW
Можно еще найти в I-net ссылки на Code Vision, WinAVR, AVR gcc.
А делается все просто. Берется исходный Си-текст функции FFT и транслируется соответствующим транслятором, у которого в опциях задана генерация ассемблерного файла. Результатом трансляции будет интересующая Вас функция, записанная на ассемблере.
Go to the top of the page
 
+Quote Post
SvetaM
сообщение Jun 8 2006, 11:23
Сообщение #5





Группа: Новичок
Сообщений: 6
Регистрация: 5-06-06
Пользователь №: 17 783



[/quote]
Единственная ссылка, которую я знаю:IAR AVR EW
Можно еще найти в I-net ссылки на Code Vision, WinAVR, AVR gcc.
А делается все просто. Берется исходный Си-текст функции FFT и транслируется соответствующим транслятором, у которого в опциях задана генерация ассемблерного файла. Результатом трансляции будет интересующая Вас функция, записанная на ассемблере.
[/quote]

Спасибо большое. Попробую.
Go to the top of the page
 
+Quote Post
BVU
сообщение Jun 8 2006, 12:07
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Вопрос такой... если Вы пишете на ASM есть ли у Вас поддержка использования чисел с плавающей/фиксированной запятой (в чем я сомневаюсь), т.к. при использовании БПФ необходимы действия с числом Pi и значениями Sin и Cos?


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
_artem_
сообщение Jun 8 2006, 12:19
Сообщение #7


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



example http://elm-chan.org/works/rsm/report_e.html


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
vvs157
сообщение Jun 8 2006, 12:45
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(_Bill @ Jun 8 2006, 14:43) *
Проще всего найти исходный текст на Си и странслировать его каким-нибудь компилятором для AVR.


А разве при этом получится асемблерный *текст* с библиотеками?
Go to the top of the page
 
+Quote Post
phase
сообщение Jun 8 2006, 12:46
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 126
Регистрация: 12-09-05
Пользователь №: 8 473



я думаю это тебе поможет...
elm
elm2


opps немного опоздал blush.gif blush.gif blush.gif
Go to the top of the page
 
+Quote Post
vvs157
сообщение Jun 8 2006, 12:49
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(BVU @ Jun 8 2006, 16:07) *
Вопрос такой... если Вы пишете на ASM есть ли у Вас поддержка использования чисел с плавающей/фиксированной запятой (в чем я сомневаюсь), т.к. при использовании БПФ необходимы действия с числом Pi и значениями Sin и Cos?


Фиксированная запятая особой проблемы не составляет, а sin-cos можно и по таблице с линейной интерполяцией между точками.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 8 2006, 14:39
Сообщение #11


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(vvs157 @ Jun 8 2006, 15:49) *
Фиксированная запятая особой проблемы не составляет, а sin-cos можно и по таблице с линейной интерполяцией между точками.

Хм.. это ж скольки разрядные числа будут? ;>
Не проще ли всю задачу сразу решать на C?
Go to the top of the page
 
+Quote Post
vvs157
сообщение Jun 8 2006, 14:57
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(defunct @ Jun 8 2006, 18:39) *
Цитата(vvs157 @ Jun 8 2006, 15:49) *

Фиксированная запятая особой проблемы не составляет, а sin-cos можно и по таблице с линейной интерполяцией между точками.

Хм.. это ж скольки разрядные числа будут? ;>
Не проще ли всю задачу сразу решать на C?


16 бит, в принципе можно и 32. На 16 я таким образом логарифмы и эспоненты считал
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 8 2006, 15:18
Сообщение #13


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(vvs157 @ Jun 8 2006, 17:57) *
16 бит, в принципе можно и 32. На 16 я таким образом логарифмы и эспоненты считал

Интересно. Можно еще парочку вопросов:
А где точку ставите? 16 бит целая, 16bit - дробная часть, или как-то по-другому?
И насколько оправдано в плане увеличения быстродействия по сравнению с плавающей точкой?
Go to the top of the page
 
+Quote Post
vvs157
сообщение Jun 8 2006, 22:01
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(defunct @ Jun 8 2006, 19:18) *
Цитата(vvs157 @ Jun 8 2006, 17:57) *

16 бит, в принципе можно и 32. На 16 я таким образом логарифмы и эспоненты считал

Интересно. Можно еще парочку вопросов:
А где точку ставите? 16 бит целая, 16bit - дробная часть, или как-то по-другому?
И насколько оправдано в плане увеличения быстродействия по сравнению с плавающей точкой?


Арифметика для 16 бит была такая. Умножение А*В/8000H, деление - A/B*8000H, А-со знаком, В - коэффициент без знака, то есть B<=1 (то есть В - фиксированная точка 0.16). То есть не так, чтоб сначала умножить, а потом разделить, а сразу алгоритм содержал внутри себя дополнительный сдвиг. Насчет быстродействия - не оценивал, так как изначально делалось для 8031 с 16к ROM и там не до С и не до плавающей точки было (с тех пор 10 лет прошло).
Go to the top of the page
 
+Quote Post
SvetaM
сообщение Jun 9 2006, 13:34
Сообщение #15





Группа: Новичок
Сообщений: 6
Регистрация: 5-06-06
Пользователь №: 17 783



Спасибо всем за советы. Только вот не знаете ли вы где можно взять текст программы по реализации Фурье преобразования на ассемблере, да к тому же еще под ATMega16. Заранее признательна за содействие.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01487 секунд с 7
ELECTRONIX ©2004-2016