[ВХОД]

02.04.26(00:26)

skif.biz

Альтернативная энергия. Оставь надежду, всяк сюда входящий...

🏠 Главная | 📚 Содержание | 💬 Форум | 📁 Файлы | 📩 Контакт

📱 | 🖨️

Форум - Прочие идеи (разные) - Схемотехника - Измерительные приборы на ПК - Стр:2
<] [ 1 | 2 ]
Модератор: SergeyA
Первый пост темы: SergeyA Post: #98635 От:30.01.2008 (11:13)
Коллеги!

У кого-нибудь есть исходники программы на С++ для работы со звуковой картой? Задача несложная, надо выдавать синус нужной частоты и амплитуды и "хватать" отклик с линейного входа.
"Хватать" отклик пробовал зписав его обычным Виндовым рекордером и разбирать WAV файл программкой. Всё получается, но теперь надо смотреть отклики от разных частот и амплитуд, поэтому хочется знать в каком месте в отклике какое было воздействие.... поэтому хочу совместить всё в одно.

Если есть какое-нить описание как с картой работать, то было бы тоже здорово. Правда конечно много лучше с примерами.
Ieronim | Post:99220 - Date: 03.02.08(03:52)
а программу попробуйте написать. 😀
Что бы поток данных с линейного входа обрабатывался по заданному мат. алгоритму и складывался в файл?

Наверно не хотите - и я не хочу в виндовом мусоре копаться.
Допустим нужно прочитать данные и поделить каждое из чисел на два.
К простому вычислению в одну строчку надо прицепить вагон разных заклинаний типа:
HMMIO hMMIO = mmioOPen(fileName,
NULL, MMIO_READ | MMIO_ALLOCBUF);
Вместо простого -взял из регистра, поделил, положил в память.
Реальное время не доступно. Информации по железу почти нет,кроме самой простой. Никогда нет уверенности что работает так как надо, а не так как винда захотела.
В результате чем больше программируешь, тем больше ...программируешь 😀


SergeyA | Post:99323 - Date: 03.02.08(22:05)
Друзья!

Все уже написал и работает. Остался микшер. Думаю на днях закончить. Большое всем спасибо. Как допишу - выложу на всеобщее обозрение. Может кому понадобится.

Однако конечно дискретность 48 кГц это 😕
Математику надо прикладывать к этому однако....



djonny | Post:99338 - Date: 03.02.08(23:07)
SergeyA Пост: 99323 От 03.Feb.2008 (22:05)

Однако конечно дискретность 48 кГц это 😕


согласен. звуковуха ESI Juli@ к примеру 24 бит и 192 кГц на запись поддерживает и при использовании ASIO драйвера задержка в районе 2 мс. к тому же есть балансные входы (выходы).

Ieronim | Post:99359 - Date: 04.02.08(02:20)
SergeyA Пост: 99323 От 03.Feb.2008 (22:05)
Друзья!

Все уже написал и работает. Остался микшер. Думаю на днях закончить. Большое всем спасибо. Как допишу - выложу на всеобщее обозрение. Может кому понадобится.

Однако конечно дискретность 48 кГц это 😕
Математику надо прикладывать к этому однако....



Получилось? Это здорово!
Я бы не отказался от такой программы 😀
Могу поделиться взамен чем нибудь полезным, математикой в том числе, например как 48 кгц пересчитать в 480 кгц или что еще.
Или хорошим фильмом напрмер 😀

А почему 48? У меня две встроенных карты и одна внешняя USB и все на 192 работают, максимум 200 кгц.

=согласен. звуковуха ESI Juli@ к примеру 24 бит и 192 кГц на запись поддерживает и при использовании ASIO драйвера задержка в районе 2 мс. к тому же есть балансные входы (выходы).=

между каналами задержка практически 0, они одновременно тактируются.

SergeyA | Post:99398 - Date: 04.02.08(11:32)
Прога получилась идеологически совсем несложная. Основные проблемы именно с дискретностью входа и наличием различных искажений при низком входном сигнале (шумы, наводки).

