nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 13:30



Reply to topic  [ 77 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Недопередача кода по звуковым каналам 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Дык я ЦИФРОВЫМИ фильтрами занимался, а это аналоговые - я в них профан :)

Ну если это будет принципиально - я посчитаю тебе точную задержку.
Хотя есть у меня уверенность, что она практически незаметна.

Я сталкивался с такими фильтрами, когда увлекался аппаратурой АОН как раз
для телефонного кода 2 из 7.

Там было 2 распространённых похода: оцифровка через компаратор и целочисленный
анализ Фурье - заметно небыстрый алгоритм, но простая аппаратная реализация...

И второй подход - 7 активных фильтров на счетверенных ОУ с компараторами
на выходе - работало практически мгновенно...
Но ясный пень - аппаратно затратно...


PS. Просто так считать сейчас некогда - EDUC-8 занимаюсь...

_________________
iLavr


11 Oct 2012 09:22
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Ну если говоришь что работало практически мгновенно, то этого наверное достаточно - считать ненадо :)

_________________
:dj: https://mastodon.social/@Shaos


11 Oct 2012 09:46
Profile WWW
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
Я АОН к "Ориону" тоже делал на отдельных фильтрах с переключаемыми конденсаторами на ОУ. Задержки в срабатывании фильтров не ощущались, однако и скорости обмена там низки.


11 Oct 2012 22:12
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
VituZz wrote:
Я АОН к "Ориону" тоже делал на отдельных фильтрах с переключаемыми конденсаторами на ОУ.

Так на этом принципе отдельная ИС есть: 1000ВЖ-какая-то...
Выдаёт цифры сразу в коде.

_________________
iLavr


12 Oct 2012 03:04
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Вот приёмо-передачтик FSK на двух микросхемах 4046 пролетел через www.dangerousprototypes.com :

http://dangerousprototypes.com/2014/11/ ... fsk-modem/

Quote:
This project is about 4046 PLL base simple FSK modem. Under given configuration this modem send digital signals over two frequencies and which is switching around 378kHz and 226kHz. In this system, modulator uses VCO of 4046, and demodulator is based on close loop mode of 4046 phase comparator and external LPF assembly.
This FSK modem is specifically design to transfer digital signals over mixed signal lines and it can directly use with any slow digital interfaces like UARTs. This system operates reliably under 10kHz range and we test it with standard TTL inputs.


Image

_________________
:dj: https://mastodon.social/@Shaos


10 Nov 2014 20:41
Profile WWW
Senior

Joined: 23 Feb 2015 15:37
Posts: 151
Location: OMS
Reply with quote
Подниму тему.
Не задумывались ли уважаемы электронщики, использовать для прямой коммутации двух троичных машин, звуковой оптический разъём SP/DIF?
Так скажем оптически-звуковой модем. И ещё: раз зашла пьянка о передаче данных по модемам, можно использовать ISDN формат, для многоканального модемного подключения (тоже звукового). Единственное но, в модем нужно будет встраивать телефонный коммутатор для цифровых линий ISDN (хотя думаю, данную схему можно будет найти).


24 Jun 2015 23:22
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Вот тут описан блочный Kansas City Standard с блоками по 256 байт и заголовками с адресами куда пишется:

http://www.gammon.com.au/Arduino/cassette_interface.pdf

Но я наверное с блоками не буду заморачиваться, а возьму из этого скана только базовое описание KCS:
1) Mark (логическая единица) представляется восемью циклами сигнала 2400 Гц;
2) Space (логический ноль) представляется четырьмя циклами сигнала 1200 Гц;
3) Каждый символ представляет из себя Space (0) как старт, далее восемь битов данных и потом два или более Mark (1) как стоп;
4) Интервал между символами представляется неопределённой продолжительностью на частоте Mark;
5) При передаче битов данных младший бит передаётся первым, а старший бит - последним;
6) Данные сгруппированы в блоки произвольной длины, перед каждым из которых идёт как минимум 5-секундный Mark;
7) Не рекомендуется записывать ничего осмысленного в первые 30 секунд плёнки сразу после прозрачного участка...

