Перейти к содержанию
    

есть ли методы дизеринга (dithering) для линейной интерполяции при повышении тактовой частоты (upsampling)

Когда у нас будет нужна консультация о том, что мне делать, и где мне писать, я к вам обязательно обращусь. Пока такой момент не наступил.

 

Если у вас больше нечего написать по теме, то просто не пишите сообщений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Krys, вы добавили шум ко входному сигналу. А что будет, если добавить на выход?

Вообще, интерполяцию нужно как делать - добавить нулей в недостающие точки, и пропустить через ФНЧ, подавляющий частоты Fs_old, 2Fs_old...

У вас так мало выборок на период сигнала, что линейная интерполяция дает гармоники, доходящие до Fs_new. То есть, линейная интерполяция здесь не работает (или работает очень плохо).

 

Есть также быстрые схемы деления, например на 3.

Подскажите, где подсмотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, где подсмотреть.

В учебнике по арифметике?

 

A/3 = A*(65536/3)/65536 = [A*(15'b101010101010101)]>>16;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В учебнике по арифметике?

A/3 = A*(65536/3)/65536 = [A*(15'b101010101010101)]>>16;

Дывысь, яка гарна формула!

А на 10 поделить, не подскажете, где почитать? :) А на 11? 12?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А на 10 поделить, не подскажете, где почитать? :) А на 11? 12?

С какой целью интересуетесь? :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так что перед интерполяцией у меня имеется возможность либо задать требования на полосу сигнала, либо произвести предварительное апсемплирование на 2 или даже на 4 (на другом устройстве, в котором есть ресурсы)

 

Так и интерполируйте в 4 раза на другом устройстве, в FPGA параболический интерполятор Фарроу, раза в 2 сложнее чем ваш линейный.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

petrov, Фарроу не годится в любом случае по ресурсам - сложнее он не раза в 2. Учитывая, что в линейной интерполяции нет умножителей вообще, а в Фарроу их 3 только на полином, да плюс ещё на коэффициенты.

 

Krys, вы добавили шум ко входному сигналу. А что будет, если добавить на выход?
Это и в уме нетрудно представить: у красного графика на спектральной картинке просто добавится горизонтальная полка шума ))

 

 

Вообще, интерполяцию нужно как делать - добавить нулей в недостающие точки, и пропустить через ФНЧ, подавляющий частоты Fs_old, 2Fs_old...

У вас так мало выборок на период сигнала, что линейная интерполяция дает гармоники, доходящие до Fs_new. То есть, линейная интерполяция здесь не работает (или работает очень плохо).

Всё, что Вы написали, совершенно очевидно, уж не обижайтесь ))

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем обижаться? И почему вы не принимаете во внимание очевидное (что линейная интерполяция не подходит)?

Самая первая картинка в теме, зеленый график, полоса сигнала зарезана - разве это интерполяция?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первое что видно из картинок: первичный спектр имеет уровни на краях -55дб, если экстраполировать, то далее идет зеркальный канал. если вы хотите заглянуть ниже чем -55, то вам необходимо додумать исходный сигнал.

Далее из картинки очевидно, что при первичном повышении частоты дискретизации было копирование отчетов вместо добивания нулями, что уже дало искажения спектра в основной полосе. Красная картинка это правильное повышение частоты + сик фильтр с полюсом в центре зеркала. Зато эффект от цика виден... Предлагаю поставить несколько циков с разными по частоте полюсами в зеркалах. Понятно, что при таких коэффициентах интерполяции шаг полюсов будет крупным, поэтому можно предварительно сделать повышение часоты на больше чем нужно, можно не кратно 2 и после фильтрации понизить.

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем обижаться?
за сказанное другими словами "спасибо, Кэп" ))))

 

 

И почему вы не принимаете во внимание очевидное (что линейная интерполяция не подходит)?
Потому что все в этой теме пытаются подменить вопрос. Мне не нужен ответ на вопрос, какой тип интерполяции здесь подойдёт. Мне нужен ответ, как размазать спектр. Потому что этот вопрос может быть актуален и для других типов интерполяции. Пусть используем более качественную интерполяцию, получим лучше результат. Но пусть он нас по SFDR не устраивает. Зато мы видим, что спектр ошибки неравномерен, откуда возникает желание его размазать, как это сделано в DDS. Неважно какая интерполяция, т.к. нет предела совершенству.

 

 

Самая первая картинка в теме, зеленый график, полоса сигнала зарезана - разве это интерполяция?
Ну там подписано. Это классическая интерполяция через КИХ-фильтр. Полоса зарезана - что Вы имеете в виду? Я использовал ЛЧМ с полосой в половину возможной, я об этом где-то выше упомянул.

 

Далее из картинки очевидно, что при первичном повышении частоты дискретизации было копирование отчетов вместо добивания нулями, что уже дало искажения спектра в основной полосе.
Копирования не было, была линейная интерполяция. Это показывает картинка во временной области. Там и подписи есть, что где.

 

 

 

Красная картинка это правильное повышение частоты + сик фильтр с полюсом в центре зеркала. Зато эффект от цика виден...
Это обычный КИХ через fdatool. Он больше нужен, чтобы его считать эталонным, а потом вычесть его из линейно-интерполированного, чтобы увидеть ошибку.

 

 

Предлагаю поставить несколько циков с разными по частоте полюсами в зеркалах.
Спасибо, идея понятна, но по ресурсам фильтры не годятся. Это во много раз сложнее, чем реализованная линейная интерполяция.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

за сказанное другими словами "спасибо, Кэп" ))))

Я не спрашивал, за что. :rolleyes:

Ну там подписано. Это классическая через КИХ-фильтр. Полоса зарезана - что Вы имеете в виду? Я использовал ЛЧМ с полосой в половину возможной, я об этом где-то выше упомянул.

А, у вас там частота относительная, и полоса синего сигнала равна полосе зеленого. Это же очевидно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне нужен ответ, как размазать спектр.

Я наверное пессимист потому что наверное никак.

Спасибо, идея понятна, но по ресурсам фильтры не годятся. Это во много раз сложнее, чем реализованная линейная интерполяция.

В LE/память/умножители/какие_еще_у_нас_там_ресурсы желательно приведите подтверждение этому удтверждению. А то не конструктивно как-то :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как же amplitude dithering?

Он, правда, по очевидным причинам, мало где используется на практике.

 

В ддс шум подмешивается к фазе сигнала.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавили промежуточных выборок, добавьте к ним шум, пропустите через фильтр. Что мешает проверить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...