|
Fractional Resample, вопрос про влияние джиттера |
|
|
|
Jul 16 2012, 07:11
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Добрый день!!! Есть у меня интересный вопрос, касающийся ресамплинга (в том числе дробного) на интерполяторах. Рассмотрим систему: АЦП работающий от чистого генератора G1 с джиттером ну положим 1ps. Потом оцифровали, затащили в ПЛИС/проц, сложили в память. Теперь нужно произвести ресамплинг на частоту 100МГц, полученную от другого генератора G2 с джиттером 100ps. Математически произвести такую операцию просто, но вот будет ли применимо к этому правило, относительно влияния джиттера на аналого-цифровое преобразование? С одной стороны поток данных уже оцифрован и отчеты не зависят от частоты G2, но с другой стороны, на G2 нужно будет формировать периоды генератора G1 для опорных точек интерполяции и тут ИМХО будет тот же самый эффект влияния джиттера. Или я не прав? UPD. Для большей ясности рассмотрим не проц с "виртуальной" частотой 100 МГц, получаемой из 1ГГц тактовой. А ПЛИС, работающую на частоте 100МГц, на которую и нужно перенести сигнал %) так будет честнее и ближе к нужной мне теме %)
--------------------
|
|
|
|
|
Jul 16 2012, 08:22
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(scifi @ Jul 16 2012, 01:49)  Сигнал уже оцифрован. Дальнейшие преобразования данных чисто цифровые, то есть джиттер генератора G2 не важен. Да и сама частота 100 МГц условна: цифровая обработка не обязана происходить в реальном времени. Сначала я подумал точно также, но потом развил мысль : ПЛИС пишет в память ну положим 1000 отсчетов на частоте АЦП - "чистые" 96МГц. Затем ПЛИС нужно выполнить ресамплинг на "грязные" 100МГц. Для этого, нужно считать 96 точек и получить 100, рассчитав дробные задержки. И при расчете дробных задержек, разве джиттер G2 не будет влиять (ведь по сути, по правилу работы того же интерполятора Фарроу, нужно будет сделать NCO генератор на G2, на котором родить частоту G1 по сигналу которой читать данные из памяти) ? Или после того как закапчурили отчеты АЦП это уже стало не реальное время обработки ?
--------------------
|
|
|
|
|
Jul 16 2012, 14:56
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(des00 @ Jul 16 2012, 14:01)  понятно. задумал новую архитектуру модема, давно хотел отвязаться от частот, связанных с АЦП %) А так ли нужно для этого ресемплить сигнал, если можно обрабатывать сигнал в сетке 96 МГц c тактовой частотой 100 МГц?
Сообщение отредактировал KalashKS - Jul 16 2012, 14:57
|
|
|
|
|
Jul 16 2012, 15:37
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(KalashKS @ Jul 16 2012, 09:56)  А так ли нужно для этого ресемплить сигнал, если можно обрабатывать сигнал в сетке 96 МГц c тактовой частотой 100 МГц? иногда нужно, например при многотактовой арифметике и цифровом восстановлении тактовой частоты, мне как раз 1 такта не хватает %) Цитата(i-mir @ Jul 16 2012, 09:21)  Возник вопрос. ............ А у нас (у меня в частности) - реалтайм в обоих случаях. мой вопрос лежал не столько в области передачи данных, сколько в области модемных технологий. Когда идет работа с потоком отчетов с АЦП. Если рассмотреть вопрос реалтайма и преобразования 96/100 МГц, то мои умозаключения сводились к 2-м вариантам : 1. Если частота 100 МГц получается как 25/24 от частоты 96 (т.е. частоты хоть как то привязаны по фазе), то при наличии небольшого буфера на 24 отчета, все легко решается интерполяцией на лету (по крайней мере матлаб говорит что будет работать). Под "легко решается" я понимаю что на выходе будет поток символов на 100МГц + искажения при интерполяции. 2. Если частота 100МГц асинхронна относительно 96МГц, то легко не получиться, т.к. фазы генераторов плывут и рано или поздно будет underflow/overflow. И задача сводиться к обработке на клоке 100МГц + enable. Что даст итоговую частоту < 100МГц (кол-во насколько меньше нужно считать исходя из стабильности генераторов и джиттера). Могу ошибаться, но ИМХО так.
--------------------
|
|
|
|
|
Jul 16 2012, 18:51
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(ViKo @ Jul 16 2012, 12:26)  А я что-то не нахожу  Если это пункт 1 ( частоты привязаны к фазе), так это ничего не меняет, мсм. пункт звучал не так Цитата 1. Если частота 100 МГц получается как 25/24 от частоты 96 (т.е. частоты хоть как то привязаны по фазе) Как бы это меняет все. ИМХО без привязки по фазе никакое фифо/память не поможет реалтаймовской обработке. Если вы именно про то что нужно делать двойное буферирование, то это как бы очевидно, в противном случае посчитать 25 выходных точек по 24 ем не получится, а именно будут выбиты/неправильно посчитаны последние 2 точки новой частоты, т.к. к моменту расчета 24 ой точки новой частоты (100МГц), нужной 24 ой точки старой частоты(96) еще физически не будет, а она нужна.
--------------------
|
|
|
|
|
Jul 16 2012, 19:30
|

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

|
Цитата(des00 @ Jul 16 2012, 21:51)  в противном случае посчитать 25 выходных точек по 24 ем не получится, а именно будут выбиты/неправильно посчитаны последние 2 точки новой частоты, т.к. к моменту расчета 24 ой точки новой частоты (100МГц), нужной 24 ой точки старой частоты(96) еще физически не будет, а она нужна. Ну, вы же могли бы сделать интерполяцию с задержкой на несколько тактов, по тем точкам, что уже имеются. Я говорил про метастабильные состояния, которые возможны независимо от того, привязаны частоты по фазе, или нет.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|