Всем Доброго Аудиофильского!
Тут я про Цифровой Звук писал в аспекте разбора Аудио ЦД носителя недавно.
И там такие дикие комменты были. Прям ощущение, что Зверюги с Гранатами(фрукты такие) с Дубов послезали и свои иллюзии Об ИДЕАЛЬНОМ ЦИФРОВОМ СИГНАЛЕ вещали.
Т.е. явное ощущение, что народ вообще не в курсе как Цифровой Сигнал на НОСИТЕЛЬ записывают.
Не в курсе ни проблем тамошних, ни приколов тутошных.
За них всю работу СОФТВАРНЫЕ решения на компах проделывают, а они и ни сном, ни духом, ни пер... ля франсе, про то, как же там и чего, и что именно делает комп, чтобы сигнал в Полезном Виде с носителя представить.
И что вообще кроме сигнала на носитель поназаписано.
В общем сегодня мы всего не раскроем. Но кое-что на Бум-Бумкаем.
фото отсюда https://www.audiomania.ru/content/dire-straits-brothers-in-arms-iscem-samiy-autentichniy-reliz/
Ну я тут всяких надписей добавил. Будем считать, что это названия Алгоритмов Записи Данных!!!
Итак.
Есть у нас магнитофон.
Пусть будет самый Халтурный Маяк 205.
На нем в Аналоговом виде на 19й скорости АЧХ 40 - 18 кГц. И детонации в 0.2%.
Нам так же нужно знать, что там Динамического Диапазона 58 Дб. И сигнал-шум еще децибел на 70.
Суть в чем. Каждое уменьшение зазора в 2 раза - это ухудшение по ДД на 3 дб. И по шумам так же только в прибавку.
Ну мы сейчас примерно.
Нам сейчас чего нужно? Нам нужно зазоры заузить в 16 раз.
Т.е. получаем 12 децибелл Динамическго и по шумам 22.
Нам сейчас нужно, чтобы ДД был на 3 Дб выше уровня шумов. Т.е. у нас сейчас явно запас есть.
Но давайте его почикаем. Нам же нужно записывать не 18 кГц а 44. А значит у нас спад АЧХ 6 дб на Октаву.
И выходит, что от 18 кГц до 44х у нас впритык 3дб и остается.
Но мы можем писать туда или Синус на 44 кГц с АМ модуляцией и по пикам данные индексировать, или пульсации импульсные.
В случае с импульсами они на ленту запишутся, но считываться будут как короткие ВЧ всплкески продолжительность которых есть Тау РЛ цепи, где Л это индуктивность головки, а Р это входное сопротивление усилителя воспроизведения.
В целом нам без разницы сейчас. Что всплески, что верхушки синусов.
***
Итак.
1. Мы создали 16 каналов на 44 кГц. Причем пишем в 2 стороны. Т.е. по факту на ленте вообще 32 дорожки.
Мы просто туда сигнал с АЦП записываем и его напрямую на ЦАП при воспроизведении.
Ну и на выходе там фиксацию значений до прихода новых на каждый бит ставим.
Вот только вопрос. У нас сейчас детонация меньше стала? Или больше? А еще какие проблемы вылезли?
Правильно.
Детонация осталась такой же.
А вот проблемы... ну как бы не важно сейчас, что проблемы от детонации лишними гармониками коммутации лезут. Которые неравномерны.
Это дело Джиттером зовут.
Вы мне скажите, что теперь делать с ВОЗРОСШЕЙ ЧУВСТВИТЕЛЬНОСТЬЮ К АЗИМУТУ?
Теперь ведь при его нарушении, у меня сигнал переключается вообще не пойми как. И какие там переходные процессы теперь в Звук Лезут?
У меня ж теперь пока все биты придут, что на ЦАПе выскакивает в процессе их последовательного перебора?
Это мы вообще что за раскоряку сейчас сделали? А если лента неравномерно относительно зазоров двигаться начнет по направляющим по причине неравномерности нарезки? Периодически меняя свой наклон по азимуту?
Это как вообще?
Вот визуальная иллюстрация проблемы.
1
0
1
1
0
1
1
***
2. Давайте тогда запишем еще одним каналом импульс синхронизации.
Просто добавим еще одну дорожку. Будет их теперь 17.
Там будет импульс, что идет Защелкой на систему удержания значений.
Они туда приходят в любое время, в любом ассинхроне. Но пока импульс Защелки не придет, они на ЦАП не придут.
Теперь у нас дела повеселее.
Теперь у нас
К
1
0
1
0
А на ЦАПе все ровно.
Щелкает по импульсу К.
И вроде как проблема Азимута ушла.
А что на счет детонации?
А она как была 0.2% так и осталась.
Так мало того. Она все еще неравномерно формирует паразитные гармоники. Джиттер все еще лезет. И при том сильный.
***
3. Ну тогда мы часики на Защелку поставим в магнитфоне.
Генератор синхроимпульсов Защелки в смысле. Кварцевый.
Будет у нас эти же 17 каналов.
Но только канал К мы будем использовать для другой задачи.
Сначала давайте заметим, что проблема детонации ушла.
Правда при условии, что она укладывается в некототорые пределы расхождения таймера и отсчетов на ленте.
А если выше - то получите ряскоряку с пропусками отсчетов.
Мало то, если скорость ленты теперь чуть быстрее или медленнее - у нас тоже проблемы. У нас она то в синхроне, то вышла из него, то вернулась.
И нам теперь нужно вычислять дельту между К импульсом и таймером в магнитофоне. И корректировать обороты мотора.
Уже мотор от Маяка не подходит. Нужен корректируемый.
***
4. Слушайте а классно ведь.
Шумов нет. Детонации нет. Механизм в хлам изношен, а на звуке все идеально работает.
Это ж мы алгоритм уровня Ни ХУХРЫ сделали?
Но нам бы теперь МУХРЫ надо.
Ну в плане того, что как-то вот и по радио бы передать, да и на КД О-ПЗУ записать.
Ну давайте тогда МУХРЫ наводить.
Преведем наше параллельное дело в последовательное.
Запишем битики как есть, но последовательно.
Ускорим движение ленты. Мы систему класса DASH делаем. У нее постоянные головки. БВГ - это MASH.
А тут у нас просто все. Притопили скорости ленты и порядок.
Остальные каналы пойдут для записи или многодорожечного чего, или несколько альбомов разом.
В общем пишем. Сквозной канал ставим. Воспроизводим.
Все хорошо - ну пока пишем. А вот стоп нажали. Да еще и перемотали - и чет битики куда-то не на свои места пошли.
Вместо первого сразу 14м приходят. Второй 15м. Третий....
В общем безобразие.
Надо бы как-то начало обозначить. И какой-то контроллер его поставить.
Ну ок.
Пусть началом будет Кавычка вида 010. Ускорим еще чуток движение ленты. Мы ведь на впритык по частотам пишем. Любая избыточность - поддай оборотов моторру.
Тогда имеем сигнал вида 010 хххххххххх 010 хххххххх
Но подождите. Ведь очевидно же, что он может случиться вот таким 010 хххх010хх 010 ххххххх
И чего тогда делать?
Ну тогда давайте введем флаг пропуска кавычки.
Будет у нас 010ф ххххххх 010ф хххххх
Если приходит положительный флаг то мы дальше игнорим следующую кавычку.
А что делать если 010ф хх010хх010 010ф хххххххх
Ну тогда сделаем двойной флаг 010фд рррррррр 010фд хххххххх
Где Д дает команду, что вместо кода данных будет хитрый програмный код требующий отдельного процессиннга. Потому, что там сейчас что-то хитрое закодировано.
Например места где 2 раза случаются кавычки, и потом еще код в который их добавить надо. И еще в начале код указывающий количество раз, сколько в коде кавычки проскакивают.
Т.е. по факту уже код вида 010фд рррттттддддззззуууууууууууу 010фд ххххххххххххххххххх
Ну ок. Сделали. Синхронизания есть.
А чего это щелкает то и дело в звуке? Что за щелчки лезут?
***
5. А это у нас проблема равномерности нанесения ферромагнетиков на ленту.
Время от времени они выпадают.
И происходят сбои с кодом. На ЦАП приходит левая амплитуда, и порой она ощутимо проваливается относительно прошлой выборки, и в этот момент получите щелчок.
Надо бы исправить.
Ну давайте контрольные суммы введем. Еще чуток ленту ускорим.
И будет у нас код вида 010фд ххххххххх с
При этом этот С - это у нас... ну давайте будет определение четное число или нет?
Ну ок.
Только эт. Это ведь просто копия младшего бита. Вы просто его задублировали.
Чтоооооо??? Серьезно??????? ОЙ-ШКИН КОТ!!!!
Ну давайте тогда возьмем сумму цифр. Т.е. был код вида 254 будет на выходе 11 - число не четное. А будет 255 - 12 - четное.
Ага. Только давайте внимательнее. Это все равно копия младшего бита.
Вернее более сложная. Но все равно от младшего бита зависимая.
Мало того если он выпадет, то это едва слышно будет. А вы сейчас, что будете делать если он не совпадет? Всю выборку заигнорите?
Вместо нее прошлую на ЦАП пустите?
Т.е. снизите детальность звучания музыки? По причине выпадания мелких едва слышимых данных?
Что за дела вообще???
А есть алгоритм с приоритетами? Что нибудь там с Гауссовым распределением Весов?
Чего? Сложный МАТАН пошел?
Ну да. Так и есть.
Тут вопрос вашей специализации и Разделения Труда.
Вы можете это все сами освоить, а можете к Математикам пойти и у них спросить.
Пусть они голову ломают в том, от чего у них кайф на работе случается.
А вы будете свою электронику ваять. Вам и так ее напильником шлифовать нужно.
Как никак магнитофон делаете. Тут не только Паяльник, но и Механика.
Вы конечно можете и сами. Но вам лет 20 понадобится вместо того, чтобы за год аппарат сделать и на рынок вывести.
В общем так или иначе, а Математики подсобили и дали вам алгоритм вида 010фд ххххххх кк
Но вот только одна проблема с ним. Он от щелкчков-то защищает. А вот при износе ленты что-то детальность звучания снижается. И при том как-то быстро это происходит. Уже на 20м воспроизведении слышно.
Надо бы как-то от этого защититься.
***
6. Ну тогда вы исследуете износ ленты. Оказывается, что при первых воспроизведениях от давления об ролик и тонвал, у вас обсыпаются не параллельно приклеенные ферромагнетики.
После их обсыпания состояние ленты нормализуется. И она 200 циклов без проблем.
Одна проблема. На ваших скоростях у вас 3 бита данных выпадают на каждые 10 выборок в первые 20 раз.
Ну вы снова к Математикам. Можете конечно и сами. Но лучше к ним.
А они вам - вот. Есть алгоритм. Требует немножко процессора и 4 бита дополнительных данных. Но зато восстановление кода при 3х битном выпадении 100 процентное.
Ну вы бегом к себе. Ускоряете ленту. Сигнал вида 010фд ххххххххх кк рррр 010фд хххххх кк рррр
И дальше весело все.
У вас вдруг 3 аппарата разом.
1. Восстанвалнивает код. Так мало того, он потом еще и сравнивает восстановленный с исходным считанным, так еще и его проверяет на верность.
При этом режиме у вас и код 100 процентно верный и 500 циклов воспроизведения. После уже лента не пригодна.
2. Игнорирует данные кк - а без них 100 процентного восстановления кода нет. Есть точность в 98 процентов. Есть снижение детальности при 150м воспроизведении.
3. Игнорирует данные рррр.
Ну так сказать 3 ценовых политики.
А тут еще и химики ленту новую сообразили. Она вроде как тоже проблему учла. И вроде как держится 50 раз. А потом сыпаться начинает. И детальность звучания снижается.
И вот у вас на рынке 3 аппарата. И 2 типа ленты. Причем одна подешлевле - она пригодна для аппаратов подороже. А вторая подороже сама, но зато на бюджетном магнитофоне работает.
***
6. Но тут химики еще одну ленту сообразили.
И на ней вы скорость в 2 раза замедлить можете.
Только вот одна проблема - выпадения ферромагнетиков теперь на 6 бит... И ваши алгоритмы не работают....
Надо снова к Математикам топать.
7. А тут еще и Компакт Диск изобрели. И там тоже надо бы Математиков попросить на предмет алгоритмов, подходящих к размерам пыли и спецификам царапин.
8. А тут еще и радиоэфир с разными уровнями шумов на разных частотах... И снова алгоритмы менять, чтобы варьировать плотностью использования радиоэфира.
Ну в общем как-то так.
При записи Цифрового ПОТОКОВОГО Сигнала нужно вводить дополнительные данные для подавления детонации и иных механических артефактов считывания сигнала, для защиты от неравномерности самой ленты, а так же для компенсации износа носителя.
И при этом сами эти дополнительные алгоритмы защит - они тоже требуют дополнительной проверки на идеальность. Ибо знаете ли Контрольные Суммы - это весьма забавная штука!!!
Ну а меня на сегодня все.
Спасибо, что дочитали!!!