реклама на сайте
подробности

 
 
5 страниц V  « < 2 3 4 5 >  
Reply to this topicStart new topic
> есть ли методы дизеринга (dithering) для линейной интерполяции при повышении тактовой частоты (upsampling), хочется что-то аналогичное дизерингу при генерации синуса
Krys
сообщение Apr 17 2015, 07:48
Сообщение #46


Гуру
******

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



Цитата(serjj @ Apr 17 2015, 13:55) *
В LE/память/умножители/какие_еще_у_нас_там_ресурсы желательно приведите подтверждение этому удтверждению. А то не конструктивно как-то
Ну я где-то выше уже расписывал. Типа на линейную интерполяцию не требуется умножитель вообще, только аккумулятор (сумматор) с постоянным инкрементом. А на несколько каскадов CIC требуются много сумматоров. Затем будет требоваться корректирующий КИХ-фильтр на умножителях.


Цитата(ViKo @ Apr 17 2015, 14:25) *
Что мешает проверить?
да зачем?... и так же понятно, что просто горизонтальная шумовая полка поднимется у всего спектра.

Цитата(ViKo @ Apr 17 2015, 14:25) *
пропустите через фильтр
Через какой фильтр?


Цитата(ViKo @ Apr 17 2015, 13:52) *
А, у вас там частота относительная
Дак это ж на графике написано, что относительная ))


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
serjj
сообщение Apr 17 2015, 07:51
Сообщение #47


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Цитата
Ну я где-то выше уже расписывал. Типа на линейную интерполяцию не требуется умножитель вообще, только аккумулятор (сумматор) с постоянным инкрементом. А на несколько каскадов CIC требуются много сумматоров. Затем будет требоваться корректирующий КИХ-фильтр на умножителях.

По поводу коррекции. Для линейного интерполятора тоже нужна коррекция. А если у вас полоса мала в сравнении с fs, то и для CIC можно попробовать обойтись без коррекции. Вот пример:
Прикрепленное изображение

Ставим CIC 4 порядка, видим, что завал АЧХ в полосе пропускания не превышает завал при линейной интерполяции, но боковые лепестки ниже на 25 дБ. Можно получить и лучше, если использовать звенья с разными параметрами и подбирать полюса. Но это как нибудь без меня rolleyes.gif
По ресурсам: CIC 5 порядка в передатчике занимал на 3-м Cyclone около 250 LE на квадратуру + память, которая зависит от задержек.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 17 2015, 08:18
Сообщение #48


Универсальный солдатик
******

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



Цитата(Krys @ Apr 17 2015, 10:48) *
да зачем?... и так же понятно, что просто горизонтальная шумовая полка поднимется у всего спектра.
Через какой фильтр?

Шум добавите до фильтра. А фильтр - какой сможете сделать, пользуясь доступными ресурсами, хоть ИГФ, хоть КИХ, хоть оба, а хотя бы и БИХ.
Go to the top of the page
 
+Quote Post
Krys
сообщение Apr 17 2015, 08:35
Сообщение #49


Гуру
******

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



Цитата(serjj @ Apr 17 2015, 14:51) *
А если у вас полоса мала в сравнении с fs, то и для CIC можно попробовать обойтись без коррекции.
Полоса либо половина возможной, либо четверть, но не меньше.

Цитата(serjj @ Apr 17 2015, 14:51) *
Ставим CIC 4 порядка, видим, что завал АЧХ в полосе пропускания не превышает завал при линейной интерполяции, но боковые лепестки ниже на 25 дБ. Можно получить и лучше, если использовать звенья с разными параметрами и подбирать полюса
Спасибо, убедили. Пожалуй, способ сгодится.

------------

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


