Задержку речи сделать

Доброго времени суток. Необходимо устройство для задержки речи до 1 с. Думаю для этого ипользовать PIC. Частота дискретизации килогерц 20, осюда памяти получается нужно от 20кБ. Какую память брать и как проще всего прицепить ее к пику? Есть ли где примеры реализации этого с исходниками? И как потом этот сигнал восстанавливать? Хватит ли 8-ми разрадного регистра и резисторы на его выходах? Или нужно все-таки ЦАП? Тогда какой лучше брать? Дополнительные требования: питание батарейное 3-4 акумулятора АА.

Максим

Reply to
Maxim Krasovsky
Loading thread data ...

Sat May 29 2004 12:51, Maxim Krasovsky wrote to All:

MK> Hеобходимо устройство для задержки речи до 1 с. MK> Думаю для этого ипользовать PIC. MK> Частота дискретизации килогерц 20, осюда памяти получается нужно от 20кБ.

Использовать ATMega, ввод на встроенный ADC, вывод на PWM, обычную SRAM подключить стандартным образом на шину.

VLV

"Королева Елизавета шла с целым батальоном презервативов" (c)Карамзин

Reply to
Vladimir Vassilevsky

Привет Alex!

Saturday May 29 2004 15:30, Alex Kouznetsov wrote to Maxim Krasovsky:

MK>> Hеобходимо устройство для задержки речи до 1 с. AK>

AK> То есть, телефонная полоса (до 3-4 кГц) годится? А шумов сколько AK> допускается? AK>

MK>> Думаю для этого ипользовать PIC. AK>

AK> Hафиг тебе вообще проц? AK>

MK>> Частота дискретизации килогерц 20, осюда памяти получается нужно от MK>> 20кБ. Какую память брать и как проще всего прицепить ее к пику? Есть MK>> ли где примеры реализации этого с исходниками? И как потом этот MK>> сигнал восстанавливать? Хватит ли 8-ми разрадного регистра и MK>> резисторы на его выходах? Или нужно все-таки ЦАП? Тогда какой лучше MK>> брать? Дополнительные требования: питание батарейное 3-4 акумулятора MK>> АА. AK>

AK> Динамическое ОЗУ 565РУ5 (64 килобита), на входе дельта-модулятор (один AK> Д-триггер и интегратор), на выходе демодулятор (просто интегратор), AK> генератор тактовой и счетчик для выдачи адресов. Так когда-то делались AK> ревербераторы. Обычно памяти ставили больше чтобы поднять тактовую до 200

Продолжу аналогию про "нафига тебе вообще проц?" - а нафига вообще триггеры и память? Два десятка лет назад реверы делали уже не только на дельте с ОЗУ, но и на

528БР* (аналоговые линии задержки на ПЗС), неужели за это время ничего нового похожего не появилось ?

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Reply to
Alexander Torres

Hi Maxim, Sat May 29 2004 12:51, Maxim Krasovsky wrote to All:

MK> Hеобходимо устройство для задержки речи до 1 с.

То есть, телефонная полоса (до 3-4 кГц) годится? А шумов сколько допускается?

MK> Думаю для этого ипользовать PIC.

Нафиг тебе вообще проц?

MK> Частота дискретизации килогерц 20, осюда памяти получается нужно от 20кБ. MK> Какую память брать и как проще всего прицепить ее к пику? Есть ли где MK> примеры реализации этого с исходниками? И как потом этот сигнал MK> восстанавливать? Хватит ли 8-ми разрадного регистра и резисторы на его MK> выходах? Или нужно все-таки ЦАП? Тогда какой лучше брать? MK> Дополнительные требования: питание батарейное 3-4 акумулятора АА.

Динамическое ОЗУ 565РУ5 (64 килобита), на входе дельта-модулятор (один Д-триггер и интегратор), на выходе демодулятор (просто интегратор), генератор тактовой и счетчик для выдачи адресов. Так когда-то делались ревербераторы. Обычно памяти ставили больше чтобы поднять тактовую до 200 кГц и выше, это уменьшало шумы квантования; и еще ставили адаптивную дельта модуляцию. Но для речевого сигнала телефонного качества все это не нужно, одну секунду при с/ш децибел в 40-50 и так вытянешь.

Пока, Алексей

Reply to
Alex Kouznetsov

Пpивет, Maxim!

■ Дело было 29 May 04, Maxim Krasovsky писал All

MK> Hеобходимо устройство для задержки речи до 1 с. Эхо что ли??? Или пpосто ЗАДЕРЖKА и всё? каой смысл :-/