P.S. Пункты 3 и 4 недвусмысленно намекают, что расстояние между байтами нефиксированное - старт байта детектируется по первому попавшемуся Space (1200 Гц) и до этого может пройти сколь угодно много Mark (2400 Гц), а в качестве пилот-тона используются всё тот же сигнал 2400 Гц (как минимум 5 секунд или 12000 периодов).

_________________
:dj: https://mastodon.social/@Shaos


15 Apr 2018 23:12
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Вобщем генерить буду честные синусоиды 1200 Гц и 2400 Гц 4-битным ЦАП-ом с частотой дискретизации 24000 Гц для записи на магнитофон (или ухода в звуковой канал передачи данных), а чтение обратно будет делаться однобитным входом, куда будет подаваться отфильтрованный сигнал, причём читалку постараюсь сделать гибкой, чтобы она сама подстраивалась под частоту пилот-тона. А позже можно будет попробвать уменьшить количество периодов в Mark и Space, чтобы повысить плотность записи. Эксперименты будут делаться на недокомпьютере nedoPC-85-MK, который похоже становится моим основным подопытным кроликом...
:roll:
Code:
F     ***
E    *****
D    *****
C   *******
B   *******
A  *********
9  *********
8 ***********
7 ***********
6 ************       *
5 ************       *
4 *************     **
3 *************     **
2 **************   ***
1 ********************
0 ********************
  8ACEFFFECA8642111246

_________________
:dj: https://mastodon.social/@Shaos


16 Apr 2018 18:49
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Shaos wrote:
Вот тут описан блочный Kansas City Standard с блоками по 256 байт и заголовками с адресами куда пишется:

http://www.gammon.com.au/Arduino/cassette_interface.pdf

Но я наверное с блоками не буду заморачиваться, а возьму из этого скана только базовое описание KCS:
1) Mark (логическая единица) представляется восемью циклами сигнала 2400 Гц;
2) Space (логический ноль) представляется четырьмя циклами сигнала 1200 Гц;
3) Каждый символ представляет из себя Space (0) как старт, далее восемь битов данных и потом два или более Mark (1) как стоп;
4) Интервал между символами представляется неопределённой продолжительностью на частоте Mark;
5) При передаче битов данных младший бит передаётся первым, а старший бит - последним;
6) Данные сгруппированы в блоки произвольной длины, перед каждым из которых идёт как минимум 5-секундный Mark;
7) Не рекомендуется записывать ничего осмысленного в первые 30 секунд плёнки сразу после прозрачного участка...

P.S. Пункты 3 и 4 недвусмысленно намекают, что расстояние между байтами нефиксированное - старт байта детектируется по первому попавшемуся Space (1200 Гц) и до этого может пройти сколь угодно много Mark (2400 Гц), а в качестве пилот-тона используются всё тот же сигнал 2400 Гц (как минимум 5 секунд или 12000 периодов).

Чтобы расширить этот "стандарт" третьим состоянием для Ternary Kansas City можно скажем ещё промежуточную частоту 1800 Гц добавить...

_________________
:dj: https://mastodon.social/@Shaos


31 May 2020 17:57
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Quote:
...что расстояние между байтами нефиксированное - старт байта детектируется по первому попавшемуся Space (1200 Гц) и до этого может пройти сколь угодно много Mark (2400 Гц), а в качестве пилот-тона используются всё тот же сигнал 2400 Гц (как минимум 5 секунд или 12000 периодов).

Чтобы расширить этот "стандарт" третьим состоянием для Ternary Kansas City можно скажем ещё промежуточную частоту 1800 Гц добавить...

Поскольку есть Mark и Space третьим состоянием в посылке может быть просто отсутствие сигнала.
В "Простейшей ЭВМ на 580ВМ80" так лог. "0" формировали - на мой взгляд - весьма неглупо.

_________________
iLavr


