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

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

|
Цитата(shf_05 @ Apr 20 2015, 12:31)  простая последовательность рассуждений приведет вас к пониманию, что идея с добавлением шума не годится: если ваша система линейна и шум аддитивный, то сумма сигнал + помеха не размажет спектра сигнала Это то я понимал с самого начала, поэтому отмёл эту идею сразу, даже без попыток отмоделировать. Это ув. ViKo предлагал добавлять шум ко входу и выходу. Цитата(shf_05 @ Apr 20 2015, 12:31)  если вам надо размазать спектр, то вводите мультипликативную помеху, но ваш сигнал будет искажен. либо делайте нелинейную систему. опять же сигнал будет искажен. Спасибо, вот это мысль в нужном направлении. То, что сигнал будет искажён - нестрашно, он и так даже от линейной интерполяции нехило искажается )) Цитата(shf_05 @ Apr 20 2015, 12:31)  в DDS пики в спектре совсем по другой причине, чем у вас. Это тоже понятно. Мне просто понравился общий подход: чтобы палка не мешала, её надо размазать. Общая мощность ошибки увеличится, но её плотность будет мала, SFDR будет лучше.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Apr 20 2015, 11:51
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(Krys @ Apr 20 2015, 11:10)  Спасибо, вот это мысль в нужном направлении. То, что сигнал будет искажён - нестрашно, он и так даже от линейной интерполяции нехило искажается )) Кстати, по поводу линейной интерполяции.. И если нет ресурсов для правильных фильтров.. Из теории рядов Фурье вроде как следует, что синусоиду лучше аппроксимировать трапецеидальным сигналом, причем длительность каждого из фронтов трапеции должна равняться в точности: T периода/3, а длительность каждой из "полок" должна равняться в точности: T периода/6. При этом 3-я гармоника спектра должна получиться тождественно равной нулю. То есть, отличными от нуля гармониками будут: 1-ая, 5-ая, 7-ая, 11-ая, и т.д. Учитывая же, что амплитуды гармоник спадают как: 1/k 2, получим выигрыш по гармоникам примерно: (5/3) 2 = 2,78 или 8,9[dB]. Как-то так..
|
|
|
|
|
Apr 21 2015, 02:05
|

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

|
Цитата(blackfin @ Apr 20 2015, 18:51)  Из теории рядов Фурье вроде как следует, что синусоиду лучше аппроксимировать трапецеидальным сигналом, причем длительность каждого из фронтов трапеции должна равняться в точности: Tпериод/3, а длительность каждой из "полок" должна равняться в точности: Tпериод/6. Спасибо, надо будет попробовать на досуге, сейчас времени маловато. Это же мой личный интерес, не курсовая и не основное задание по работе )) К стати: при линейной интерполяции в полосе полезного сигнала вообще нет нелинейных искажений, правильно? Т.е. линейная интерполяция ничего в полосе не портит, только за полосой. А вот трапеция видимо наделает компонентов внутри полосы, их оттуда потом ничем не уберёшь, разве что заранее внести соответствующие предыскажения в генерируемый сигнал по типу DPD, это возможно. Цитата(ViKo @ Apr 20 2015, 16:39)  Krys, в вашем скрипте используются функции plot_real, plot_spec, которых нет в моем Matlab R2014b. Да это просто удобное отображение. Можете их заменить просто обычным плотом, ничего не поменяется.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Apr 21 2015, 07:00
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата Т.е. линейная интерполяция ничего в полосе не портит, только за полосой. Смотря что вы имеете в виду под словом "портить". Завал в полосе, как вы уже убедились, она обеспечивает. У вас путаница по поводу природы и видов вносимых искажений. Цитата при линейной интерполяции в полосе полезного сигнала вообще нет нелинейных искажений, правильно? Нелинейные искажения - это такие искажения, которые порождают компоненты за полосой сигнала, которых в исходном сигнале не было. Искажения в полосе - это частотные искажения, иначе неравномерность АЧХ, вносимая системой. Подумайте, как можно записать линейную интерполяцию в линейном виде, т.е. как линейную комбинацию элементов вектора, составленного из отчётов входного сигнала, которая бы соответствовала линейно интерполированному сигналу. Естественно сигнал нужно сначала передескритезировать, дополнив нулями. Если у вас этого не получится то ваша интерполяция нелинейна. Вот пример. Возьмем два фильтра: FIR с единичными коэффициентами (скользящее среднее) и медианный фильтр. Построим АЧХ обоих фильтров:
Видно, что оно с некоторой точностью совпадает. Теперь пропустим некоторый полосовой сигнал через оба фильтра:
Видно, что медианный фильтр внёс искажения вне полосы сигнала (спектр исходного сигнала приведен для сравнения). Медианный фильтр нелинейная система, он даёт нелинейные (внеполосные) искажения. С точки зрения математики, любая система для которой y = f([x_i]) не является линейной комбинацией элементов вектора x_i (или в общем случае матрицы), нелинейная. Однако не у каждой нелинейной системы будут выраженные нелинейные искажения.
|
|
|
|
|
Apr 21 2015, 07:32
|

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