MK> Думаю для этого ипользовать PIC. Можно на чём-нить из MCS-51 сваять... он и с SRAM (62256, напpимеp) аппаpатно pаботает. Hапpимеp 80C552 (Philips) он и с АЦП и ШИМ у него есть, котоpый в качестве ЦАПа задействовать несложно. Вот олько именно этот ROMless ;) ПЗУху пpипаивать надо.... Для воспpоизведения pечи и 11кГц хватает, пpи 8битной оцифpовке

Всего наилучшего. Пока.

Reply to
Stas Shilo

Чем качественне тем лучше, частота дискретизации была выбрана 20 для того чтобы получить полосу до 10 кГц. Реально частота дискретизации будет такая, сколько будет памяти и соответственно выставленной задержке, т.е. если памяти я поставлю 32 кБ и задержку на 1 с, то частота дискретизации будет соответственно 32 кГц.

Вот нарыл в инете схемку, кажется по твоему описанию,

formatting link
УД2+ЛН1+561ИЕ10+2*555КП11+ру5+ТМ2 - итого 8 корпусов, для меня это много. У меня процессор, это и генератор и счетчик и регистр = 1 корпус + память - выигрыш как минимум в размере налицо.

Максим

Reply to
Maxim Krasovsky

MK> Hеобходимо устройство для задержки речи до 1 с. MK> Думаю для этого ипользовать PIC. MK> Частота дискретизации килогерц 20, осюда памяти получается нужно от 20кБ. MK> Какую память брать и как проще всего прицепить ее к пику? Есть ли где MK> примеры реализации этого с исходниками? И как потом этот сигнал MK> восстанавливать? Хватит ли 8-ми разрадного регистра и резисторы на его

Даю мысль. Дельта-сигма АЦП-ЦАП и динамическая 1-разрядная память на много килобит. Hапример, 565РУ7Г или импортные, более ёмкие, аналоги. В принципе, PIC заменяется мелкой логикой, или на ПЛИС.

Reply to
Kirill Frolov

AK> уменьшало шумы квантования; и еще ставили адаптивную дельта модуляцию. ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Это как?

Reply to
Kirill Frolov

Hi Kirill,

Sun May 30 2004 03:38, Kirill Frolov wrote to Alex Kouznetsov:

AK>> уменьшало шумы квантования; и еще ставили адаптивную дельта модуляцию.

KF> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ KF> Это как?

Скорость интегратора меняется в зависимости от входного сигнала, приспосабливаясь (адаптируясь) к нему. В обычном дельта-модуляторе на вход интегратора подается знак разности сигналов (вместо интегратора нарисована RC-цепочка)

+------------+ +----+ Вх -----| |------|D |----R---*---+ | компаратор | +--/C | | | +--| | | | | C | | +------------+ | +----+ | | | | gnd | +----------------------------------------+ | тактовая

Если знак разности остается постоянным долгое время, это значит что модулятор "не догоняет" входной сигнал. В адаптивном модуляторе скорость интегрирования постепенно нарастает если знак не меняется, а при смене знака скорость сбрасывается в единицу. Делалось это, например, при помощи сдвигового регистра со сбросом.

Пока, Алексей

Reply to
Alex Kouznetsov

Sun May 30 2004 05:30, Alex Kouznetsov wrote to Kirill Frolov:

AK>>> уменьшало шумы квантования; и еще ставили адаптивную дельта модуляцию. AK> Скорость интегратора меняется в зависимости от входного сигнала, AK> приспосабливаясь (адаптируясь) к нему.

А еще специально для тех, кому нравится дерьмовое качество и кто жить не может без изобретения велосипедов, фирмой MX-COM (бывшая CML) выпускаются CSVD кодеки, которые осуществляют описанное преобразование на практике, только фиг ли толку...

VLV

"Королева Елизавета шла с целым батальоном презервативов" (c)Карамзин

Reply to
Vladimir Vassilevsky

Maxim, ты ещё здесь сидишь?

Суббота Май 29 2004 12:51, Maxim Krasovsky wrote to All:

MK> Hеобходимо устройство для задержки речи до 1 с. MK> Думаю для этого ипользовать PIC.

Хозяин-барин, в принципе можно на PIC'е.

MK> Частота дискретизации килогерц 20,

Аналоговый фильтр придётся _хороший_ ставить, рабочая полоса частот получится _меньше_ 10 кГц.

MK> осюда памяти получается нужно от 20кБ. Какую память брать и как проще MK> всего прицепить ее к пику?

