Свежие обсуждения
Измерения

LC-метр из звуковой карты

1 67 68

А мы уже читали , тут:
http://pro-radio.ru/measure/6903-101/2011/10/21/20-42-04/
и тут:
http://pro-radio.ru/measure/6873-396/2012/07/07/11-52-01/

 

Очень хорошо. Я думаю всем понятно, почему схема подобная Джорджа Стебера не эффективна.

 

Здравствуйте грамотные программисты. В программных алгоритмах я слаб, подскажите плиз последовательность каких функций надо запускать, чтобы изменить дискретизацию, битность, количество каналов на ходу. Я пробовал waveOutReset, waveOutUnprepareHeader, waveOutClose,
запуск новых параметров, и снова waveOutWrite,
не идет, где косяк, не могу понять?

 

На ходу такие вещи не меняются. Но вы делаете правильно - нужно сначала всё закрыть процедурой waveOutClose (перед этим, естественно waveOutReset, waveOutUnprepareHeader, если что-то проигрывалось), потом поменять параметры структуры WAVEFORMATEX (ну или WAVEFORMATEXTENSIBLE если 24 бита используете) и заново запустить waveOutOpen с указателем на эту структуру. Не забудьте заполнить по-новой все вспомогательные поля этой структуры типа nBlockAlign, nAvgBytesPerSec и что там ещё есть зависящее от дискретизации, битности и канальности, не помню. Проверьте правильность заполнения header-ов с новыми параметрами, там памяти достаточно выделено под lpData, dwBufferLength правильно указана...

 

Спасибо, позже попробую еще раз, а то стопорится что-то.

 

>Т.е. сигнал постоянно улучшается и это высвечивается в реальном времени.

Лучше постоянно калиброватся, ключом подключая то Zref 2, то DUT
Ключом можно управлять по 2му каналу звука, их 2 точно присутствует.

 

rial_man: >Т.е. сигнал постоянно улучшается и это высвечивается в реальном времени.
Лучше постоянно калиброватся, ключом подключая то Zref 2, то DUT

Ну, одно другому не мешает, при переключении можно занулять накопитель и снова ждать улучшения сигнала сколько не лень. И для калибровки и для измерения. Только преключение мне не нравится по 2-м причинам.
1. Нужно таки паять схему, питание к ней делать...
2. При переключении часто возникают переходные процессы, которые могут длиться... а хрен его знает сколько. По экспоненте ведь идёт. Ведь прикол этого постоянного переключения в чём? В том, что калибровка всегда свежая. А чем плоха несвежая калибровка? Плата нагревается, например? Так вот, тепловой уход за 10 минут, скажем, на мой взгляд гораздо меньше хвоста переходного процесса за секунду. Не всегда, но бывает такое. Я вот на некоторых картах вижу, что сигнал после включения за 3 показа графика не всегда устаканивается. А каждый показ длится 300 мсек примерно. Как раз секунда, и это видно глазом. Не знаю, электролиты там какие на входе заряжаются или ещё чего... Ну да, конечно, если карта хорошая, низкие частоты оцифровывает - ей нужно большое RC разделительное на входе. Тепловой уход так вот глазом не заметишь. Т.е после переключения ещё ждать нужно. Один раз при калибровке ещё можно, а вот так вот постоянно - влом.

 

Что тут скажешь, может ты и прав. А может и нет. Платы я такие делал, они получаются очень дешевые. Входной буфер на лмс662.
Результаты еще на бредбоард какие-то мутные получились. Допустим, я брал магазин сопротивлений 6ти декадный и крутил последнюю декаду (несколько ппм то есть пытался получить) - оно не видело. Предпоследнюю вроде видело но как-то не очень четко.

 

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

 

буфер по такой схеме будет работать?
Piccy.info - Free Image Hosting

Звук использую такой: http://ru.aliexpress.com/item/High-Quality-USB-6-Channel-5-1-Audio-External-Opti...