|
Цитата(serjj @ Apr 21 2015, 14:00)  Смотря что вы имеете в виду под словом "портить". Завал в полосе, как вы уже убедились, она обеспечивает Да завал - это линейные искажения, я их даже за искажения не считаю )) Я имел в виду под портить наличие интермодуляционных компонентов прямо в полосе сигнала. Т.е. берём для чистоты эксперимента чистую синусоиду, а лучше несколько рядом, пропускаем их через хорошо нелинейный интерполятор, получаем кучу лишних палок прямо внутри полосы сигнала (не говоря уж о палках за полосой). При этом при линейной интерполяции лишних палок нет внутри полосы сигнала, только за полосой. Цитата(serjj @ Apr 21 2015, 14:00)  Подумайте, как можно записать линейную интерполяцию ... Вот пример ... Большое спасибо, что разъясняете.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Apr 21 2015, 08:04
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата Я имел в виду под портить наличие интермодуляционных компонентов прямо в полосе сигнала. Т.е. берём для чистоты эксперимента чистую синусоиду, а лучше несколько рядом, пропускаем их через хорошо нелинейный интерполятор, получаем кучу лишних палок прямо внутри полосы сигнала (не говоря уж о палках за полосой). При этом при линейной интерполяции лишних палок нет внутри полосы сигнала, только за полосой. Когда я говорил о полосе я имел в виду не условную полосу (например полосу обработки), а полосу сигнала. Для синуса полоса сигнала это палка в частотном спектре. Интермодуляция порождает гармоники за полосой синуса. Тоже применимо и к полосовому сигналу. Другое дело, что для полосового сигнала, пропущенного через нелинейную систему, имеются помимо нелинейных искажений искажения в полосе. Если завал линейного фильтра типа скользящего среднего вносит искажения только в АЧХ, то в нелинейной системе могут возникнуть искажения и в ФЧХ. Но вот вам пример линейной системы, которая вызывает искажения АЧХ и ФЧХ в полосе сигнала - модель канала связи, аппроксимированная комплексным FIR фильтром. Нелинейные искажения при этом не появляются но в полосе полный треш. Как следствие - потребность в комплексном эквалайзере. Так что если мы говорим о нелинейных искажениях, то их критерием являются именно внеполосные искажения.
Сообщение отредактировал serjj - Apr 21 2015, 08:05
|
|
|
|
|
Apr 21 2015, 08:36
|

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

|
Цитата(serjj @ Apr 21 2015, 15:04)  Тоже применимо и к полосовому сигналу. Другое дело, что для полосового сигнала, пропущенного через нелинейную систему, имеются помимо нелинейных искажений искажения в полосе. Вот это я имел в виду. Если конкретно по картинке из первого поста, то допустим полосовой сигнал занимает половину всей возможной полосы, т.е. четверть частоты дискретизации. Так вот хорошо нелинейный интерполятор даст интермодуляционные компоненты, залезшие прямо в эту полосу полосового сигнала. А линейный интерполятор даст компоненты, лежащие в других зонах Найквиста (зоны до интерполяции), но не в полосе полосового сигнала. Цитата(serjj @ Apr 21 2015, 15:04)  Так что если мы говорим о нелинейных искажениях, то их критерием являются именно внеполосные искажения. Тут я либо что-то недопонял, либо несогласен )) Согласно моего абзаца выше нелинейные искажения могут дать интермодуляции прямо в полосе полосового сигнала.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|