Автор Тема: Линия задержки на МК  (Прочитано 28819 раз)

0 Пользователей и 1 Гость просматривают эту тему.

BSVi

  • Сообщений: 320
    • ICQ клиент - 271140477
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #20 : Марта 30, 2009, 07:22:23 pm »
А еще круче - сделать полноценный сверточный фильтр. Ктонить в состоянии посчитать, сколько для нужно умножений для 1сек? (ну тоесть учитывая цепочку FFT->IR->IFFT)

KMG

  • Сообщений: 3776
    • ICQ клиент - 412221711
    • AOL клиент - Mike
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #21 : Марта 30, 2009, 07:28:22 pm »
Только боюсь, что более или менее серьезный алгоритм на АВРе не удастся реализовать.
На каждый отвод (отражение) нужно будет масштабирование, а это умножение.
Посчитай сколько у тебя уложится команд при частоте сэмплирования 44 кГц.
Думаю лучше посмотреть в сторону мелких АРМов, по стоимости не намного дороже, да и подключение кодеков без проблем.

OlegFX

  • Сообщений: 5097
    • Просмотр профиля
Re: Линия задержки на МК
« Ответ #22 : Марта 30, 2009, 07:55:07 pm »
BSVi, KMG, я же не понимаю ничего в свертках и умножениях. Вы мне скажите просто, возможно ли реализовать алгоритм дельтамодулятора (как в статье), только с такими тактовыми частотами, как я написал. Хорошо, пусть будет 2МГц. Отводов не надо. Ревера - тем более. Просто дилей на МК с внешней памятью.
Говоря другими словами, на рассыпухе я это делал "на раз". И не подымал бы этот вопрос, если бы не топикстартер. Я просто знаю, что это будет за звук с такими f_такт, как в статье, поэтому и написал, что необходимо для качественного звука.

Вопрос №2. Адаптивный д.модулятор. f_такт=100-500кГц. Возможно?

Ал-ндр

  • Сообщений: 3160
  • GTLab - forever!
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #23 : Марта 30, 2009, 07:57:53 pm »
А если вернуться к цифровым реверам, кто нибудь реализовывал в них такой эффект как "реверс", т. е. задержанный сигнал "задом- наперед". Сам пробовал заменить счетчики 561ИЕ10 на реверсивные 561ИЕ11 - ничего не получилось.

dimab

  • Сообщений: 1565
    • Просмотр профиля
Re: Линия задержки на МК
« Ответ #24 : Марта 30, 2009, 08:00:38 pm »
простой дилей АВР успеет, флэнжер/хорус - туда же

450 тактов авр успеет за одну выборку АЦП на 44100, это если не разгонять :)
за это время можно и простой ревер посчитать.


арм конечно хорошо... были б широко доступны нормальные - проблемы не было б.
А еще лучше - АВР32. :)

BSVi

  • Сообщений: 320
    • ICQ клиент - 271140477
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #25 : Марта 30, 2009, 08:33:04 pm »
арм конечно хорошо... были б широко доступны нормальные - проблемы не было б.

да пожалуйса - at91sam7, lpc2xxx - широкодоступные, нормальные. арм сейчас - самый настоящий ширпотреб.

dimab

  • Сообщений: 1565
    • Просмотр профиля
Re: Линия задержки на МК
« Ответ #26 : Марта 30, 2009, 08:40:04 pm »
в киеве - конечно доступные :)
мне заказывать лениво, в симметроне только sam7s64, а у него помоему даже интерфейса для внешней памяти нет... нафиг он такой нужен

если б были легко доступны ацп/цапы и процессоры нормальные - уже давно б дилей/ревер написал :)

KMG

  • Сообщений: 3776
    • ICQ клиент - 412221711
    • AOL клиент - Mike
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #27 : Марта 30, 2009, 08:41:01 pm »
Навскидку
AT91SAM7SE 32/256/512 флэша, внешняя шина для мозгов (озу), I2S для кодека.

OlegFX

  • Сообщений: 5097
    • Просмотр профиля
Re: Линия задержки на МК
« Ответ #28 : Марта 30, 2009, 10:41:08 pm »
2 Ал-ндр:
==А если вернуться к цифровым реверам, кто нибудь реализовывал в них такой эффект как "реверс", т. е. задержанный сигнал "задом- наперед".==

Дальше бумаги дело не пошло. Только не ревер, а дилей рисовал. Идея была такая. Две линии задержки с реверсивными счетчиками. Пока одна пишет звук, другая задом наперед проигрывает предыдущую выборку, во втором цикле меняются местами - и так постоянно. Потом у меня появился процессор, где такая фича была (Reverse Delay, вроде называлось, или Reverse Sampler) и мой проект умер.
Еще была идея, чтобы не ставить реверсивные счетчики, менять адресацию "туда-сюда". Там это получалось, вроде, легко. 561КТ3 должны были коммутировать адресные входы так: А0: А0 или A7; A1: A1 или A6, ну, и так далее. 4 корпуса КТ3 + стандартная схема на ИЕ10 заменяли рев. счетчики, с которыми было что-то "не так", не помню, что именно. Вместо КТ3 можно было применить другую логику, это не принципиально. Просто, КТ3 было валом.
Успехов!
« Последнее редактирование: Марта 31, 2009, 10:13:41 am от olegfx »