Цитата(ViKo @ Apr 17 2015, 15:18) *
Шум добавите до фильтра. А фильтр - какой сможете сделать, пользуясь доступными ресурсами, хоть ИГФ, хоть КИХ, хоть оба, а хотя бы и БИХ.
Это какая-то каша из топора получается. Фильтр нельзя из-за отсутствия ресурса. Но если добавить шум, а потом пропустить через фильтр - то так можно ))) Ресурс то на фильтр не возьмётся.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 17 2015, 08:47
Сообщение #50


Универсальный солдатик
******

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



Цитата(Krys @ Apr 17 2015, 11:35) *
Спасибо, убедили. Пожалуй, способ сгодится.
Это какая-то каша из топора получается. Фильтр нельзя из-за отсутствия ресурса. Но если добавить шум, а потом пропустить через фильтр - то так можно ))) Ресурс то на фильтр не возьмётся.

Точно, каша... но не из топора, а в голове. На CIC вас убедили, а на фильтр ресурсов нет? rolleyes.gif
Go to the top of the page
 
+Quote Post
Krys
сообщение Apr 17 2015, 09:19
Сообщение #51


Гуру
******

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



Ну раз уж фильтр ставить, то зачем же ещё шумов добавлять ))) Тогда уж не нужны ни шумы, ни линейная интерполяция


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 17 2015, 09:28
Сообщение #52


Универсальный солдатик
******

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



Цитата(Krys @ Apr 17 2015, 12:19) *
Ну раз уж фильтр ставить, то зачем же ещё шумов добавлять ))) Тогда уж не нужны ни шумы, ни линейная интерполяция

Хотелось бы сравнить, что выдаст более чистый сигнал: сначала сделать линейную интерполяцию, а потом пропустить ее через фильтр, или дополнить нулями и пропустить через фильтр. Мне представлялось, что первый способ лучше. Но после ваших картин уже не знаю.
Аналогично посмотреть с шумом и без. Вы же имеете инструмент. Или выдайте свои скрипты.
Go to the top of the page
 
+Quote Post
Krys
сообщение Apr 17 2015, 09:52
Сообщение #53


Гуру
******

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



Цитата(ViKo @ Apr 17 2015, 16:28) *
Мне представлялось, что первый способ лучше
Ну по идее должно быть лучше, так что буду иметь в виду и такой способ.


Цитата(ViKo @ Apr 17 2015, 16:28) *
Или выдайте свои скрипты.
Не проблема, в прикреплении. А то действительно щас особо некогда всё подряд пробовать, извиняюсь. Если у Вас есть интерес, желание и время, то спасибо за участие.
Прикрепленные файлы
Прикрепленный файл  lin_interp_test.rar ( 700 байт ) Кол-во скачиваний: 9
 


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2015, 09:57
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Krys @ Apr 17 2015, 05:54) *
petrov, Фарроу не годится в любом случае по ресурсам - сложнее он не раза в 2. Учитывая, что в линейной интерполяции нет умножителей вообще, а в Фарроу их 3 только на полином, да плюс ещё на коэффициенты.


В параболическом 2 полных умножителя, если вы увеличиваете частоту дискретизации в 2^n, то они точно так же упрощаются как и в линейном, коэффициенты тоже оч простые +-0.5 и сложения, это очень простая штука. Если подавления всё же не будет хватать, можно перед Фарроу ещё в 2 раза частоту увеличить полуполосным полифазным фильтром на распределённой арифметике, тоже очень простым.
Go to the top of the page
 
+Quote Post
Krys
сообщение Apr 17 2015, 10:00
Сообщение #55


Гуру
******

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



Дайте пожалуйста ссылки на описанный Вами простой способ параболической интерполяции с простыми коэффициентами. И что-нибудь про оптимизированные half-band фильтры, которые на распределённой арифметике можно сделать. Заранее спасибо.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2015, 11:21
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Krys @ Apr 17 2015, 13:00) *
Дайте пожалуйста ссылки на описанный Вами простой способ параболической интерполяции с простыми коэффициентами. И что-нибудь про оптимизированные half-band фильтры, которые на распределённой арифметике можно сделать. Заранее спасибо.


