Важная информация

User Tag List

Страница 24 из 32 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 313

Тема: Новый, более эффективный кассетный формат

  1. #231

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ram_scan Посмотреть сообщение
    Большинство "наглядных" примеров показывающих "вот глядите, тут в записи целый импульс пропал"
    Выпадения сигнала - это, конечно, хорошо, но они не являются причиной, почему в конкретном случае магнитофона Haywire мои форматы не грузились.

    Защиты от выпадения сигнала оригинальный синклерский формат не дает. Поскольку надежность этого формата до сих пор всех устраивала, я не вижу смысла решать эти надуманные проблемы в своих проектируемых форматах. По крайней мере, на данном этапе разработки.
    Цитата Сообщение от ram_scan Посмотреть сообщение
    Поэтому все форматы где на полутора-двух битовых интервалах нет возвращения к нулю на бытовом магнитофоне потенциальные трупы, и что-то полезное можно сделать только из манчестера.
    Ну вот в синклерском формате манчестер не применяется - и ничего, живет. Чем он так хорош, этот манчестер? По сути дела то же самое, что и второй экспериментальный формат 1b/2b, который я просил опробовать Haywire: для записи одного полезного бита используется два битовых интервала.

    "Возвращение к нулю" в контексте спектрумовского магнитофонного интерфейса реализовать в принципе невозможно, т.к. поддерживаются только два уровня сигнала.
    Цитата Сообщение от ram_scan Посмотреть сообщение
    Собсно вышеприведенные книжки (если их правильно осознать) и дают верное понимание в какую сторону двигаться перспективно, а в какую нет.
    Я не везде в этой теме сыпал теоретическими терминами, чтобы сообщения были всем понятны, но теоретическая подготовка у меня присутствует. Если есть сомнения - прошу указать на конкретные ошибки.
    Цитата Сообщение от ram_scan Посмотреть сообщение
    В моем понимании, не меняя в архитектуре ничего единственная верная дорога - на стандартном или манчестеровском формате просто увеличивать символьную скорость,
    А почему? Ты разве уже разобрался, почему именно коды 8b/10b и 1b/2b не пошли? Я вот думаю, что на магнитофоне Haywire даже манчестерский код не пойдет. Там явные проблемы с АЧХ в низкочастотной области, а она манчестерским кодом не подавляется.

  2. #232

    Регистрация
    28.12.2012
    Адрес
    Leesburg, VA, USA
    Сообщений
    974
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Защиты от выпадения сигнала оригинальный синклерский формат не дает. Поскольку надежность этого формата до сих пор всех устраивала, я не вижу смысла решать эти надуманные проблемы в своих проектируемых форматах. По крайней мере, на данном этапе разработки.
    Именно, что на данном этапе разработки. Поскольку, пока разрабатывается сигнальный уровень, думать о системах защиты не время. Но в дальнейшем, необходимо обеспечить коды коррекции и работу с независимыми блоками - остановил, перемотал, дочитал.

  3. #233

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Размышлял над возможностями борьбы с существенной неравномерностью АЧХ в низкочастотной области, которая, предположительно, имеется в магнитофонной системе Haywire. На сегодняшний день я считаю, что проблему можно решить путем создания такого кода, чтобы кодированный сигнал имел минимальную энергию в области низких частот, где присутствуют искажения.

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

    Сейчас я временно оставил в стороне вопросы собственно построения кода, а обратился к решению более фундаментальной задачи: как получить битовую последовательность с заданными спектральными свойствами. И вот результаты, полученные на настоящий момент.

    Во-первых, при создании нулей в спектре битовой последовательности теми методами, которые я это делал, создаются не только нули, но и полюсы - около тех же частот. Иными словами, я как бы пропустил белый шум через фильтр, который имеет на некоторой частоте нуль, но на ней же (на некотором расстоянии внутри единичной окружности z-плоскости) имеет и полюс. Чем ближе этот полюс к окружности - тем больше он нейтрализует влияние нуля в своей окрестности, тем "у'же" будет нуль и тем меньше будет подавление спектральных компонентов в его окрестности. Одновременно растет информационная емкость полученного кода. Но тогда и польза от спектрального нуля в деле подавления низких частот нивелируется.

    Аналогичным образом полюс образуется и при подавлении постоянной составляющей. Наименее эффективные коды, такие как манчестерский или приведенный мною в этой теме 1b/2b, дают широкий нуль на постоянной составляющей, подавляя попутно низкие частоты, а более эффективные коды, такие как 8b/10b и некоторые другие, которые я испытывал в своей "лаборатории", наоборот, дают на постоянной составляющей узкий нуль. Такие коды также характеризуются большей чувствительностью к колебаниям базового уровня при прохождении через канал, не имеющий связи по постоянному току.

    Сегодня я провел ряд вычислительных экспериментов, которые показывают, что для успешной записи на магнитофон нет необходимости подавлять до нуля постоянную составляющую. Достаточно и того, чтобы обеспечить некоторую неравномерность спектра кодированного сигнала, так чтобы низкие частоты (включая постоянную сост.) были подавлены по сравнению с основной полосой частот, которая занимается сигналом.

    Я нашел в интернете статью, в которой приводится метод генерации битовых последовательностей с заданным спектром типа "все полюсы": "Generating Binary Processes with All-Pole Spectra", Petros Boufounos. Иными словами, спектр полученных последовательностей является отфильтрованным белым шумом, причем применяемый (косвенно) фильтр может иметь только полюсы в своей передаточной функции. Таким фильтром нельзя создать нуль на постоянной составляющей или какой-либо другой частоте, но это и не требуется. К сожалению, на коэффициенты фильтра накладываются довольно жесткие ограничения. Создавая фильтры путем ручной вариации коэффициентов и наблюдения полученной АЧХ, я смог создать лишь около 8дБ неравномерности в частотной области. Этого уже достаточно для того, чтобы такой сигнал можно было записать на магнитофон и достоверно считать, как я убедился путем пропускания полученной последовательности через ФВЧ с частотой среза 50Гц. Но все же хотелось бы больше. В статье говорится, что условия накладываемые на коэффициенты фильтра, являются достаточными, но не необходимыми. Таким образом, есть шанс получить фильтры с более подходящими характеристиками.

    С практической точки зрения я планирую поступить следующим образом. Сделать сохранялку и загрузчик без какого-либо кодирования, которые сохраняют или загружают произвольный битовый поток. Подготавливать кодовые последовательности на Матлабе и тестировать их на спеке. Надеюсь, Haywire снова сможет предоставить свою технику для таких испытаний. Тем самым надеюсь выяснить, какие ограничения на спектр кодированного сигнала являются достаточными, чтобы он грузился с магнитофона Haywire.

  4. #234

    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    2,081
    Спасибо Благодарностей отдано 
    88
    Спасибо Благодарностей получено 
    480
    Поблагодарили
    145 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    ---
    upd нашел
    Вложения Вложения
    • Тип файла: zip qsave1.zip (21.7 Кб, Просмотров: 1744)
    Последний раз редактировалось drbars; 15.08.2013 в 18:15.

  5. #235

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Изобрел новый метод генерации битовых последовательностей, спектр которых является продуктом фильтрации белого шума, причем фильтр теперь может содержать не только полюсы (как это было в статье, на которую я ранее давал ссылку), но и нули, причем на любых частотах независимо друг от друга. Порядок фильтра также особо ничем не ограничен. Это позволяет реализовывать фильтры Кауэра (эллиптические) с очень резким спадом АЧХ. Также можно, по желанию, подавлять до нуля постоянную составляющую, хотя в этом, как я недавно выяснил, нет особой необходимости.

    Вот спектр полученной мной сегодня битовой последовательности на базе фильтра Кауэра 3 порядка. Фильтры нечетного порядка имеют нуль на постоянной составляющей. Кому как, но меня впечатлило!

    Информационная емкость этой последовательности составляет примерно 0.5475, т.е. на 1000 записанных на кассету бит будет в среднем 548 полезных. Метод генерации, однако, очень медленный: даже PC считает долго, а на Спектруме применять этот метод и вовсе невозможно, даже если кодировать/декодировать данные не в реальном времени. Но ничего, не в один день Москва строилась, решать проблемы будем постепенно.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	spectrum_bitseq_cauer1.jpg 
