Pull to refresh
174
0.9
Руслан @checkpoint

Old-time Unix hacker

Send message

Кому-то бог послал Байкал, а кому-то Средиземное море. ;)

PS: Интересно, как фиксируют нейтрино если оно "почти не взаимодействует с веществом" ?

Хорошая статья, хороший опыт у товарища получился. Я тоже отправлял патч в ядро Linux, в ветку sunxi (Allwinner), но его не приняли.

Там основная заморочка была в источнике сигнала - требовалось реализовать машину, на ней lwIP, с помощью которого реалиовать UPnP. Это для того,чтобы пользователь мог с компа посылать DSD поток на ЦАП.

Все верно. PCM записи конвертировать в DSD нет ни какого смысла, но некторые упоротые ведутся на эту мульку - типа DSD это круто. Действительно круто, если оцифровано прямо в DSD с аналоговой мастер-копии на специальной технике, но добыть такие записи достаточно сложно. А проверить как была получена DSD оцифровка - невозможно. Так они гоняют друг другу копии Pink Floyd-а в DSD фомате, которую кто-то когда-то левой пяткой перегнал с CD и выдал за мастер-копию. :-)

Я как-то рассматривал вариант проектирования "аудиофильского" конвертора DSD512 (22.5792 MHz) в 32-х битный PCM (I2S) с помощью ПЛИС, чтобы проигрывать на крутом ЦАП-е. Всё это оказалось крайне заморочено и с непонятной конечной целью. :I

Давайте спросим у ChatGPT какой шум в dB будет внесен при транскодинге DSD256 в PCM16 48kГц.

What is the noise in dB when converting DSD256 to PCM16 48k

When converting DSD256 (Direct Stream Digital at 11.2896 MHz) to PCM 16-bit at 48 kHz, the noise floor you end up with depends heavily on:

  • The quality of the DSD-to-PCM conversion process, especially the low-pass filtering stage used to remove ultrasonic noise inherent in DSD.

  • The bit depth and sampling rate of the PCM target format (in this case, 16-bit / 48 kHz).

  • The dither used during bit depth reduction.

Let's break it down with approximate figures:

🔧 DSD256 Characteristics:

  • Sampling rate: 11.2896 MHz (256× CD rate)

  • 1-bit quantization

  • Very high noise shaping — pushes quantization noise to ultrasonic frequencies

In the audible band (20 Hz – 20 kHz), DSD256 can have an SNR of over 120 dB, sometimes even approaching 130 dB, depending on implementation.

However, the ultrasonic noise (above ~30–50 kHz) is extremely high — on the order of -20 dBFS or worse — so it must be filtered out when converting to PCM.

🎚️ PCM16 at 48 kHz Characteristics:

  • 16-bit dynamic range = ~96 dB theoretical

  • Sampling rate = 48 kHz (Nyquist = 24 kHz)

When you convert from DSD256 to PCM16/48k:

  1. A low-pass filter (typically steep, ~20–24 kHz) removes ultrasonic noise.

  2. The signal is downsampled from 11.2896 MHz to 48 kHz.

  3. Dithering is applied to avoid quantization distortion when reducing to 16 bits.

📉 Resulting Noise Floor (Estimates):

After conversion:

  • Audible noise floor: roughly -90 to -96 dBFS (depends on dithering)

  • Effective SNR: Limited by PCM16 to ~96 dB max

  • Noise added by conversion: Not so much added noise as lost resolution compared to the original DSD256 — you're dropping from 120–130 dB dynamic range to ~96 dB.

So the "noise" in the result is essentially:

  • The PCM16's limited resolution (adds quantization noise if not dithered properly)

  • Any leftover artifacts from imperfect filtering (poor filters might let some DSD ultrasonic noise alias into the audio band — this is rare with good converters)

✅ Summary Answer:

The effective noise floor after converting DSD256 to PCM16/48k is around -96 dBFS, limited by the 16-bit depth. The original DSD256 may have had >120 dB SNR, so you're effectively losing 25–30 dB of dynamic range. However, if done correctly, there should be no audible increase in noise — just a reduced headroom/resolution compared to the original.

Let me know if you want to compare with PCM24/96 or look at spectrograms.

Итого:

The effective noise floor after converting DSD256 to PCM16/48k is around -96 dBFS, limited by the 16-bit depth. The original DSD256 may have had >120 dB SNR, so you're effectively losing 25–30 dB of dynamic range.

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

Теорема Шеннона/Найквиста/Котельникова как раз о том, что сигналы полученные разной частотой дискретизации нельзя преобразовать один в другой без потерь. У DSD и PCM частоты различаются на несколько порядков. На практике их делают кратными друг другу чтобы снизить потери при цифровом преобразовании. Но это совершенно разные методы кодирования сигнала.