1. Заполнение буфера для генерации синуса нужной частоты (1 период).
2. Запуск воспроизведения в кольцевом режиме.
3. Считывание сигнала в 2 массива (по каналам), пока длина записи считается в сеундах, а не в периодах.
4. Разбор входного сигнала: наложение фильтра при необходимости на нижних частотах - использован способ скользящего среднего, вычисление массива периодов входного сигнала, вычисление массива разностей фаз (поиском точек перехода через ноль), поиск в обоих массивах значений с наименьшим матожиданием. Анализ максимальной амплитуды сигнала по каждому каналу... далее здесь должно быть выравнивание уровней микшера и в цикл на считывание до получения качественного сигнала.

5. выключение воспроизведения и опять на 1

Поскольку частота известна, то думаю будет много точнее восстановить синус входного сигнала по входным значениям и от него расчитать фазу, поскольку погрешность в один такт на 48кГц дискретизации приводит к достаточно большим девиациям угла фазы.

Потом появились "ньюансы". Новый выходной сигнал почему-то изменяется по прошествии некоторого времени, хотя выход был сброшен, петли остановлены, прошло несколько секунд (трассирование проги в ручном режиме)... То есть сначала в буфере старый сигнал, потом переходный процесс, потом новый. Задержка до 8000 тактов....
Наличие во входном буфере старых остатков думаю можно исключить. поскольку все программные буфера на каждом цикле пересоздаются и вход закрывается и открывается заново, ровно как и выход.

Ну и разные прочие.
Прогу в текущем состоянии в исходнике могу выложить сегодня вечером.
Написана в консольном варианте.