Просмотров:	1843 
Размер:	22.8 Кб 
ID:	42793  

  6. #236

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,405
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,226
    Поблагодарили
    877 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Честно - не могу понять, чего ты этим хочешь сказать) Слишком много теории, причем, не совсем из той сферы, которой надо бы. Да и никаких конкретных примеров кодирования.

  7. #237

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Titus, ситуация заключается в следующем. На магнитофоне Haywire имеют место сильные неравномерности АЧХ в области низких частот. То ли это высокий горб, то ли, как мне теперь кажется, это может быть провал. Возможно, ФВЧ, образованные в тракте магнитофона проходными конденсаторами, дают относительно высокую частоту среза. Может быть, в районе 250Гц. То есть все составляющие кассетного сигнала ниже этой частоты существенно ослабляются, а на постоянной составляющей - подавляются полностью.

    С точки зрения приема сигнала, подавление на НЧ и горб на НЧ имеют примерно одинаковый эффект. Они приводят тому, что сигнал как бы "едет на волне", т.е. его огибающая совершает колебания с некоторой низкой частотой. В английской терминологии это называется "baseline wander" - "гуляние базовой линии". Эти колебания приводят к тому, что на границе соседних бит сравнение уровня сигнала с нулем происходит каждый раз в разном месте фронтов между битами. А эти фронты имеют конечную длительность вследствие ограниченной полосы пропускания со стороны ВЧ. И тем большую длительность, чем ниже частота среза по ВЧ. Детектирование фронтов по разным уровням, таким образом, приводит к дрожанию измеренных интервалов времени между фронтами - то, что и убивало мой загрузчик на основе ФАПЧ.

    Иными словами, у нас полоса задавлена с обеих сторон, и оба этих ограничения усиливают неблагоприятное влияние друг друга.

    В случае горба на НЧ, усиливается НЧ-составляющая полезного сигнала и переходит в "волны". В случае провала на НЧ, эта же составляющая вычитается из сигнала. Так как до вычитания сигнал был ровный, то после вычитания опять-таки появляются "волны".

    Снизить амплитуду "волн" можно путем создания такого сигнала, который бы имел малую мощность на низких частотах. В этом случае вычитание из сигнала его НЧ-компонент не приведет к образованию больших "волн" потому, что эти НЧ-компоненты изначально были малы. Аналогичным образом, добавление к сигналу его же усиленной НЧ-компоненты ("горб на НЧ") также не приведет к образованию больших "волн" потому, что эта НЧ-компонента изначально была мала.

    Собственно говоря, многие коды как раз и строятся с целью уменьшить эффект Baseline wander. Для этого обычно подавляется постоянная составляющая кодированного сигнала. В коде 8b/10b, как и в других блочных кодах, этому уделяется значительное внимание. С точки зрения спектра, на постоянной составляющей создается нуль, влияние которого также распространяется на низкие частоты в окрестности. Они подавляются, что и уменьшает "волны", однако во многих книгах говорится о необходимости полного подавления п.с., что, с моей точки зрения на данный момент, является ошибочным. "Волны" создает не постоянная составляющая, а низкие частоты в ее окрестности, поэтому давить нужно в первую очередь их. Наличие же в сигнале постоянной составляющей небольшой амплитуды приведет всего лишь к небольшому смещению уровня сравнения сигнала с нулем. Но величина этого смещения и амплитуда "волн" от НЧ оказываются одного порядка, поэтому незачем давить п.с., если НЧ не подавлены. А если НЧ подавлены, то и п.с. обычно подавлена (хоть, может быть, и не до нуля) из-за того, что применяемые фильтры имеют плавную АЧХ. Фильтры не всегда применяются явно (как, например, в коде 8b/10b), но они всегда есть в системе, их просто нужно увидеть, посмотрев на систему под нужным углом.

    Таким образом, на данный момент я вижу решение задачи в том, чтобы создать битовый код с подавленными НЧ в кодированном сигнале. Это сложная задача, потому что сигнал у нас битовый, имеющий только два уровня. Как управлять спектром такого сигнала? Это невозможно осуществить методами, которые применяются в ЦОС для сигналов с большим количеством уровней. Там-то все просто. Фильтр применил - и дело в шляпе. В случае двоичной последовательности применение явных фильтров невозможно, и приходится конструировать системы, в которых неявно содержится фильтр с нужной АЧХ.

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

  8. #238

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,405
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,226
    Поблагодарили
    877 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Titus, ситуация заключается в следующем. На магнитофоне Haywire имеют место сильные неравномерности АЧХ в области низких частот.
    Кусок записи в студию.

  9. #239

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Кусок записи в студию.
    Уже пробегали в этой теме куски записи. Только они мало помогают: встроенный магнитофон ZX Spectrum +2 не имеет аналогового выхода. Более того, там даже негде в схеме подключиться, чтобы снять аналоговый сигнал: входной усилитель воспроизведения на транзисторе имеет токовый выход, а за ним сразу идет операционник с высоким коэффициентом усиления, так что он работает как компаратор. Тут, чтобы снять сигнал, надо разрывать связь между транзистором и компаратором и вставлять в нее новый, ненасыщенный каскад на операционнике. Кто это будет делать?

    Выкладывались записи после компаратора, но там уже от оригинальной АЧХ остаются только следы в виде дрожания фронтов сигнала. Если же кассету считать и оцифровать на другом магнитофоне - то там ситуация вообще очень печальная, даже на оригинальном формате ZX иногда теряются импульсы, т.е. искажения сигнала невосстановимые. Только что посмотрел усредненный спектр этой аналоговой записи - уровень 200Гц выше уровня 1400Гц на 20дБ. Что это, как не горб?

  10. #240

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,405
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,226
    Поблагодарили
    877 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Честно, без каких-либо примеров - все это сферические кони в вакууме)

Страница 24 из 32 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. [Поиск 1] Кассетный интерфейс
    от Tronix в разделе Поиск
    Ответов: 112
    Последнее: 06.02.2024, 08:14
  2. Кассетный магнитофон.
    от Николай в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 03.04.2010, 15:49
  3. Куплю Магнитофон кассетный Электроника-302-1
    от hardrice в разделе Барахолка (архив)
    Ответов: 16
    Последнее: 18.02.2010, 12:13
  4. Ответов: 13
    Последнее: 05.11.2007, 22:48
  5. Ответов: 2
    Последнее: 26.02.2005, 18:17

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •