|
Помогите с Атмегой16 |
|
|
|
Jun 8 2006, 10:29
|
Группа: Новичок
Сообщений: 6
Регистрация: 5-06-06
Пользователь №: 17 783

|
Надо написать на ассемблере Фурье преобразование для 16-той атмеги. Сигнал сначала обрабатывается в АЦП, а потом делается Быстрое Фурье Преобразование. Если есть у кого исходники, буду признательна. Заранее спасибо.
|
|
|
|
|
Jun 8 2006, 10:43
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(SvetaM @ Jun 8 2006, 13:29)  Надо написать на ассемблере Фурье преобразование для 16-той атмеги. Сигнал сначала обрабатывается в АЦП, а потом делается Быстрое Фурье Преобразование. Если есть у кого исходники, буду признательна. Заранее спасибо. Проще всего найти исходный текст на Си и странслировать его каким-нибудь компилятором для AVR.
|
|
|
|
|
Jun 8 2006, 10:58
|
Группа: Новичок
Сообщений: 6
Регистрация: 5-06-06
Пользователь №: 17 783

|
Да вот спогиском прогблема, а так же совсем не знаю каким образом и с помощью чего можно переделать из С в ассемблер. Не подскажете, и если есть что-ниудь конкретное укажите плиз ссылочки.
|
|
|
|
|
Jun 8 2006, 11:16
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(SvetaM @ Jun 8 2006, 13:58)  Да вот спогиском прогблема, а так же совсем не знаю каким образом и с помощью чего можно переделать из С в ассемблер. Не подскажете, и если есть что-ниудь конкретное укажите плиз ссылочки. Единственная ссылка, которую я знаю: IAR AVR EWМожно еще найти в I-net ссылки на Code Vision, WinAVR, AVR gcc. А делается все просто. Берется исходный Си-текст функции FFT и транслируется соответствующим транслятором, у которого в опциях задана генерация ассемблерного файла. Результатом трансляции будет интересующая Вас функция, записанная на ассемблере.
|
|
|
|
|
Jun 8 2006, 11:23
|
Группа: Новичок
Сообщений: 6
Регистрация: 5-06-06
Пользователь №: 17 783

|
[/quote] Единственная ссылка, которую я знаю: IAR AVR EWМожно еще найти в I-net ссылки на Code Vision, WinAVR, AVR gcc. А делается все просто. Берется исходный Си-текст функции FFT и транслируется соответствующим транслятором, у которого в опциях задана генерация ассемблерного файла. Результатом трансляции будет интересующая Вас функция, записанная на ассемблере. [/quote] Спасибо большое. Попробую.
|
|
|
|
|
Jun 8 2006, 14:57
|
Профессионал
    
Группа: Свой
Сообщений: 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 я таким образом логарифмы и эспоненты считал
|
|
|
|
|
Jun 8 2006, 22:01
|
Профессионал
    
Группа: Свой
Сообщений: 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 лет прошло).
|
|
|
|
|
Jun 9 2006, 13:34
|
Группа: Новичок
Сообщений: 6
Регистрация: 5-06-06
Пользователь №: 17 783

|
Спасибо всем за советы. Только вот не знаете ли вы где можно взять текст программы по реализации Фурье преобразования на ассемблере, да к тому же еще под ATMega16. Заранее признательна за содействие.
|
|
|
|
|
Jun 9 2006, 14:43
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Посмотрел сайт elm и elm2. Круто! Особенно ролик со сканированием радиодиапазона. Это там, где красно-оранжевый дисплей. Низачто бы не подумал, что такое можно сделать на меге. Видно мужик настоящий профи. SvetaMА чем вам не нравится исходник на том сайте? (на elm или elm2) Там есть архив, в нём файл ffft.s с асм-текстом. Вроде там расчёты с фиксированной точкой.
Прикрепленные файлы
avrfft.zip ( 15.86 килобайт )
Кол-во скачиваний: 41
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|