|
|
  |
есть ли методы дизеринга (dithering) для линейной интерполяции при повышении тактовой частоты (upsampling), хочется что-то аналогичное дизерингу при генерации синуса |
|
|
|
Apr 16 2015, 10:28
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Krys, вы добавили шум ко входному сигналу. А что будет, если добавить на выход? Вообще, интерполяцию нужно как делать - добавить нулей в недостающие точки, и пропустить через ФНЧ, подавляющий частоты Fs_old, 2Fs_old... У вас так мало выборок на период сигнала, что линейная интерполяция дает гармоники, доходящие до Fs_new. То есть, линейная интерполяция здесь не работает (или работает очень плохо). Цитата(Fat Robot @ Apr 16 2015, 11:49)  Есть также быстрые схемы деления, например на 3. Подскажите, где подсмотреть.
|
|
|
|
|
Apr 17 2015, 02:54
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
petrov, Фарроу не годится в любом случае по ресурсам - сложнее он не раза в 2. Учитывая, что в линейной интерполяции нет умножителей вообще, а в Фарроу их 3 только на полином, да плюс ещё на коэффициенты. Цитата(ViKo @ Apr 16 2015, 17:28)  Krys, вы добавили шум ко входному сигналу. А что будет, если добавить на выход? Это и в уме нетрудно представить: у красного графика на спектральной картинке просто добавится горизонтальная полка шума )) Цитата(ViKo @ Apr 16 2015, 17:28)  Вообще, интерполяцию нужно как делать - добавить нулей в недостающие точки, и пропустить через ФНЧ, подавляющий частоты Fs_old, 2Fs_old... У вас так мало выборок на период сигнала, что линейная интерполяция дает гармоники, доходящие до Fs_new. То есть, линейная интерполяция здесь не работает (или работает очень плохо). Всё, что Вы написали, совершенно очевидно, уж не обижайтесь ))
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Apr 17 2015, 04:57
|
Частый гость
 
Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450

|
Первое что видно из картинок: первичный спектр имеет уровни на краях -55дб, если экстраполировать, то далее идет зеркальный канал. если вы хотите заглянуть ниже чем -55, то вам необходимо додумать исходный сигнал. Далее из картинки очевидно, что при первичном повышении частоты дискретизации было копирование отчетов вместо добивания нулями, что уже дало искажения спектра в основной полосе. Красная картинка это правильное повышение частоты + сик фильтр с полюсом в центре зеркала. Зато эффект от цика виден... Предлагаю поставить несколько циков с разными по частоте полюсами в зеркалах. Понятно, что при таких коэффициентах интерполяции шаг полюсов будет крупным, поэтому можно предварительно сделать повышение часоты на больше чем нужно, можно не кратно 2 и после фильтрации понизить.
В ддс шум подмешивается к фазе сигнала. В вашем случае вам необходимо подмешать шум к коэффициентам фильтра, если это цик, то заставить двигаться полюс в небольших пределах, с часотой выше чем полоса анализатора спектра, тогда случится визуальное подавление, но это не более чем самообман)
|
|
|
|
|
Apr 17 2015, 05:18
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(ViKo @ Apr 17 2015, 11:33)  Зачем обижаться? за сказанное другими словами "спасибо, Кэп" )))) Цитата(ViKo @ Apr 17 2015, 11:33)  И почему вы не принимаете во внимание очевидное (что линейная интерполяция не подходит)? Потому что все в этой теме пытаются подменить вопрос. Мне не нужен ответ на вопрос, какой тип интерполяции здесь подойдёт. Мне нужен ответ, как размазать спектр. Потому что этот вопрос может быть актуален и для других типов интерполяции. Пусть используем более качественную интерполяцию, получим лучше результат. Но пусть он нас по SFDR не устраивает. Зато мы видим, что спектр ошибки неравномерен, откуда возникает желание его размазать, как это сделано в DDS. Неважно какая интерполяция, т.к. нет предела совершенству. Цитата(ViKo @ Apr 17 2015, 11:33)  Самая первая картинка в теме, зеленый график, полоса сигнала зарезана - разве это интерполяция? Ну там подписано. Это классическая интерполяция через КИХ-фильтр. Полоса зарезана - что Вы имеете в виду? Я использовал ЛЧМ с полосой в половину возможной, я об этом где-то выше упомянул. Цитата(Hose @ Apr 17 2015, 11:57)  Далее из картинки очевидно, что при первичном повышении частоты дискретизации было копирование отчетов вместо добивания нулями, что уже дало искажения спектра в основной полосе. Копирования не было, была линейная интерполяция. Это показывает картинка во временной области. Там и подписи есть, что где. Цитата(Hose @ Apr 17 2015, 11:57)  Красная картинка это правильное повышение частоты + сик фильтр с полюсом в центре зеркала. Зато эффект от цика виден... Это обычный КИХ через fdatool. Он больше нужен, чтобы его считать эталонным, а потом вычесть его из линейно-интерполированного, чтобы увидеть ошибку. Цитата(Hose @ Apr 17 2015, 11:57)  Предлагаю поставить несколько циков с разными по частоте полюсами в зеркалах. Спасибо, идея понятна, но по ресурсам фильтры не годятся. Это во много раз сложнее, чем реализованная линейная интерполяция.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Apr 17 2015, 06:55
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата Мне нужен ответ, как размазать спектр. Я наверное пессимист потому что наверное никак. Цитата Спасибо, идея понятна, но по ресурсам фильтры не годятся. Это во много раз сложнее, чем реализованная линейная интерполяция. В LE/память/умножители/какие_еще_у_нас_там_ресурсы желательно приведите подтверждение этому удтверждению. А то не конструктивно как-то
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|