Проще подцепить напрямую SRAM 32K*8 (а то и 64K), выбрать частоту дискретизации 32 кГц и получить ту же задержку в 1 с (8-ми битный режим). Аналоговая часть схемы станет куда проще.

MK> Есть ли где примеры реализации этого с исходниками? И как потом этот MK> сигнал восстанавливать?

Тривиальная схемка, несложная программка. Берёшь PIC16F874/877(A), подключаешь к примеру вот так:

PIC

------------------------------------------- RA0/AN0 аналоговый вход (входной фильтр звука) RA1/AN1 аналоговый вход (регулятор задержки) RC2/CCP1 выход ШИМ (выходной фильтр звука) RB0-RB7 SRAM I/O0-I/O7 RD0-RD7 SRAM A0-A7 RE0-RE2,RC3-RC6 SRAM A8-A14 RA5 SRAM -OE RA2 SRAM -WE

MK> Хватит ли 8-ми разрадного регистра и резисторы на его выходах? Или MK> нужно все-таки ЦАП? Тогда какой лучше брать?

Можно вопрос поточнее сформулировать? Проще всего работать с 8-битной разрядностью (для речи этого должно хватать), хотя АЦП и ШИМ (используемый в качестве ЦАП) в этом контроллере 10-битные. Предельные параметры по доке:

АЦП - порядка 50 кГц (10-битный режим) ШИМ - 78,12 кГц (8-ми битный режим, 20 МГц тактовая)

MK> Дополнительные требования: питание батарейное 3-4 акумулятора АА.

Потребление устройства до 10 мА тебя устраивает? Импульсный преобразователь для стабилизации напряжения схемы не хочешь поставить?

Георгий

Reply to
George Shepelev

Sun May 30 2004 07:52, Vladimir Vassilevsky wrote to Alex Kouznetsov:

AK>>>> уменьшало шумы квантования; и еще ставили адаптивную дельта модуляцию. AK>> Скорость интегратора меняется в зависимости от входного сигнала, AK>> приспосабливаясь (адаптируясь) к нему.

VV> кому нравится дерьмовое качество и кто жить VV> не может без изобретения велосипедов,

Что есть "дерьмовое качество", особенно применительно к речевому сигналу? Ты имеешь представление о том, какое качество сигнала получалось на простом самодельном ADM?

Пока, Алексей

Reply to
Alex Kouznetsov

Sat May 29 2004 20:20, Maxim Krasovsky wrote to Alex Kouznetsov:

MK> Вот нарыл в инете схемку, кажется по твоему описанию, MK>

formatting link
MK> 157УД2+ЛH1+561ИЕ10+2*555КП11+ру5+ТМ2 - итого 8 корпусов, для меня это MK> много.

Это не то, там прямым текстом написано: "На пути к упрощению конструкции пришлось применить широтно-импульсную модуляцию (ШИМ), отказавшись от импульсно-кодовой и дельта- модуляции". Насчет "упрощения" - оставим на их совести, для простого ревера на обычной дельта-модуляции требовалось вдвое меньше корпусов.

MK> У меня процессор, это и генератор и счетчик и регистр = 1 корпус + память MK> - выигрыш как минимум в размере налицо.

Конечно можно использовать PIC как генератор и счетчик, но при этом потеряется возможность _плавной_ регулировки времени задержки, да и макс. тактовая будет заметно ограничена.

Пока, Алексей

Reply to
Alex Kouznetsov

Sun May 30 2004 13:34, Alex Kouznetsov wrote to Vladimir Vassilevsky:

AK> Что есть "дерьмовое качество", особенно применительно к речевому сигналу? S/(THD+N) ~ 30dB.

AK> Ты имеешь представление о том, какое качество сигнала получалось на AK> простом самодельном ADM?

Плохое, очевидно. И не потому, что самодельный, а потому, что у CSVD при скоростях ~64kbit оно в принципе плохое.

VLV

"Королева Елизавета шла с целым батальоном презервативов" (c)Карамзин

Reply to
Vladimir Vassilevsky

Sun May 30 2004 16:07, Vladimir Vassilevsky wrote to Alex Kouznetsov:

AK>> Что есть "дерьмовое качество", особенно применительно к речевому AK>> сигналу?

VV> S/(THD+N) ~ 30dB.

AK>> Ты имеешь представление о том, какое качество сигнала получалось на AK>> простом самодельном ADM?

VV> Плохое, очевидно. И не потому, что самодельный, а потому, что у CSVD VV> при скоростях ~64kbit оно в принципе плохое.

FYI, даже 20 лет назад в музыке никто не пользовал реверы, у которых с/ш было хуже 60 дБ. На АДМ это получалось при частотах от примерно 100кГц и выше. На

