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

|
Надо написать на ассемблере Фурье преобразование для 16-той атмеги. Сигнал сначала обрабатывается в АЦП, а потом делается Быстрое Фурье Преобразование. Если есть у кого исходники, буду признательна. Заранее спасибо.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
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. Заранее признательна за содействие.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|