Перейти к содержанию
    

FFT на асм для ARM7TDMI (AT91SAM7xx)

На Си нашёл, вставил в программу - тормозит оно. Конечно, гораздо лучше, чем на AVR, но всё равно не айс.

Надо сделать аудио-анализатор. Сделать-сделал, осциллограммы рисует великолепно, рендер быстрый для дисплея написал, а с FFT проблемы.

А если ещё и стерео запустить - вообще ступор почти будет...

 

Нет ли у кого реализации на асме, типа как Чен для AVR-ов?

Сам я ейный ассемблер практически не знаю :( .

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На Си нашёл, вставил в программу - тормозит оно.

Спасибо.

Небось, в плавучке?:)

Тем более, что смотря какой анализатор - набор согласованных фильтров по фиксированной сетке частот может оказаться лучше.

Изменено пользователем _Pasha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, не на плавучке :lol:

Выдрал у Геннадия - http://www.cqham.ru/forum/showthread.php?t=9688 100% целочисленная арифметика.

Даже слегка пооптимизировал его :) .

Там есть макросы

#define FFT_POWER 8

#define FFT_N (1 << FFT_POWER) // 256

 

У него величина FFT_POWER в доп. цикле определялась. Зачем - непонятно, ведь она уже есть ...

 

А где почитать про "набор согласованных фильтров по фиксированной сетке частот"? Или что-нибудь "для подражания" :)

Я в этих делах - почти ноль :( Это типа набора фильтров на определённые частоты?

 

Вот, нашёл сие - http://www.renan.org/ARM/doc/Apps16pdf.pdf

но, похоже, только общие слова :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выдрал у Геннадия - http://www.cqham.ru/forum/showthread.php?t=9688 100% целочисленная арифметика.

 

Уточните, откуда вы его там выдрали? А то я в упор не вижу в той ссылке чего-либо про FFT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В конце есть архив исходниками разными - TC1-Oct-30-2012.zip‎ Там есть файлы fft.c и прочее.

Окна Хэмминга и Ханнинга в комплекте :) .

Добро обнаружил, в общем-то случайно, когда с дисплеем на ILI9320 разбирался.

 

Я вложил сюда, чтобы там не шарить.

 

Даже для какого-то ARM9 нашёл на асме - http://www.elsevierdirect.com/v2/companion...N=9781558608740 :biggrin:

 

Вот бабочка для ARM7TDMI - http://www.platan.ru/shem/pdf/bpf.pdf

Остальное обещает на http://www.platan.ru/shem/ , но там Error 404 :(

FFT.ZIP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, не на плавучке :lol:

 

А где почитать про "набор согласованных фильтров по фиксированной сетке частот"? Или что-нибудь "для подражания" :)

Я в этих делах - почти ноль :( Это типа набора фильтров на определённые частоты?

 

Вот, с кортехом-м4 уже не шутошное действо, эта плавучка.

Книжка:

затертых годов... чётта с разбегу не нахожу. Страница 67-74

Да, и поделитесь размером окна FFT, чтоли ...:)

Изменено пользователем _Pasha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, почитаю.

Размер окна сейчас - 256 байт. Хоть осциллограмма красивее на 8кБ :biggrin:

 

Как я выше приводил:

#define FFT_POWER 8

#define FFT_N (1 << FFT_POWER) // 256

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я затащил к себе в проект (на будущее использование) это из конкурсной работы AR1731 одного программиста на приз журнала Circuit Cellar.

Оригинальные файлы здесь. Там не в реальном времени, просто демонстрация принципа работы.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Genadi Zawidowski, я так и подумал, т.к. оно у Вас фактически нигде не используются. Даже пытался искать по AR1731 - не нашёл. Спасибо.

_Pasha, попробую вечером дома. потом отпишусь.

Там ещё входной разъём почти отвалился, запаять надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разъём припаял, inline вставил.

Закрутился чуть быстрее, но всё равно тормоза.

Но даже не это суть. Там полосок 10 вначале прыгают, дальше тишина .... Остальные - редко-редко ... На входе обычная песня (попса :biggrin: ) с компа, частот там валом всяких.

Наверное там сам алгоритм "неправильный" :( .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. N. Sloss ... ARM System Developer's Guide - лежит в закромах.

Начиная со стр 303.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное там сам алгоритм "неправильный" :( .

Дык можно ж свипом 0-20кГц пощщупать..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Viko, нашёл, скачал...

 

_Pasha, видимо придётся... А не знаете какую-нибудь прогу для генерации частот? Где-то натыкался, не помню ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прогу для генерации частот? Где-то натыкался, не помню ...

 

В том же моём проекте встроена генерация многочастотного сигнала - я с её помощью и проверял алгоритм (то как я его переносил к себе).

 

Получение очередного семпла с АЦП - GetADCVoltage() - самое начало файла hardware.c - там я даже шум пытался замешать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...