12val12 | Post:99586 - Date: 05.02.08(16:24)
я работал со звуковой. делал вроде осциллографа есть пару прог на
FreeBasic самописных осциллограммы + Дпф
НАБЛЮДАЛ СПЕКТР СТЕРЕОСИГНАЛА С ПИЛОТ ТОНОМ ..КАК В ТЕОРИИ
ОДНАКО ПОЛОСА ЧАСТОТ ОГРАНИЧЕНА 20 кгЦ ДАЖЕ ЕСЛИ дискретизация 96 -192
кГц (скорее всего цифровой фильтр так как фильтрующие конденсаторы отпаял входной сигнал прятмо на ноги МС поступал )
коротил конденсаторы проходные (для постоянки)(Solo1 ,ESS868 ,AD1816
(вторая в дуплексе почему то не работало
всё работало.
да ксатати делал и на LPT на 572ПА1+ копмаратор тоже работало .. предел около 30 кГц(зависит от частот шины например в старом Бх
1.5 мкс время чтения или записи в порт 378-379) однако 8 бит
c0840e.bas
Размер: 3.42 KB

Ieronim | Post:99663 - Date: 06.02.08(01:31)
12val12!
спасибо за программку. Поробовал - работает 😀 . Попобую позже переделать для своих вычислений.
Basic зря ругают 😀

Спасибо!

SergeyA | Post:99861 - Date: 07.02.08(11:18)
Друзья!

Как и обещал, прикладываю исходники программы для измерения разности фаз сигналов на двух каналах при переборе выходных частот. То бишь для измерения частотной зависимости угла фазы четырехполюсника.
Делалась для измерения, а не для красоты 😀
Кому что надо - можно подергать. Алгоритмы явно не оптимальные. Достоверно работает в небольшом диапазоне частот ну и всякие остальные тонкости. Компилять Visual Studio C++ 2008, который у Микрософт бесплатный для личных проектов. Можно просто качать, устанавливать и регить. Как я и делал. Если интересно, то буду выкладывать дальнейшие доработки.
Мои файлы в архиве gen+catch2.cpp и MMReadFunctions.h остальное С++ визард сам накропал.
80eda7.rar
Размер: 4.55 KB

Буратино | Post:129755 - Date: 28.08.08(18:32)
А мне нужна схема оптической мыши. У кого ни будь есть, что ни будь?

ert_zeb | Post:129835 - Date: 29.08.08(13:37)
А зачем именно она нужна? Если в качестве датчика движения, то его можно организовать из готового датчика (например вращения ВЕ-178) и микроконтроллера.
К тому же мыши включают подсветку, если "видят" движение. Так можно обнаружить движение без компа. Я такое уже делал.

Печкин | Post:129921 - Date: 30.08.08(07:36)
набери в яндексе "оптическая мышь схема"
[ссылка]
[ссылка]


Metronom | Post:130228 - Date: 01.09.08(15:01)
мыши включают подсветку, если "видят" движение



если нужен просто факт движения, то можно с помощью фотосопротивления и конденсатора , думаю что то подобное в датчиках движения сигнализации

_________________
** АДНАЗНАЧНА!


Буратино | Post:130634 - Date: 04.09.08(14:20)
ert_zeb Пост: 129835 От 29.Aug.2008 (14:37)
А зачем именно она нужна?

Инвалиду без кисти руки хочу сделать мышку. При движени рукой работают мышцы, с них можна снять потенциалы, усилить их преобразовать в информационный сигнал. Надо сообразить как их подать в комп.

ert_zeb | Post:130641 - Date: 04.09.08(15:36)
Надо ещё тренировать мышцы. Мы можем двигать своими руками не только потому, что они есть, но ещё и потому, что "знаем где они находятся". Т.е. нервная система должна знать источник сигнала. Людям после инсульта часто бывает трудно двигаться от того, что они не чувствуют части тела.
Поэтому есть смысл подавать сигналы на кожу и пытаться создавать ответные реакции источнику для тренировки нервной системы. По идее можно получить "ответ" примерно там, куда приложен импульс. Но надо "угадать" с "нервными дугами", поскольку не все нервы "закольцованы" в спинном мозге.

kriotron | Post:130644 - Date: 04.09.08(15:52)
2 Буратино.
Используй джойстик вместо мыши - его проще под культю доделать. Можно плату от джойстика приставки "денди" взять, кнопки специальные удобные и большие припаять и подцепить к LPT-порту. Драйверы и схемы в инете есть. Биосигналы мониторить - это хорошо, но помех и наводок от компа куча идёт. Один импульсный БП так широкополосно фонит, что хрен отфильтруешь полезный сигнал...миливольты нервных импульсов. Пройденный этап. Я пытался усилители от кардиографоф и энцефалографоф применять: монитор надо TFT и комп в другой комнате, чтоб помехи снизить. БЕРИ ДЖОЙСТИК И ДОРАБАТЫВАЙ НАПИЛЬНИКОМ. Люди не жалуются. Дешево и быстро...и сломать не жалко, пока координацию оттачиваешь.

_________________
Не бойся делать то, чего не знаешь. Ковчег построил любитель - профи создали Титаник.


kriotron | Post:130645 - Date: 04.09.08(15:56)
И ещё...Есть в продаже мониторы с touch-screen'ом. Очень удобно. Прикрепил к руке фторопластовую палочку и работай на здоровье.

_________________
Не бойся делать то, чего не знаешь. Ковчег построил любитель - профи создали Титаник.


AlexZander | Post:130648 - Date: 04.09.08(16:17)
Незнайка! Зачем плодить сущности сверх необходимого? Есть мышь - для удобства пользования без кисти руки достаточно немного доработать. В некоторых случаях можно сделать так: нагреть на плите корпус мыши и вдавить горбину - получится корпус с выемкой под остаток руки. Так двигать будет удобнее. И две педальки под стол. Левая педалька мыши, правая педалька мыши. Ноги то у товарисча надеюсь в порядке? Вполне себе бюджетное экспресс-решение.


birra | Post:130654 - Date: 04.09.08(18:47)
Москва, Коровинское ш. д. 17а Протезный завод 3 этаж, занимаются протезами рук, есть любые насадки, в том числе и биометрические. но действительно надо учиться, люди даже работают.

Буратино | Post:130680 - Date: 04.09.08(23:27)
kriotron Пост: 130644 От 04.Sep.2008 (16:52)
2 Буратино.
Используй джойстик вместо мыши - его проще под культю доделать.

Хорошая идея kriotron! Спасибо за совет.

<] [ 1 | 2 ]
У Вас нет прав отвечать в этой теме.
Форум - Прочие идеи (разные) - Схемотехника - Измерительные приборы на ПК - Стр 2
🏠 Главная | 📚 Содержание | 💬 Форум | 📁 Файлы | 📩 Контакт