На фоне интереса к ЦАПам умеющим воспроизводить DSD формат нативно, в особенности проект DSC, возникает необходимость к изучение работы модуляторов способных преобразовывать более распространенный формат аудио файлов из PCM в DSD.
Об этом и хотелось бы поговорить, обменяться наблюдениями и опытом связанным непосредственно с модуляторами SDM(DSD). У многих на данном форуме имеется опыт и мнения по данному направлению. Предлагаю объединить усилия и сдвинуть вопрос с “мертвой” точки через публичную дискуссию.
Цели по модуляторам:
Изучение работы
Анализ реализованных примеров
Разработка концепции
Создание модулятора в железе (FPGA, ADSP, XMOS и т.п.)
Я так SDtrans384 заказывал, через BestJapan.
Проблема в том, что у ElectrArt нет функции “купить” на странице webstore. Другого посредника искать уже не было желания.
Исходники беты конвертора wav2dsf авторства Koon3876 (позднее доработанного Sunacchi в виде wav2dff v1.5) в качестве “затравки”: Wav2DSFconverter01_by_Koon3876.cpp.pdf (20.1 КБ)
Simulink.
Минимальный уровень характерных артефактов SDM (idle tones, limit cycles) в слышимом диапазоне частот и стабильность вплоть до входного уровня 0,74Q. Наиболее интенсивный пик idle tones имеет частоту 3/20 несущей - 423.36Hz для dsd64, 846.72Hz для dsd128, 1693.44Hz для dsd256 и 3386.88Hz для dsd512, соответственно. С увеличением частоты несущей артефакты смещаются в область максимальной чувствительности слуха. а) UNDERSTANDING SIGMA–DELTA MODULATION: The Solved and Unsolved Issues, б) Delta-Sigma Data Converters Short Course.
Пробовали исполняемый файл wav2dff версии 1.5? Если исходный wav имеет высокий уровень, скорее всего преобразование прерывается при перегрузе модулятора:
I found a possible cause of the error.
Please add “/r” option in your command line, for example,
> wav2dff “c:\data\aaa.wav” /r /DSD256 /t:32768
and please execute it again.
I omitted options “/r” and “/n:xx” in my explanation of the previous post because I think they were so complicated. But now, I need to explain these.
When the program encounters a “clipping” event, it recognizes the audio level value as erroneous and terminates the processing. That might be why you couldn’t get any resulting file.
The program has an internal value named as “Normalization factor” which initial value is proportional to a given DSD sampling rate. The factor is used to re-adjusting the audio level values.
If you specify the “/r” option, the program automatically try to re-generates a DSD output file by decreasing the Normalization factor value by 1 at the occurrence of the first clipping. In the case that the program finds a new clipping again, it will try processing again by decreasing the Normalization factor by 1. The iteration limit is 10.
If you can not get any result even within 10 decrements, you need to specify a larger decrement value by using the option “/n:-xx”, for example, “/n:-16”. (The value “-16” is named as “Normalization Offset” by Sunnachi.)
ΔΣ Modulator Output multi-bit data to SR DAC. This block consists of a third-order digital delta-sigma modulator.
старая SAA7350 тоже 3 порядка, а аппаратура на ней + 1547 до сих пор “будоражит умы”. Сейчас, то ли за счет возросшей производительности ЦП ДСП ФПГ, порядок модулятора “декларируют” вплоть до 7го.