Перейти к содержанию
    

Кто может разгадать кодировку линейного абсолютного энкодера?

Ну, дела... Как же вы будете "синхронизироваться", обнаруживать свой 16-битовый код, то есть, если лента будет сплошь забита дырами? И где остановится, непонятно. Каков, всё-таки, предполагаете зазор между группами дыр? 

И про малые отверстия не вижу слов. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, _pv сказал:
8 часов назад, Plain сказал:

Я бы предпочёл прямое кодирование — для визуального контроля кем угодно без спецсредств

тогда ещё столько же "разрядов" придётся потратить на "синхронизацию" ... а так только 4 из 16

 

bad-314.gif.37fa4aa248b2ab00a903fc677cb8cd0c.gif

 

Ровно наоборот — на прямое кодирование надо на 5 шт. меньше оптопар.

Изменено пользователем Plain

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, а чем эта задача отличается от битовой передачи через линию ?

Код задвигается побитно, точно также нужны запрещенные комбинации и механизм разделения слов... Не считая контроля disparity, и требования к коротким комбинациям 1 или 0, код 8b10b вполне претендент.

Мы когда выбрасывали требование disparity (оно нам было не нужно, тк через транформатор не шли) получили код 8b9b.

17 часов назад, _pv сказал:

тупо перебором для 8ми бит получается последовательность из 32 кодов

8b10b именно так и получали: сформировали требования к коду и машиной подобрали. Имхо.

8:32 это и есть 8b10b. 

Насчет других кодеков (LFSR, etc) нужно смотреть какие дополнительные избыточные условия наложены на комбинации при формировании кода

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, ViKo сказал:

Ну, дела... Как же вы будете "синхронизироваться", обнаруживать свой 16-битовый код, то есть, если лента будет сплошь забита дырами? И где остановится, непонятно.

Это решаемая проблема) Когда поток непрерывный, синхронизация дается запрещенной комбинацией в коде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

19 минут назад, a123-flex сказал:

Это решаемая проблема)

Решение очевидно - не допускать в коде чисел с большим количеством нулей (считая дыру единицей). Там, где много нулей - граница между числами. Предположу, пропуск 4 нулей будет оптимальным. То есть, из 16 - 4 = 12 битовых чисел нужно повыбрасывать все с четырьмя нулями подряд. Саму же последовательность можно оставить монотонной.

Лучше показать ленту подлиннее, и в начале и в середине и в конце.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, ViKo сказал:

Решение очевидно - не допускать в коде чисел с большим количеством нулей (считая дыру единицей).

Так точно)

Это только один из вариантов, запрещенная комбинация может быть 1, можно проксорить с 0101010 - тогда у вас запрещенной комбинацией станет длинная последовательность 0101010, etc

И вообще. На самом деле вариативность решения велика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, a123-flex сказал:

Это только один из вариантов, запрещенная комбинация может быть 1, можно проксорить с 0101010 - тогда у вас запрещенной комбинацией станет длинная последовательность 0101010, etc

Тогда в начале ленты мы видели бы нечто иное, чем нам показали. Запрещена та комбинация, которая является синхронизирующим маркером. Пусть 00001, если считать справа налево.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я говорю о том, что раз вариативность велика, то нахрена бит в бит подбирать оригинальный код ?

Можно взять любой другой не хуже.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Plain said:

 

bad-314.gif.37fa4aa248b2ab00a903fc677cb8cd0c.gif

Ровно наоборот — на прямое кодирование надо на 5 шт. меньше оптопар.

при сдвиге ровно на пол бита, когда все обычные отверстия будут перекрывать по две оптопары сколько оптопар перекроет S? тоже две?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, _pv сказал:

сколько оптопар перекроет S? тоже две?

Три.

 

15 минут назад, a123-flex сказал:

возможностей лазера резки полосы

Теперь понятно, за что такие деньги — я-то думал, они сугубо за патент, а дырки по старинке пресс пробивает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 hours ago, gte said:

И, если возможно, фото середины.

Сколько стоит считыватель и сколько лента и как "ардуина" заменит ленту.

Думаю фото уже не нужны.

Вот мой проект - https://github.com/Indemsys/Shift-sequence-codes-generator
Кто хочет может играться. 
Но с кодами на ленте не совпадает. 
Похоже представление неповторяющихся сдвиговых кодов действительно не единственное, потому что утилита генерирует их подозрительно быстро. 

Такие коды годны не только для такого типа сенсоров, их можно применить и со сканерами баркодов.   С них то и начинался мой проект, ленту там просто печатают.
И точность заявляют до 0.1 мм. 
А точность с оптосенсорами ограничена точностью припайки самих оптопар.   

LFSR регистры тоже самое что и M-последовательности и никакого преимущества не дают. Только длина окна становится необоснованно большой. 

Пока лучше чем массив табулированных значений для микроконтроллера я не нашел. 
Применение STM32F103RCT6 c 256 КБ на борту косвенного говорит, что производитель тоже применил табличный метод. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 минуту назад, a123-flex сказал:

Можно взять любой другой не хуже.

Здесь постоянную составляющую убирать не надо. Наоборот, чем меньше дыр, тем прочнее и точнее лента.

7 минут назад, AlexandrY сказал:

Пока лучше чем массив табулированных значений для микроконтроллера я не нашел. 

Табулированных - это что? Табличных или табуированных (от "табу")?
Если сделать код монотонным (о котором пишу), то сравнивая последовательно с запрещенными числами и декрементируя в случае превышения, можно обойтись только таблицей запрещенных чисел.

Думаю, что фото дало бы нам истину. Ну, нет, так нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, ViKo said:

Думаю, что фото дало бы нам истину. Ну, нет, так нет.

Я считаю это задачей для программистов. Т.е. ответом может быть только рабочий код. Он очень простой. 
Цель понятна, а фотографии ленты вызывают только непродуктивные гадания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, Plain сказал:

Теперь понятно, за что такие деньги — я-то думал, они сугубо за патент, а дырки по старинке пресс пробивает.

Таки я думаю дырки достаточно точные, чтобы их прессом бить. Сарказм дело отличное, но не к месту здесь.

Да и ровная пластина должна быть, а не жеваная, и она ровная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выложу все таки фотки другого конца 10 метровой ленты

20191111_120911.jpg20191111_120915.jpg20191111_120920.jpg20191111_120925.jpg20191111_120930.jpg20191111_120933.jpg20191111_120937.jpg20191111_120941.jpg20191111_120944.jpg20191111_120947.jpg

28 minutes ago, ViKo said:

Табулированных - это что?

https://ru.wikipedia.org/wiki/Табулирование_функции

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...