Прикрепленный файл  interpolation_in_digital_modems___part_2.pdf ( 843.53 килобайт ) Кол-во скачиваний: 1075


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

Про распределённую арифметику можно легко у альтеры-зайлинкса доки найти.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Apr 17 2015, 13:30
Сообщение #57


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(ViKo @ Apr 16 2015, 13:42) *
А на 10 поделить, не подскажете, где почитать? sm.gif А на 11? 12?

На 10 и на 12 подскажу.. На всякий случай... sm.gif

A/3 = A/(4-1) = (A/4)*[1/(1-1/4)] = (A/4)*[1+1/41+1/42+1/43+...] = (A>>2)+(A>>4)+(A>>6)+(A>>8)+...

A/5 = A/(4+1) = (A/4)*[1/(1+1/4)] = (A/4)*[1-1/41+1/42-1/43+...] = (A>>2)-(A>>4)+(A>>6)-(A>>8)+...

A/7 = A/(8-1) = (A/8)*[1/(1-1/8)] = (A/8)*[1+1/81+1/82+1/83+...] = (A>>3)+(A>>6)+(A>>9)+(A>>12)+...

A/9 = A/(8+1) = (A/8)*[1/(1+1/8)] = (A/8)*[1-1/81+1/82-1/83+...] = (A>>3)-(A>>6)+(A>>9)-(A>>12)+...

A/10 = A/(8+2) = (A/8)*[1/(1+1/4)] = (A/8)*[1-1/41+1/42-1/43+...] = (A>>3)-(A>>5)+(A>>7)-(A>>9)+...

A/12 = A/(16-4) = (A/16)*[1/(1-1/4)] = (A/16)*[1+1/41+1/42+1/43+...] = (A>>4)+(A>>6)+(A>>8)+(A>>10)+...

И тд..
Go to the top of the page
 
+Quote Post
Hose
сообщение Apr 17 2015, 14:07
Сообщение #58


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



В ддс спурс это одна частотная составляющая. Она заметна при анализе узкой полосой. Если ее замодулировать то ее мощность размажется в полосе модулирующего сигнала, мощность увеличится на мощность модуляции. В вашем случае нет дискретной частотной составляющей. Любая модуляция шумом ухудшит ситуацию.
Обратный вариант - бегающий полюс цик. Это два цика в параллель и суммирование их выходов с разными весами: вес А меняется от 0 до 1, Б = 1-А. - это самое близкое к тому о чем спрашивалось.
Линейная и любая другая интерполяеция есть частный случай фильтрации с послаблениями возможнымии благодаря замечательным свойствам сигнала. Прежде чем заявлять что линейная интерполяция лучше, необходимо проверить это на всех возможных реализациях сигнала.
Go to the top of the page
 
+Quote Post
Hose
сообщение Apr 17 2015, 15:20
Сообщение #59


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Если это курсовой или дирломная, то качающийся полюс не стоит применять - устанете объяснять как работает.

Полуполосный фильтр это фир с импульсной син(х)/х. Умножителей меньше в 2 раза относительно остальных фир с симметричной импульсной. На каждое повышение частоты в 2 раза нужен такой фильтр.
Если жалко ресурсы, можно сделать один полифазный конвейерный фильтр на памяти. Но это тема для отдельной дипломной)

Сообщение отредактировал Hose - Apr 17 2015, 15:38
Go to the top of the page
 
+Quote Post
Maverick
сообщение Apr 17 2015, 17:11
Сообщение #60


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Hose @ Apr 17 2015, 18:20) *
Если это курсовой или дирломная, то качающийся полюс не стоит применять - устанете объяснять как работает.

что такое качающийся плюс?
это ж вроде разложение в ряд Маклорена или Тейлора, если я не ошибаюсь...



--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

5 страниц V  « < 2 3 4 5 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 18:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016