Страница 12 из 12 Первая ... 2101112
Показано с 221 по 228 из 228

Тема: DF2 - Вторая версия DIY ЦФ

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,307

    По умолчанию DF2 - Вторая версия DIY ЦФ

    Итак, обещанный проект нового ЦФ.
    Опыт прошлой ветки показал, что вопросы построения ЦФ сводятся к конкретному проекту. Поэтому решил создать отдельную.

    Исходная ветка с обсуждением различных реализаций ЦФ здесь.
    Ветка про ЦФ DF1 здесь.

    С момента публикации прошлой версии ЦФ прокачал скилл по верилогу, поэтому новый ЦФ выполнен проще, и с более сложной арифметикой. В частности добавлены опции шейпера и дополнительного апсемплера, что позволяет выводить данные в том числе на малоразрядные ЦАП, типа AK4499EX.
    Получив определенный опыт понял о чем писал Сергей Агеев (на счет реализации умножителей и многовходовых сумматоров на FPGA). Если правильно выбирать длину конвейера, то нет смысла изобретать оригинальную схему умножителя. Компилятор синтезирует лучше.
    То же самое касается описания сумматоров: использование многовходовых сумматоров оптимизируется лучше, чем ручная разбивка на двух-входовые.

    В отличие от предыдущего проекта, новый делался как заготовка для самостоятельного применения и доработки под свои задачи. Поэтому все режимы досконально не тестировались, и проект выкладывается "как есть" в версии альфа.
    В исходниках есть только пара примеров: для FPGA cyclone и lcmxo2.
    Описание содержит краткое перечисление основных параметров, а так же инструкцию по самостоятельной сборке проекта и генерации собственных коэф-тов в MatLab.
    Картинок много, текста мало. Все как мы любим.
    Утилита и ее исходник для автоматизированной конверсии коэф-тов в формат верилога прилагается.
    Так же прилагаются матлабовские модели всех каскадов фильтра, архив со сгенерированными коэф-тами фильтров, примененных в проекте и симулинк-модель. Для запуска симулинк-модели нужен матлаб версии r2018b.

    - 25.09.2023 - Добавил MatLab модель шейпера в симулинке. На этот раз версии r2013b. В 2018-ом матлабе че-то намудрили со спектроанализатором, и в нем амплитуда сигнала получается зависима от порядка шейпера, или от кратности оверсемплинга.

    - 27.09.2023 - Правка шейпера 3-го порядка

    Шейпер 3-го порядка в проекте выполнен по схеме:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132616551.png 
Просмотров:	96 
Размер:	17.0 Кб 
ID:	441606
    NTF шейпера на 1кГц сигнале:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132509846.png 
Просмотров:	91 
Размер:	29.1 Кб 
ID:	441605
    Данный шейпер оптимизирован для работы на невысокой частоте семплирования (х16..х32) и с разрядностью данных не менее 7..8 бит.
    На работы на более высоких ЧД при меньшей разрядности данных можно упростить коэф-т шейпера, улучшив SNR и сэкономив на логике. Для этого исключается слагаемое Gain3 (по схеме симулинка):
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132931529.png 
Просмотров:	57 
Размер:	17.0 Кб 
ID:	441607
    В проекте это слагаемое находится в файле DATA_READ.v:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_133349302.png 
Просмотров:	85 
Размер:	20.6 Кб 
ID:	441609
    Данное слагаемое отклоняет значение коэф-та от 3-х, создавая дополнительный полюс на NTF. После упрощения коэф-та NTF шейпера принимает вид классического модулятора 3-го порядка.
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_133125636.png 
Просмотров:	77 
Размер:	26.8 Кб 
ID:	441608
    Можно также это слагаемое не удалять, а менять его величину (увеличивать сдвиг), двигая тем самым полюс NTF.
    [свернуть]

    - 28.09.2023 - Отрефакторил модули DATA_READ и SAI_OUTPUT. Поправил описание.
    - 05.10.2023 - Поправил DF_CONTROL. Поправил описание.
    Вложения Вложения
    Последний раз редактировалось dortonyan; 05.10.2023 в 22:16.

  2. #221
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    36,509

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Злой Посмотреть сообщение
    Особенно если перевести выход в слейв и тактировать от ЦАП.
    Тактировать мастерклоком само собой со стороны ЦАПа, а вот выход ASRC в слейве - это лишний геморрой. Чем его тактировать? Не многие ЦАПы умеют быть мастером и генерировать WCLK/BCLK.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  3. #222
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,587

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    А где бы почитать про основы (принципы) функционирования ASRC? Как там идут расчёты внутри итд. Может и Алексей заинтересуется.

    ---------- Сообщение добавлено 17:00 ---------- Предыдущее сообщение было 16:57 ----------

    Неужто это очень сложно? Ведь в ADAU1467 этих ASRC почти десяток.

    ---------- Сообщение добавлено 17:17 ---------- Предыдущее сообщение было 17:00 ----------

    А какая точность измерения отношения частот ЧД реально требуется? Разницу в 1/100 Гц можно посчитать за 1.5 сек, если сравнивать BCLK. А если сравнивать MCLK, то будет ещё быстрее или точнее.

  4. #223
    Частый гость Аватар для Злой
    Регистрация
    30.10.2009
    Сообщений
    472

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Alex Посмотреть сообщение
    Не многие ЦАПы умеют быть мастером и генерировать WCLK/BCLK.
    Я на логике делал, как в эвалюшене на ад1896

  5. #224
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    36,509

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Злой Посмотреть сообщение
    Я на логике делал,
    Сделать не проблема, только зачем?
    Нормальные ASRC (типа AK4137) прекрасно работают в мастере, тактируясь со стороны ЦАПа (например у меня в 1-м на АД1862).
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  6. #225
    Частый гость Аватар для Злой
    Регистрация
    30.10.2009
    Сообщений
    472

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Alex Посмотреть сообщение
    Сделать не проблема, только зачем?
    А это лет десять назад было, может и больше.

  7. #226
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,995

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    А если сделать всё же, то тогда можно будет сделать спдиф входы без фифо. И ген взять ровно 50МГц, как 1024фс для ЧД 48,828кГц. Безумная идея. Аудиогены исключить.
    Небольшой спин-офф: ещё можно поставить генератор на частоту кратную 7056000Гц (НОК 44100 и 48000), тогда вместо переключения генераторов можно будет переключать коэффициенты ЦФ. И кстати, 7056000*7=49392000, это всего на 1.2% отличается от 50Мгц, то есть не труЪ хай-энд, но чтобы попробовать, думаю, годится.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  8. #227
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    956

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Небольшой спин-офф: ещё можно поставить генератор на частоту кратную 7056000Гц (НОК 44100 и 48000), тогда вместо переключения генераторов можно будет переключать коэффициенты ЦФ. И кстати, 7056000*7=49392000, это всего на 1.2% отличается от 50Мгц, то есть не труЪ хай-энд, но чтобы попробовать, думаю, годится.
    Не..е, плохо получается, лучше 192*147=176.4*160=28224, но чего-то звёзды не сошлись, забросил.

  9. #228
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,587

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Платки приехали.
    Вопрос сообществу: как ещё можно использовать SDRAM 256Mbit, что стоят на платке. ФИФО получается ну очень большим. Полный буфер выходит 128 секунд для 44100 Гц. Можно использовать только 1 банк из этого ОЗУ, он =1/4 ёмкости.

Страница 12 из 12 Первая ... 2101112

Социальные закладки

Социальные закладки

Ваши права

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