Ereoz

  • Гость
Re: Линия задержки на МК
« Ответ #29 : Марта 31, 2009, 05:38:28 am »
olegfx, да, буду благодарен за ссылки на адаптивную дельта-модуляцию. Хотя уже и сам поискал и почитал кое-что, но инфа лишней не будет.
По существу, заинтересовал AT91SAM7S256. Можно ли из него (только его средствами, без дополнительной памяти и отдельных ацп,цап) выжать нормальный звук? И какую задержку можно при этом получить. Его частота 55МГц, ОЗУ 64К, есть четыре канала ШИМ, 3 таймера (на сколько я понял таймеры 16-ти битные). Есть также встроенные 10-ти битные АЦП, для звука этого скорее всего будет мало, а вот приспособить их под управление прям как раз.

Ал-ндр

  • Сообщений: 3160
  • GTLab - forever!
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #30 : Марта 31, 2009, 05:52:23 am »
2 olegfx:
Первая идея понятна. Где-то в таком направлении и я мыслил. Второй способ интересен с точки зрения оригинальности. Жаль, что все так не просто получается, эффект интересно с гитарой звучит.

Ал-ндр

  • Сообщений: 3160
  • GTLab - forever!
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #31 : Марта 31, 2009, 06:00:19 am »
О методах кодирования, в том числе и о адаптивной дельта-модуляции в доступной форме изложено в книге Дж. Кейтер "Компьютеры - синтезаторы речи"

BSVi

  • Сообщений: 320
    • ICQ клиент - 271140477
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #32 : Марта 31, 2009, 11:03:55 am »
есть контроллеры - aduc70xx с цап/ацп 12битными, в данном слцучае более чем достаточно.

GLEB

  • Гость
Re: Линия задержки на МК
« Ответ #33 : Марта 31, 2009, 05:32:45 pm »
Как далеки, однако, эти прекрасные мечты от приведённой автором схемы ::)

dimab

  • Сообщений: 1565
    • Просмотр профиля
Re: Линия задержки на МК
« Ответ #34 : Марта 31, 2009, 08:48:20 pm »
а давайте форумом соберемся, и сделаем народный проц? :) реверы/флэнжеры/дилеи/хорусы - чтоб без перегруза :)

Ал-ндр

  • Сообщений: 3160
  • GTLab - forever!
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #35 : Марта 31, 2009, 09:27:42 pm »
Цитировать
а давайте форумом соберемся, и сделаем народный проц?  реверы/флэнжеры/дилеи/хорусы - чтоб без перегруза  
Идея поддерживается, главное определиться с элементной базой...

Насчет перегруза - не понял, проц - отдельно, перегруз отдельным устройством(кто хочет :)). А вообще ессть такой проект в "Проект Окно в Европу": искажалка с дилэем(последняя страница)


KMG

  • Сообщений: 3776
    • ICQ клиент - 412221711
    • AOL клиент - Mike
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #36 : Марта 31, 2009, 09:38:35 pm »
Цитировать
Цитировать
а давайте форумом соберемся, и сделаем народный проц?  реверы/флэнжеры/дилеи/хорусы - чтоб без перегруза  
Идея поддерживается, главное определиться с элементной базой...

Во всяком случае для макета предлагаю AT91SAM7SE256/512, чтобы не иметь ограничений при разработке.
Дальше, при необходимости, можно будет перенести на любой, по минимальным требованиям.

dimab

  • Сообщений: 1565
    • Просмотр профиля
Re: Линия задержки на МК
« Ответ #37 : Марта 31, 2009, 09:46:05 pm »
se256 - поддерживаю :)

правда I2S я там не нашел, к SPI ацп будет плохо у арма подключаться

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

честно скажу, с армами еще дело не имел, но если ктото поможет с приобретением ацп/цап/контроллера - буду непосредственно учавствовать. Т.к. всеравно до лета планировал сделать подобное на атмеге, - чтоб человекочасы не терять лучше сразу нормальное делать. :)

ну, начинаем?  :D

zhanton

  • Гость
Re: Линия задержки на МК
« Ответ #38 : Марта 31, 2009, 10:10:57 pm »
у него SSC есть, а внем и I2S, на сколько я помню.
Начинаем, начинаем

KMG

  • Сообщений: 3776
    • ICQ клиент - 412221711
    • AOL клиент - Mike
    • Просмотр профиля
    • E-mail
Re: Линия задержки на МК
« Ответ #39 : Марта 31, 2009, 10:18:31 pm »
Страничка по 256-му, там есть документ по подключению I2S
http://www.atmel.com/dyn/products/product_card.asp?part_id=4007
Страничка по киту, там есть мануал со схемой и какие то исходники.
Даже есть оркадовский файл.
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4009

PS Если писать на С, то кроме стартапного кода глубоко пофиг какой проц.
Разве что SFRы 32 битные.