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

Быстрое преобразование Фурье

Доброго всем времени суток:)

Есть такая задачка: сделать что-то вроде скрамблера (сугубо теоретическая, ни о каком воплощении в "железе" речи не идет). На данный момент решение видится в виде АЦП на входе, некоторого DSP для выполнения FFT, затем ЦАПа. С АЦП и ЦАПом все понятно, есть на примете нужные микросхемы, загвоздка пока что с DSP. Дело в том, что задачку нужно решить как можно быстрее и "на бумаге", т.е. наиболее приоритетный критерий- это простота. На чем посоветуете считать БПФ? Где-то слышал, что это и на MCS-51 делают, но очень не хочется изобретать заново велосипеды, по моему скромному мнению должны существовать процессоры, где БПФ программируется всего в несколько строчек (если я не прав- поправьте). C другой стороны, процессоры с парой сотней ног мне, естественно, тоже не подходят:)) из-за того самого критерия- простоты... Входной сигнал- звуковой, полоса 4-6КГц, частота дискретизации пусть будет 44КГц, разрядность - 8бит. Будут какие-нибудь предложения? Заранее спасибо:)

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


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

Функция для расчета БПФ на C занимет от 0.5 до 1.0 страниц А4 12 шрифтом. Это много? Тут конечно важна производительность - это пусть Вам гуру ЦОС-а с опытом подскажут. МК как Вы знаете не обязательно должен иметь сотни ног. По моему, все делается на одном кристалле (т. е. вся Ваша задача). См. приложение... блин, опять не добавляет... Это мой глюк или у всех так? АДМИНЫ! А.. вот ссылка: http://www.platan.ru/shem/pdf/bpf.pdf

 

Вот еще: http://www.cta.ru/pdf/1999-1/software1_1999_1.pdf

 

Дайте мыло - еще чуток подкину.

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


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

Если задача "сугубо теоретическая", то зачем "на примете нужные микросхемы"?

Есть, видимо, специализированные микросхемы для обработки звука, где всё это встроено. Действительно нет смысла "изобретать велосипед". А что касается БПФ, то DSP действительно лучше всего "заточены" под такие вычисления, часть элементарных функций в них реализована аппаратно. Но насчёт нескольких строк - это вряд ли.

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


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

Функция для расчета БПФ на C занимет от 0.5 до 1.0 страниц А4 12 шрифтом. Это много? Тут конечно важна производительность - это пусть Вам гуру ЦОС-а с опытом подскажут. МК как Вы знаете не обязательно должен иметь сотни ног. По моему, все делается на одном кристалле (т. е. вся Ваша задача). См. приложение... блин, опять не добавляет... Это мой глюк или у всех так? АДМИНЫ! А.. вот ссылка: http://www.platan.ru/shem/pdf/bpf.pdf

 

Вот еще: http://www.cta.ru/pdf/1999-1/software1_1999_1.pdf

 

Дайте мыло - еще чуток подкину.

 

Спасибо большое за ссылочки, ознакомлюсь:) Производительности соврменных микроконтроллеров вполне для этой задачи хватит (в качестве USB-моста применяется AT89C5131, для того, чтобы ключи шифрования иногда туда загружать, так у него насколько я помню макс. частота ядра 48 МГц). Просто я рассчитывал найти микросхему, которая не сложнее той же AT89C5131 в плане установки/обвязки, выполняющую именно функцию БПФ... Не знаете такую, у которой "мало ног"? :biggrin: Но можно и приведенные Вами исходники в каком-нибудь Keil-C набрать... Спасибо:)

 

Если задача "сугубо теоретическая", то зачем "на примете нужные микросхемы"?

Есть, видимо, специализированные микросхемы для обработки звука, где всё это встроено. Действительно нет смысла "изобретать велосипед". А что касается БПФ, то DSP действительно лучше всего "заточены" под такие вычисления, часть элементарных функций в них реализована аппаратно. Но насчёт нескольких строк - это вряд ли.

 

Да, она сугубо теоретическая, но мне все равно придется показывать принципиальные схемы людям, которые в этих вопросах далеко не дураки, которые ожидают увидеть там реальные микросхемы (поскольку условия и требования вполне конкретно поставлены), а не мифические прямоугольники с надписью "БПФ" внутри:) C микросхемами ЦАП и АЦП определился, а вот с БПФ пока что нет:)

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

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


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

Дайте мыло - еще чуток подкину.

Скиньте и мне, please.

v o v a l o g i c (@) m a i l [dot] r u

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


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

просмотрел много информации... есть много исходников на Си, только по виду они явно не для мк-51... Везде константы с плавающей запятой и прочее. А в моем распоряжении лишь 8 битная целочисленная арифетика. Возникает вопрос- а можно ли вообще это на 51ом сделать? Т.е. целочисленное БПФ Подскажите, пожалуйста

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


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

просмотрел много информации... есть много исходников на Си, только по виду они явно не для мк-51... Везде константы с плавающей запятой и прочее. А в моем распоряжении лишь 8 битная целочисленная арифетика. Возникает вопрос- а можно ли вообще это на 51ом сделать? Т.е. целочисленное БПФ Подскажите, пожалуйста

Блин, кто-то мешает заменить данные float на int или short? Да и странно как-то, неужели компилятор x51 не поддерживает float? Долго очень конечно будет, но интересен сам факт...

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


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

Посмотрите документ AN142 от Silicon Laboratories.

Думаю, это то, что Вам нужно.

Программу на всякий случай прикрепил.

Успехов в разработке.

AN142SW.zip

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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