Далее, с полным основанием мы можем предположить, что длительность Тика и Така равны.
Сигнал имеет устоячивую прямоугольную форму, т.е. как-то так:
__ __ __ __
| | | | | | | |
| | | | | | | |
а) _| |__| |__| |__| |_
а не так
/| /| /| /|
/ | / | / | / |
б) _| |__| |__| |__| |_
или даже так
/\ /\ /\ /\
/ \ / \ / \ / \
в) _| |__| |__| |__| |_
Т.е. в случае а), в отличии от б) и в), мы можем с большой долей уверенности отнести полученное значение к Тику или Таку.
Теперь о приемнике. Каждое чтение мы назовем Тактом. На каждом такте чтения мы можем попасть на любой участок Тика или Така. Понятно, что если частоты передатчика и примника несинхронизированны, то мы можем некоторое время попадать только на Тики или только на Таки. Определить, что мы прочитали можно только при смене уовня сигнала. Принимаем мы с некоторой частотой, и пока уровень сигнала не изменится, мы считаем, что принимаем один знак. Приняв Разделитель мы точно знаем - знак закончился, а проанализировав длительность Разделителя мы узнаем, может уже буква закончилась или даже слово.
Если взять за основу последний приложенный файл
http://oberspace.dyndns.org/index.php/topic,338.msg9063.html#msg9063Циферки в первом столбце - это как я понимаю, номер такта, в правом - уровень сигнала.
Вплоть до 530-го Такта мы не знаем ни что принимаем (не знаем, высокий это уровень или низкий, если высокий, то точка или тире, потому что и частоту не знаем...), но прием фиксируем.
На 530-м уровень возрастает и мы сразу понимаем, что раньше был разделитель, соотвественно, отмечаем это, фиксируем значения, дальше принимаем Такты. Тактами
530-541 - мы принимаем Тик(Тики), но пока не знаем, Точка это или Тире.
С 542-552 - низкий уровень- Так(Таки), по длительности они примерно равны, поэтому можем предположить, что это было либо ТикТак, либо ТикТикТикТакТакТак, т.е. либо Точка, за котрой средует разделитель между знаками буквы, либо Тире, за которым следует разделитель между буквами.
Читаем дольше
530 - 541 (11 Тактов) Тик
542 - 552 (10 Тактов) Так
553 - 563 (10 Тактов) Тик
564 - 575 (11 Тактов) Так
Начиная с 576 мы начинаем принимать высокий сигнал, и принимаем примерно 30 Тактов, причем к концу сигнал начинает падать, но на этом шаге мы знаем, что первый Тик был именно Тиком, первый Так именно Таком, определяем их длительность в Тактах. Понимаем, что на 576-606 приняли Тире, т.е. ТикТикТик
576 - 606 (30 Тактов) ТикТикТик
Также понимаем, что сигнал начал портиться, но к этому моменту мы уже знаем длительность Точки, Тире и Разделителей, и можем более уверенно принимать далее.
Далее примерно с 607-го Такта идет низкий уровень и мы, учитывая неуверенный прием отсчитываем с в сравнении с примерными длительностями Разделителей Так(~10-11 Тактов) для знака ТакТакТак(~30-33 Тактов) для буквы и ТакТакТакТакТакТакТак(~70-77 Таков) для Разделителя слова.
Итак, начали с 607-го, прошли 617-й+-, значит не знак, прошли 637-й+-, значит не буква, бежим дальше, проходим и 677..-й Такт, нифига нету, только на 723-ем Такте уровень существенно возрос (722-607 = 115, какие-то сбои, но учитывая разницу 722-677= 45, можно будет в дальнейшем восстановить, но дальше опять читаем нормально
723-757 (34 Такта DIV 10 ) = ТикТикТик - Тире
758-768 (10 Тактов)= Так
769-802 (33 DIV 3) = ТикТикТик
[code]
Т.е. на данный момент мы приняли
___ТикТакТикТакТикТикТикТакТак??ТикТикТикТакТикТикТик
..- ??--