01 Jun 2020 14:43
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
Quote:
...что расстояние между байтами нефиксированное - старт байта детектируется по первому попавшемуся Space (1200 Гц) и до этого может пройти сколь угодно много Mark (2400 Гц), а в качестве пилот-тона используются всё тот же сигнал 2400 Гц (как минимум 5 секунд или 12000 периодов).

Чтобы расширить этот "стандарт" третьим состоянием для Ternary Kansas City можно скажем ещё промежуточную частоту 1800 Гц добавить...

Поскольку есть Mark и Space третьим состоянием в посылке может быть просто отсутствие сигнала.
В "Простейшей ЭВМ на 580ВМ80" так лог. "0" формировали - на мой взгляд - весьма неглупо.

тишину тяжело детектировать т.к. там будет не тишина, а шум :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


01 Jun 2020 17:51
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Lavr wrote:
Поскольку есть Mark и Space третьим состоянием в посылке может быть просто отсутствие сигнала.
В "Простейшей ЭВМ на 580ВМ80" так лог. "0" формировали - на мой взгляд - весьма неглупо.

тишину тяжело детектировать т.к. там будет не тишина, а шум :mrgreen:

Ну ты ж не смотрел, как это делается - очень просто всё детектируется, поскольку Mark и Space -
сигналы периодические, то тишина даже с шумом - сигнал апериодический. Шум давится простейшим интегратором на RC-цепи.

_________________
iLavr


01 Jun 2020 20:13
Profile
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Post Re:
Shaos wrote:
Мне до сих пор непонятно как манчестер-код можно на магнитофон записывать и потом надёжно читать...


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

Стахов, А.П.; Лихтциндер, Б.Я.; Орлович, Ю.П. и др.
Кодирование данных в информационно-регистрирующих системах
Издательство: Киев: Технiка
Переплет: мягкий; 127 страниц; 1975 г.
ISBN: [не указан]; Формат: стандартный
Язык: русский


Аннотация
Изложены методы проектирования информационно-регистрирующей аппаратуры на основе структурно-избыточного кодирования, которые позволяют существенно повысить эффективность аппаратуры, увеличить плотность и надежность регистрации данных. Основное внимание уделено комплексному решению вопросов регистрации информации - плотности размещения на носителе, коррекции ошибок, самосинхронизации. Рассчитана на инженерно-технических работников занимающихся разработкой и эксплуатацией вычислительной техники, а также может быть полезна студентам вузов.
Тираж 4 000 экз.

В этой книге есть практический синтез записи и чтения цифровых данных на магнитной ленте с уникальными характеристиками.


Кое-какие алгоритмы мне удалось проверить для систем связи.