а как именно он получен - уже вторично, лишь бы частота дискретизации совпадала.

В DSD нет частоты дискретизации в том понимании в котором она есть в PCM. Там частота сэмплирования битов на несколько порядков выше чем у PCM. Например, у DSD256 частота сэмплирования составляет 11.2896 МГц. DSD поток нельзя переконвертировать в PCM без потери качества, это другой метод преобразования аналогово сигнала в цифровой.

Ответственность за перевозку несет страховая компания. По закону перевозчик обязан страховать все свои перевозки.

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

Производство в технопарках еще плохо тем, что накопленный опыт не масштабируется - то, что могу произвести в лабораторных услових совершенно не пригодно для массового производства. Люди изготовившие образцы своих изделий в технопарке наивно полагают, что у них всё готов и надо лишь только найти поизводство для серии. Но как как только они находят такое производство под своё изделие, им приходится перепроектировать изделия с самого начала.

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

1. Стандартизировать ТЗ и модели.

2. Использовать технопарки и вузы.
3. Создавать локальные кластеры.

Все это мертвому припарка! Нужны обьемы! Стабильные обьемы заказов на сотни тысяч однотипных изделий в год и будет Вам нормальная цена не хуже чем в Китае. При штучных заказах имеем то, что имеет. Сам нахожусь в такой же ситуации.

Как всегда, снимаю шляпу.

А кто нибудь помнит как назывался текстово-командный проигрыватель .STM файлов под MS-DOS образца 1992 года (не Scream Tracker) ? Его можно было оставить резидентом (TSR) играть музыку в фоне, при этом спокойно прогать в Borland C или редактировать текст в Norton Commander. :-)

Напоминает, но им не является. PWM (PCM) и DSD - два разных алгоритма оцифровки звука.

Нет! Описанный в статье PWM это способ проигрывания PCM сэмплов. DSD это другой алгоритм и преобразовать в него из PCM прямого способа не существует.

Я в свое время реализовывал на i286 сканер и проигрыватель в DSD (сам правда того не зная, просто придумали с товарищем и реализовали). Для сканирования (оцифровывания) звука мне пришлось "изобрести" простейший девайс на основе триггера Шмидта, который преобразовывал аналоговый сигнал в однобитовую последовательность разной длительности и подавал на сигнал готовности принтера в LPT порт где захватывался программой написанной на Turbo C. Для проигрывания эта же последовательность один к одному выводилась в бит управления PC Speaker-ом. Звучание по качеству было несколько лучше чем описанный в статье PWM, так как в этом способе нет частоты дискретизации как таковой.

ЗЫ: DCD широко используется в современной Hi-End аудиотехнике как раз по причине отсутствия артефактов квантования (антиалиасинга).

Вот это автор заморочился! Спасибо за статью! Интересно, много в стране держателей "Специалиста" сейчас ?

"Специалист" была одним из первых для меня ПЭВМ, собирали в сарайке у товарища в 89-90-м годах по схемам из журнала Моделист-Конструктор. Вытравленные платы (с ошибками) приобрели на рынке, долго мучались с ними. Парочку КР580ВМ80А нам добыл его отец, он работал на заводе (обслуживал советские ЧПУ). Помню как набивали длиннющие дампы и часто не сходилась контрольная сумма из-за опечаток в журнале. :(

Для FreeBSD, я знаю Apache HTTP Server, а как называется для OS/2?

Apache HTTP Server for OS/2. Только не ждите от него поддержки SSL.

Пиз...романы строчить - не мешки ворочать.

А Вы пробовали ? Для меня большая поблема статью на Хабре написать. А написать книгу, к тому же интеесную, это гигансткий труд. Так что прошу оставить Роберта, нашего, Хайнлайна в покое. :)

Все верно. Если снять сигнал EN с драйвера, то шина перейдет в третье состояние, о чем, скорее всего, говорится на следующей странице вашего мануала. Этот зазор во всех даташитах называется receiver threshold.

Тут есть два подхода: взять готовую микруху или соорудить самому на оптопарах и куче обвязки. Основная проблема - где брать питание для обеих сторон, ведь эти два источника должны быть гальванически несвязанны друг с другом. Один из способов - передать питание с одной стороны на другую через трансформатор, то есть одна сторона превращает постоянное напряжение в перемнное (в прямоугольник), передает его через развязывающий трансформатор, а другая выпрямляет, стабилизирует и использует для запитки. Схема получается достаточно сложной, но именно так работает микросхема RS-485 трансивера LTM2881 которую мы часто используем в своих проектах.

Information

Rating
1,794-th
Date of birth
Registered
Activity