64кГц АДМ даст неплохое качество для "телефонного" речевого сигнала.

Пока, Алексей

Reply to
Alex Kouznetsov

Sun May 30 2004 17:03, Alex Kouznetsov wrote to Vladimir Vassilevsky:

AK>>> Что есть "дерьмовое качество", особенно применительно к речевому AK>>> сигналу?

VV>> S/(THD+N) ~ 30dB.

AK>>> Ты имеешь представление о том, какое качество сигнала получалось на AK>>> простом самодельном ADM?

VV>> Плохое, очевидно. И не потому, что самодельный, а потому, что у CSVD VV>> при скоростях ~64kbit оно в принципе плохое.

AK> FYI, даже 20 лет назад в музыке никто не пользовал реверы, у которых с/ш AK> было хуже 60 дБ.

То, что применялось 100 лет назад, сейчас представляет чисто исторический интерес.

AK> Hа АДМ это получалось при частотах от примерно 100кГц и AK> выше.

  1. Какая там была память 20 лет назад? 565РУ3 на 16k? 2. Зависимость от Fsa квадратичная, то есть ~40dB SNR на 100kHz, может быть, и получится. 3. Для приемлемого SNR нужен оверсамплинг примерно на два порядка, то есть Fsa от 1MHz.

AK> Hа 64кГц АДМ даст неплохое качество для "телефонного" речевого AK> сигнала. Хуже, чем обычные A/u law с той же скоростью. Единственное достоинство этого вида модуляции: информация - неформатный поток битов.

VLV

"Королева Елизавета шла с целым батальоном презервативов" (c)Карамзин

Reply to
Vladimir Vassilevsky

Пpивет, Maxim!

*** 29 May 04 11:51, Maxim Krasovsky wrote to All:

MK> Думаю для этого ипользовать PIC. MK> Частота дискретизации килогерц 20,

А не много ? Для речи телефонного качества достаточно 8 килосемплов, а если хочется лучшего - то и разрядности в 8 битов явно маловато...

MK> осюда памяти получается нужно от MK> 20кБ. Какую память брать и как проще всего прицепить ее к пику?

Я для такой задачи использовал динамическую память 64Кx4, объединив (для экономии ног) шину адреса и данных. Увы - они уже не производятся, корпуса крупные, трехвольтовые тоже будет найти не просто. А современные - очень уж избыточны по объему.

MK> восстанавливать? Хватит ли 8-ми разрадного регистра и резисторы на MK> его MK> выходах? Или нужно все-таки ЦАП?

Худо-бедно - да. Можно попробовать собственный PWM микроконтроллера (при его наличии).

MK> Тогда какой лучше брать? Дополнительные требования: питание MK> батарейное 3-4 акумулятора АА.

Я бы использовал (если достаточно телефонного качества) готовый телефонный кофидек (даже без "бы" - я такое и делал, только на Atmel 90s1200). Hо - нужен трехвольтовый, да и память трехвольтовую надо бы.

с уважением Владислав

Reply to
Vladislav Baliasov

Пpивет, Alex!

*** 30 May 04 12:34, Alex Kouznetsov wrote to Vladimir Vassilevsky:

VV>> кому нравится дерьмовое качество и кто жить VV>> не может без изобретения велосипедов,

AK> Что есть "дерьмовое качество", особенно применительно к речевому AK> сигналу? Ты имеешь представление о том, какое качество сигнала AK> получалось на простом самодельном ADM?

Я - имею. Делал. В сравнении с готовым телефонным кофидеком - хлам.

с уважением Владислав

Reply to
Vladislav Baliasov

Пpивет, Alex!

*** 30 May 04 12:48, Alex Kouznetsov wrote to Maxim Krasovsky:

MK>> + память - выигрыш как минимум в размере налицо.

AK> Конечно можно использовать PIC как генератор и счетчик, но при этом AK> потеряется возможность _плавной_ регулировки времени задержки,

RC-режим тактирования уже отменили ?

с уважением Владислав

Reply to
Vladislav Baliasov

Hello Maxim!

29 May 04 12:51, you wrote to All:

MK> Hеобходимо устройство для задержки речи до 1 с. MK> Думаю для этого ипользовать PIC.

Выдрать из старой видяхи чипы 256к по 4 бита, подать -RAS -CAS -WR -OE с порта Це, шины данных и адреса в параллель с порта Бе, A8 занулить за ненадобностью, вход звука в порт А, выход с ШИМа - и понеслась душа в ад.

Anatoly

Reply to
Anatoly Mashanov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.