Attachments:
3115bdeff812a0ea8605b38f5f33d122.jpg
3115bdeff812a0ea8605b38f5f33d122.jpg [ 146.56 KiB | Viewed 9623 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
02 Jun 2020 00:05
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Д3-28, устройства для загрузки ПО (способы, идеи, ... конструкции)

https://www.phantom.sannata.org/viewtopic.php?f=27&t=32256

"...
Эмулятор аудио-кассеты кассеты.

Китайцы их делают в количестве, соответственно цена их небольшая.

Все неудачи с попытками записать сигнал на кассету связаны во первых с неправильным форматом файла: очень низкая точность времени.
Ведь когда драйвер аудиокарты воспроизводит файл с низкой частотой дискретизации он не знает, что такая частота выбрана специально, и нужно фронты привязывать именно к этим отчётам, а предполагает что в файле записана звуковая информация, соответственно и пытается восстановить из неё звук, с соответствующими характеристиками, вплоть до инверсии фазы.
Вторая причина связана в использовании магнитофона, который не использовался для записи оригинальной информации на кассеты. Он тоже вносит свою роль в фильтрации сигнала.
Чтобы не мучиться с изготовлением специального устройства для записи кассет, и соответственно самих кассет, и имеет смысл использовать эмулятор кассеты.
Ещё один довод в пользу эмулятора кассеты: эмулятору не нужно, чтобы у НЛМ был рабочий лентопротяжный механизм, достаточно чтобы работала схема усиления сигнала.


Такие картинки навели на мысль: записать на бытовой магнитофон "синус-подобные" импульсы, расположенные в местах "0" и "1" (в расчёте на то, что тракт чтения ДЗ-28 присутствие каждого такого импульса обнаружит, а быстрые колебания сигнала в импульсе будут игнорированы трактом чтения как "дребезг"). Вот фрагменты графиков таких сигналов, изготовленных в Маткаде, показаны концы с байтом 0512 и его битом чётности "0":

Наконец, ссылки на Яндекс-диске на сами WAV-файлы с этими сигналами для экспериментов (т.е. для записи на кассету на бытовом м/ф и попыток чтения их командой "СЛ" в Д3-28):

980hz_44100_s-code_dm-45_df-16_y-test_KP-88_N-8.wav
980hz_filter-5500_44100_s-code_dm-45_df-16_y-test_KP-88_N-8.wav

980hz_44100_s-code_dm-45_df-8_y-test_KP-88_N-8.wav
980hz_filter-11000_44100_s-code_dm-45_df-8_y-test_KP-88_N-8.wav

(Если вдруг это не окажется бредом, а получится, то предложу для такого сигнала название код Ы s-code.)
..."


Attachments:
UTB833ODCJoSdeJk43Owq6ya4XXaw.jpg
UTB833ODCJoSdeJk43Owq6ya4XXaw.jpg [ 36 KiB | Viewed 9538 times ]
s-code_filtered.1550105076.gif
s-code_filtered.1550105076.gif [ 24.22 KiB | Viewed 9538 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
09 Jun 2020 12:24
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Shaos wrote:
Вот тут описан блочный Kansas City Standard с блоками по 256 байт и заголовками с адресами куда пишется:

http://www.gammon.com.au/Arduino/cassette_interface.pdf

Но я наверное с блоками не буду заморачиваться, а возьму из этого скана только базовое описание KCS:
1) Mark (логическая единица) представляется восемью циклами сигнала 2400 Гц;
2) Space (логический ноль) представляется четырьмя циклами сигнала 1200 Гц;
3) Каждый символ представляет из себя Space (0) как старт, далее восемь битов данных и потом два или более Mark (1) как стоп;
4) Интервал между символами представляется неопределённой продолжительностью на частоте Mark;
5) При передаче битов данных младший бит передаётся первым, а старший бит - последним;
6) Данные сгруппированы в блоки произвольной длины, перед каждым из которых идёт как минимум 5-секундный Mark;
7) Не рекомендуется записывать ничего осмысленного в первые 30 секунд плёнки сразу после прозрачного участка...

P.S. Пункты 3 и 4 недвусмысленно намекают, что расстояние между байтами нефиксированное - старт байта детектируется по первому попавшемуся Space (1200 Гц) и до этого может пройти сколь угодно много Mark (2400 Гц), а в качестве пилот-тона используются всё тот же сигнал 2400 Гц (как минимум 5 секунд или 12000 периодов).
Тут с удивлением обнаружил, что оказывается MSX использовал KCS как формат записи на аудиокассеты:
Quote:
This connector allows you to save or load program data to an audio cassette. Data are backed up at 1200 or 2400 baud with Frequency Shift Keying (FSK) in the standard "Kansas City" format.
https://www.msx.org/wiki/Data_Recorder_connector

Я даже скачал пару вавок на поглядеть, однако там похоже не 4 и 8 периодов, как описано выше, а только 1 и 2 :o

Attachment:
Screenshot from 2024-03-08 21-01-27.png
Screenshot from 2024-03-08 21-01-27.png [ 82.57 KiB | Viewed 1391 times ]
Это получается в 4 раза быстрее, чем оригинальный KCS, т.е. 1200 вместо 300 бод (как же тогда будет выглядеть 2400 бод?)

_________________
:dj: https://mastodon.social/@Shaos


08 Mar 2024 22:08
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 77 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: Bing [Bot] and 14 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.