Я для выделения спектра частот использую bass.dll - намного проще. А вот реализацию на DirectX и пересчёт фурье на Си шарпе встретил впервые. Вы не задумывались добавить эффектов, например цифровые часы, светодинамические узоры с возможностью редактирования пользователем и т.д.? У меня есть подобный проект часов, только статических на 960 светодиодов. Можно здесь посмотреть видео - http://bascom.at.ua/2010/960/Clock.rar
Как вы думаете, можно ли поднять скорость передачи таким способом через последовательный порт? Есть желание сотворить подобное, но на RGB. Ещё думал расположить передающие светодиоды по внешнему радиусу, параллельно штук 8 и направив их на фотоприёмник. Может тогда получится избавиться от проводов к центру?
Цифровые и узоры конечно можно сделать. Надо будет впихнуть. А вот по поводу, что bass.dll можно спектр получить я слышу впервые. Думал через нее только звук получают. ЪХотя особо и не интересовался, так думал о том как ее в Шарпе подключать. Просто взял DirectSound и DFT благо на Шарпе все это делается очень просто в отличии от С++! Хотя на Шарпе есть один подводный камень - много жрет программа ресурсов! Пока не знаю как ее оптимизировать!
По поводу скорости - я и так на пределе взял для мышковой оптики! Выше передает с ошибками - педел 19200. Точек 120на2байтов, то есть за раз передается 240 байт! 19200 бит в сек = 2400 байт в сек! Отсюда видно, что максимальная частота 10 герц! Чтобы поднять частоту таким образом нужно брать соответственно другие ИК приемники и передатчики. Экмпериментируйте!
Скачайте на официальном сайте http://www.un4seen.com/download.php?z/4/Bass24.Net.zip
Там отличные сэмплы на C# и VBNET. Единственная проблема - выводит при старте своё окошко. Но если выслать им письмо с регистрацией, они тут же присылают код, привязанный к почтовику. Потом в ресурсах прописываем одну строчку - наш почтовый ящик и высланный код. Программу можно использовать для себя. Если на продажу, предлагают купить библиотеку. Но мы же не на продажу делаем .
отличная библиотека я вам скажу! И уровень сигнала, и спектр, и эффекты, и регулировки. Есть ещё возможность с помощью ихней же библиотеки воспроизводить караоке и перехватывать текст. Тож можно в часы запихнуть.
Можно попробовать предавать сигнал через вращающийся транс. Поднять частоту килогерц до 200 и промодулировать информационным сигналом. Где то такое решение встречалось.