Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Измерение частоты
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
Страницы: 1, 2, 3
Lmx2315
QUOTE (blackfin @ Dec 3 2014, 22:10) *
Уж больно точность заявлена высокая: 10/1,8^6 = 5,6 ppm. Боюсь, вам каждые 10 секунд придется измерять и исправлять АЧХ..



..а чего вам сдалась АЧХ АЦП ?
У нас квадратуры получаются в цифре, а не в аналоге, чтобы там с АЧХ не было - квадратуры будут одинаковые.
blackfin
Цитата(Lmx2315 @ Dec 3 2014, 23:20) *
..а чего вам сдалась АЧХ АЦП ?

Тогда еще раз вопрос: как из одинаковых квадратур вы вычисляете частоту?
Lmx2315
QUOTE (blackfin @ Dec 3 2014, 22:25) *
Тогда еще раз вопрос: как из одинаковых квадратур вы вычисляете частоту?

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

QUOTE
Lmx2315
А вот зачем делать это"снижаете частоту сэмплирования до вашего разброса +- 300 Кгц , т.е. до 600 КГц" вообще не понять. Можете порекомендовать литературку по придмету?


http://www.dsplib.ru/content/cicid/cicid.html
blackfin
Цитата(Lmx2315 @ Dec 3 2014, 23:32) *
..одинаковые по амплитуде, квадратуры формирует вектор с фазовым углом - мы вычисляем фазовый угол пришедшей синусоиды, за два измерения вычисляем два фазовых угла (на который успеет повернуться вектор за время семплирования).

Интересно, а как вы за два(!) измерения находите три(!) неизвестных X,Y,Z в системе из двух уравнений:

X*sin(Y*t1+Z) = A1;
X*sin(Y*t2+Z) = A2;

Где: t1,t2 - моменты времени, а A1,A2 - измеренные в эти моменты амплитуды синусоиды.
И куда делся шум АЦП?
Lmx2315
QUOTE (blackfin @ Dec 3 2014, 22:47) *
Интересно, а как вы за два(!) измерения находите три(!) неизвестных X,Y,Z в системе из двух уравнений:

X*sin(Y*t1+Z) = A1;
X*sin(Y*t2+Z) = A2;

Где: t1,t2 - моменты времени, а A1,A2 - измеренные в эти моменты амплитуды синусоиды.
И куда делся шум АЦП?


А я факир , вот так-то - за два измерения нахожу и амлитуду и фазу и частоту.

X*sin(Y*t1+Z) = A1;
X*sin(Y*t2+Z) = A2;
X*cos(Y*t1+Z) = A3;
X*cos(Y*t2+Z) = A4; - так наверное, у нас же квадратуры.

Дайте подумать - после комплексного смесителя , каждый такт мы будем получать две квадратуры которые отображают нам вектор комплексной огибающей аналитического сигнала, угол между вектором и осью Х - говорит нам о фазе аналитического сигнала на этом такте, на следующем такте у нас вектор повернётся на сколько успеет в зависимости от расстройки от гетеродина за время тактового сигнала.

Шум АЦП , который остался в полосе сигнала после фильтрации, нам мешает конечно - вносит ошибку, чем С/Ш результирующий будет меньше тем ошибка больше , надо подобрать желаемый C/Ш для требуемой точности.

blackfin
Цитата(Lmx2315 @ Dec 4 2014, 00:00) *
А я факир , вот так-то - за два измерения нахожу и амлитуду и фазу и частоту.
.., у нас же квадратуры.

Вы же говорили, что квадратуры получаются "в цифре"? Выходит, измерения всего два?
Или у вас смеситель перед АЦП и каждая квадратура цифруется на отдельном АЦП?
Цитата(Lmx2315 @ Dec 4 2014, 00:00) *
Шум АЦП , который остался в полосе сигнала после фильтрации, нам мешает конечно - вносит ошибку, чем С/Ш результирующий будет меньше тем ошибка больше , надо подобрать желаемый C/Ш для требуемой точности.

А сможете "подобрать желаемый C/Ш для требуемой точности" ? Все же, честных 18 разрядов АЦП это точность не маленькая..
Lmx2315
QUOTE (blackfin @ Dec 3 2014, 23:14) *
Вы же говорили, что квадратуры получаются "в цифре"? Выходит, измерения всего два?
Или у вас смеситель перед АЦП и каждая квадратура цифруется на отдельном АЦП?


..нет у меня смесителя перед АЦП , АЦП один - цифрует аналог, передаёт на комплексный смеситель куда приходят квадратуры гетеродина, на выходе после фильтров получаются квадратуры сигналов. Магия , измерений всего два а формул получается 4-ре, для поиска трёх неизвестных достаточно.

X*sin(Y*t1+Z) = A1;
X*sin(Y*t2+Z) = A2;
X*cos(Y*t1+Z) = A3;
X*cos(Y*t2+Z) = A4;

QUOTE
А сможете "подобрать желаемый C/Ш для требуемой точности" ? Все же, честных 18 разрядов АЦП это точность не маленькая..

я тоже думаю что 18 бит - за глаза хватит, выше в теме уважаемый _PV примерно посчитал что 40 Дб С/Ш хватит , а это даже не 14 бит c АЦП.
blackfin
Цитата(Lmx2315 @ Dec 4 2014, 00:24) *
.. АЦП один - цифрует аналог, передаёт на комплексный смеситель куда приходят квадратуры гетеродина, на выходе после фильтров получаются квадратуры сигналов.
Магия , измерений всего два а формул получается 4-ре, для поиска трёх неизвестных достаточно.

X*sin(Y*t1+Z) = A1;
X*sin(Y*t2+Z) = A2;
X*cos(Y*t1+Z) = A3;
X*cos(Y*t2+Z) = A4;

А где тут в этих ваших "магических формулах" квадратуры гетеродина? Я что-то их не вижу.. biggrin.gif

Цитата(Lmx2315 @ Dec 4 2014, 00:24) *
я тоже думаю что 18 бит - за глаза хватит.

Хватит то, может, их и хватит.. да кто ж ему их даст?
Lmx2315
QUOTE (blackfin @ Dec 3 2014, 23:34) *
Хватит то, может, их и хватит.. да кто ж ему их даст?

..так у нас 14 битный АЦП и полоса сигнала с 5 Мгц (при 10 МГц тактовой) сужается до 600 кГц , больше чем в 10 раз.
А это почти ещё два бита в плюс - итого 16 бит, 16 бит нам хватит.
QUOTE
А где тут в этих ваших "магических формулах" квадратуры гетеродина? Я что-то их не вижу.. biggrin.gif


формулы - это результат работы комплексного смесителя, квадратуры гетеродина уже учлись.
з.ы.
Вы если меня на глупости какой поймали - так и скажите, а то я устал.
Если не понимаю чего - киньте ссылку изучу.
blackfin
Цитата(Lmx2315 @ Dec 4 2014, 00:49) *
..так у нас 14 битный АЦП и полоса сигнала с 5 Мгц (при 10 МГц тактовой) сужается до 600 кГц , больше чем в 10 раз.
А это почти ещё два бита в плюс - итого 16 бит, 16 бит нам хватит.

Про какое сужение полосы "до 600 кГц" может идти речь, если вы измеряете сигнал в двух временных точках???

Цитата(Lmx2315 @ Dec 4 2014, 00:49) *
формулы - это результат работы комплексного смесителя, квадратуры гетеродина уже учлись.

Я как раз и хотел увидеть, как эти "квадратуры гетеродина уже учлись". Видать, не судьба..

Цитата(Lmx2315 @ Dec 4 2014, 00:49) *
з.ы.
Вы если меня на глупости какой поймали - так и скажите, а то я устал.

Да, мне тоже уже надоел этот дискусс..
iDiode
В старину иногда делали так:
http://elektron.pol.lublin.pl/elekp/ap_notes/Ab-040_VFC.pdf
VCO
Подобная темка уже была на форуме: Там надо было один период импульса измерить с очень высокой точностью.
На мой взгляд, самым умным решением был предложен способ совмещения губого измерения с помощью ВЧ-СВЧ заполнения
и точной корректировки начального и конечного обрывков с помощью интегратора, калибруемого в период "простоя".
Весь вопрос теперь можно свести к преобразованию синуса в меандр на суперпрецизионном ОУ или компараторе.
blackfin
Цитата(VCO @ Dec 4 2014, 12:23) *
Подобная темка уже была на форуме..

Они бывают тут регулярно: Точно измерить частоту. rolleyes.gif
VCO
Цитата(blackfin @ Dec 4 2014, 11:27) *
Они бывают тут регулярно: Точно измерить частоту. rolleyes.gif

Ну да, радиоэфир внесёт свою лепту в погрешность, не спорю. Но об условиях передачи/приёма сигнала информации пока не видел.

Я просто подумал, что метод решения основной задачи, родившей эту, выбран неправильно.
Может быть шумоподобный сигнал там более к месту? Это попытка угадать, а не критика...
_pv
Цитата(poweroff @ Dec 4 2014, 00:45) *
_pv
Использование этого метода потребует очень быстродействующего АЦП, то есть дорогого, импортного. А необходимо решить задачу "дёшево и сердито", и всё должно быть с 5 приёмкой.

про "вместо дорого и импортного поставить дешевое, сердитое и отечественное, но с 5й приёмкой" - совсем не понял. ничего не перепутали?

АЦП c частотой как минимум 10МГц в любом случае понадобится, чтобы оцифровать 2МГц сигнал.
перевести как-либо в аналоге сигнал в напряжение (или спустить в 0) чтобы потом один раз очень медленным, но точным АЦП измерить не получится, как отметил blackfin, 10Гц от 2МГц это 5ppm. вольты с такой точностью мерить сложно, тем более отечественными АЦП с 5й приёмкой.

если 10МГц это много, можно через udersampling попробовать с АЦП на 1МГц, но тогда SNR нужен будет раза в 3 лучше.
для 10МГц надо было ~40дБ для ошибки в 100Гц и ~60дБ для ошибки в 10Гц.
для 1МГц будет на 10дБ больше, но там уже будет всего 4 отсчёта за 4мкс, и нелинейность АЦП вылезет.

Lmx2315 еще раз спрошу: зачем после оцифровки переносить частоту вниз, что это даст?
там же всего 40 отсчётов получится за 4мкс при 10МГц, почему сразу по ним частоту не посчитать?
Lmx2315
QUOTE (_pv @ Dec 4 2014, 12:25) *
Lmx2315 еще раз спрошу: зачем после оцифровки переносить частоту вниз, что это даст?
там же всего 40 отсчётов получится за 4мкс при 10МГц, почему сразу по ним частоту не посчитать?

..нравится мне всё в ноль сносить, может и нет смысла, не настаиваю.
з.ы.
я видел смысл в сравнении входного сигнала с сигналом эталона - гетеродина и высчитывать ошибку, относительно него.
Всё таки мы измеряем не какую-то неизвестную частоту а заранее известную с известной областью ошибки, этим надо пользоваться.
Ещё сброс в ноль позволит понизить шумы АЦП за счёт андерсеплинга и упростить обработку на МК за счёт снижения тактовой.
ViKo
Оцифровать сигнал с максимальной частотой, пусть 100 МВыб/с, получить 420 выборок. Занести их в массив из 16384 выборок (или сколько там понадобится), остальные нулями забить. Сделать БПФ на 16384 точки. Найти максимальную частоту.
Мне не кажется, что любой другой способ будет точнее. Проще - может быть.

P.S. Проще - вычислять только интересуемый диапазон бинов. ДПФ.
Abell
Извиняюсь спросить, может глупость ляпну, но зачем АЦП? Насколько помню, за один период будет два перехода через ноль - не проще компаратором или триггером Шмитта их ловить, а далее уже длительность прямоугольника считать, как во многих частотомерах уже делалось?
Lmx2315
QUOTE (Abell @ Dec 4 2014, 12:43) *
Извиняюсь спросить, может глупость ляпну, но зачем АЦП? Насколько помню, за один период будет два перехода через ноль - не проще компаратором или триггером Шмитта их ловить, а далее уже длительность прямоугольника считать, как во многих частотомерах уже делалось?

..в частотомерах время измерения большое - 1 секунда или больше , а здесь несколько мкс , придётся на гиговой частоте считать чтобы за это время высчитать с требуемой точностью.
Abell
Цитата(Lmx2315 @ Dec 4 2014, 12:46) *
придётся на гиговой частоте считать чтобы за это время высчитать с требуемой точностью.

разве? не согласен, но не о том речь. все-таки - зачем оцифровывать весь сигнал, зачем именно дорогой быстродействующий АЦП, если для измерения частоты нужна только длительность периода?
P.S. извиняюсь, прочитал условия внимательнее - точность действительно высокая нужна laughing.gif
ViKo
Цитата(poweroff @ Dec 3 2014, 21:51) *
Вот этот параметр (начальная фаза) вполностью зависит от меня, как я скажу, такой она и будет.

Вы просто волшебник! w00t.gif
То есть, была ровненькая нулевая линия, и вдруг откуда ни возьмись семь идеальных периодов синуса! Потом снова ровненький нуль.
?
VCO
Цитата(ViKo @ Dec 4 2014, 13:02) *
То есть, была ровненькая нулевая линия, и вдруг откуда ни возьмись семь идеальных периодов синуса! Потом снова ровненький нуль.
?

А что в этом сложного на такой низкой частоте? Ставим детектор нуля и высокоскоростной ключ и выпиливаем 7 периодов у постоянного синуса.
С передающим и приёмным трактом тоже всё легко согласовать на такой частоте. Если бы были периоды СВЧ, то я бы удивился, а это даже не ВЧ.
ViKo
Цитата(VCO @ Dec 4 2014, 13:16) *
А что в этом сложного на такой низкой частоте? Ставим детектор нуля и высокоскоростной ключ и выпиливаем 7 периодов у постоянного синуса.

rolleyes.gif Для вас 1.8MHz - НЧ. А для той схемы, где этот сигнал бегает - х.з. В любом случае начало и конец сигнала будут сглажены. Насколько сильно - вот вопрос. Может, там уже колоколообразная огибающая получилась.
Если бы в той схеме было откуда "выпиливать"...
_pv
Цитата(Abell @ Dec 4 2014, 16:43) *
Извиняюсь спросить, может глупость ляпну, но зачем АЦП? Насколько помню, за один период будет два перехода через ноль - не проще компаратором или триггером Шмитта их ловить, а далее уже длительность прямоугольника считать, как во многих частотомерах уже делалось?

давайте посчитаем,
10Гц ошибки от 1.8МГц это 5*10^-6,
чтобы за 4мкс получить ошибку 5*10^-6, момент перехода через 0 надо измерить с точностью 20пикосекунд, это всего лишь 50ГГц.
ну и скорость нарастания синуса, с пусть будет 1В амплитудой, на частоте 2МГц- это 12В за микросекунду, за 20пс - 250 мкВ, компаратор аккуратный должен быть, а сигнал не шуметь.




Цитата(Lmx2315 @ Dec 4 2014, 16:31) *
я видел смысл в сравнении входного сигнала с сигналом эталона - гетеродина и высчитывать ошибку, относительно него.
Всё таки мы измеряем не какую-то неизвестную частоту а заранее известную с известной областью ошибки, этим надо пользоваться.

ну преобразование Фурье в каком-то смысле как раз и сравнивает неизвестный сигнал с синусами разных частот sm.gif
Цитата(Lmx2315 @ Dec 4 2014, 16:31) *
Ещё сброс в ноль позволит понизить шумы АЦП за счёт андерсеплинга и упростить обработку на МК за счёт снижения тактовой.

там и так всего 40 отсчётов получается за 4мкс на 10МГц, куда снижать-то?
Lmx2315
QUOTE (_pv @ Dec 4 2014, 14:34) *
там и так всего 40 отсчётов получается за 4мкс на 10МГц, куда снижать-то?

..значит ТС ещё проще схема получается , только АЦП и МК , МК пишет отсчёты в память , благо их мало, дополняет нулями и делает FFT с интерполяцией результатов.
VCO
А почему тут все решили, что FFT может измерить частоту с указанной точностью???
Если при БПФ не заложен соответствующий базис (эталон), то это невозможно в принципе.
Вы сможете определить только форму спектра с огромными ошибками, и не более того...
Lmx2315
QUOTE (VCO @ Dec 4 2014, 15:43) *
А почему тут все решили, что FFT может измерить частоту с указанной точностью???
Если при БПФ не заложен соответствующий базис (эталон), то это невозможно в принципе.
Вы сможете определить только форму спектра с огромными ошибками, и не более того...


_PV так сказал, я ему верю как святому.
Если С/Ш достаточен то можно измерить.

з.ы. Потом частота сэмплирования может быть кратной (или должна) 1.8 МГц - как эталону.
_pv
Цитата(VCO @ Dec 4 2014, 19:43) *
А почему тут все решили, что FFT может измерить частоту с указанной точностью???
Если при БПФ не заложен соответствующий базис (эталон), то это невозможно в принципе.
Вы сможете определить только форму спектра с огромными ошибками, и не более того...

какой еще эталон? то что частоту тактирования АЦП надо знать с точностью 5ppm если хочется 5ppm измерить, вроде и так очевидно.
а вот это вот "с огромными ошибками" можете в каких-нибудь децибелах или Герцах привести?
форму определять не надо, надо найти положение максимума. это можно сделать при достаточно низком уровне шумов
я же выше в посчитал какое будет СКО ошибки определения частоты, там правда не FFT, а наименьшими квадратами синус подгонялся, но по точности это будет то же самое.
prig
Цитата(_pv @ Dec 4 2014, 16:33) *
...
форму определять не надо,...
...

Вот это как раз и есть самое слабое место этого метода. Имха, непреодолимое.
Lmx2315
QUOTE (prig @ Dec 4 2014, 17:13) *
Вот это как раз и есть самое слабое место этого метода. Имха, непреодолимое.

..был бы у меня тут матлаб я бы уже накидал схемку, генератор семи синусов на частоте 1.8 длительностью 4 мкс + шумы - и блок FFT на приеме, позырить.

з.ы.

у нас должен быть ПИК расползающийся в стороны, с шириной расползания обратно пропорциональной длительности импульса?
Tanya
Цитата(prig @ Dec 4 2014, 17:13) *
Вот это как раз и есть самое слабое место этого метода. Имха, непреодолимое.

Я вот прикидываю простейший случай - нулевая частота - постоянный ток.
40 точек (частота АЦП - 10М время 4 мкс). Пусть даже 100, что дает нам уменьшение ошибки в 10 раз.
Получается 50 миллионных ошибка одного измерения. Должна быть...
Еще прикинем - нужно 10 постоянных времени ждать установления.
prig
Цитата(Lmx2315 @ Dec 4 2014, 17:23) *
...
у нас должен быть ПИК расползающийся в стороны, с шириной расползания обратно пропорциональной длительности импульса?

Длительность импульса - это только огибающая спектра импульса, но не сама линия. Расползание - это немного другое.
При кратных частотах вообще никакого расползания не будет.
Если частоты не кратные, чисто формально, можно считать результирующую форму уширением, и как-то это учесть.
Особенно, если делать коррекцию фазы со сведением постоянной составляющей к нулю.
Но сигналы идеальными не бывают. Соответственно, могут возникнуть проблемы из-за фазовой ошибки. И ошибка в фазе перетечёт в форму. со всеми вытекающими.
Lmx2315
QUOTE (prig @ Dec 4 2014, 18:10) *
Длительность импульса - это только огибающая спектра импульса, но не сама линия. Расползание - это немного другое.
При кратных частотах вообще никакого расползания не будет.

..как не будет, у нас же радиоимпульс по сути длительностью 4 мкс, его не было потом он раз и появился - даже при кратных частотах мы ровную палочку не увидим - будет острая горка с шириной юбки обратно пропорциональной длительности .
_pv
Цитата(Tanya @ Dec 4 2014, 21:57) *
Я вот прикидываю простейший случай - нулевая частота - постоянный ток.
40 точек (частота АЦП - 10М время 4 мкс). Пусть даже 100, что дает нам уменьшение ошибки в 10 раз.
Получается 50 миллионных ошибка одного измерения. Должна быть...
Еще прикинем - нужно 10 постоянных времени ждать установления.

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

если не нравится Фурье, просто наименьшими квадратами натяните синус на измеренные данные с шумом, что я выше и сделал с теми же цифрами 4мкс и 10МГц, или там что-то не правильно посчитано?
prig
Цитата(Tanya @ Dec 4 2014, 17:57) *
Я вот прикидываю простейший случай - нулевая частота - постоянный ток.
...

Да, с этой стороны тоже забавно получается.
Lmx2315
QUOTE (_pv @ Dec 4 2014, 18:19) *
если не нравится Фурье, просто наименьшими квадратами натяните синус на измеренные данные с шумом, что я выше и сделал с теми же цифрами 4мкс и 10МГц, или там что-то не правильно посчитано?

..прошу прощения у маэстро, и фурье мне нравиться, но не понимаю этой процедуры : наименьшими квадратами натяните синус на измеренные данные с шумом
для студентов - поясните на пальцах.

QUOTE (Tanya @ Dec 4 2014, 17:57) *
Я вот прикидываю простейший случай - нулевая частота - постоянный ток.
40 точек (частота АЦП - 10М время 4 мкс). Пусть даже 100, что дает нам уменьшение ошибки в 10 раз.
Получается 50 миллионных ошибка одного измерения. Должна быть...
Еще прикинем - нужно 10 постоянных времени ждать установления.


..а где вы успели перейти от относительных величин к абсолютным?
Конкретный С/Ш нам даст понять - измерим мы точно что требуется или нет.
А абстрактное - "уменьшение ошибки в десять раз" нам ничего не даёт.
У вас в примере , сферический АЦП и такая же постоянная составляющая.
_pv
Цитата(Lmx2315 @ Dec 4 2014, 22:32) *
..прошу прощения у маэстро, и фурье мне нравиться, но не понимаю этой процедуры : наименьшими квадратами натяните синус на измеренные данные с шумом
для студентов - поясните на пальцах.

https://www.google.com/search?q=нелинейный+...ньших+квадратов
примерно так же как линейный метод наименьших квадратов только для нелинейных функций вроде синуса есть различные методы линеаризации по параметрам в некой области.

самое простое: взяли некий начальный набор параметров, частоты и амплитуды A*sin(w*t). посчитали Sum(f[ti]-A*sin(w*ti))^2, потом изменили немного амплитуду A+delta, и опять посчитали Sum(f[ti]-A*sin(w*ti))^2, если стало больше значит А изменили не в ту сторону, и надо сделать A-delta, то же самое с частотой w и повторять N раз пока оно в какой-нибудь минимум не придёт. то есть разница между значениями f[t] и функцией A*sin(wt) не станет минимальной.

каким именно методом действует по умолчанию Mathematica в функции FindFit честно не знаю, но для небольшого заданного диапазона частот проблем в нахождении минимума быть недолжно и как быстро оно в этот минимум придёт не принципиально.
prig
Цитата(Lmx2315 @ Dec 4 2014, 18:18) *
...даже при кратных частотах мы ровную палочку не увидим...

Речь шла о FFT, однако. Ещё как увидим.



Цитата(_pv @ Dec 4 2014, 18:56) *
...метод наименьших квадратов только для нелинейных функций
...

Это вполне потянет. Делали в своё время что-то похожее. Но с погрешностями измерения еще разбираться придётся. И чего-то сомнения возникают...
blackfin
Цитата(_pv @ Dec 4 2014, 19:19) *
если не нравится Фурье, просто наименьшими квадратами натяните синус на измеренные данные с шумом, что я выше и сделал с теми же цифрами 4мкс и 10МГц, или там что-то не правильно посчитано?

Да дело даже не в алгоритме вычисления.

Спектр, который мы видим после АЦП, равен произведению АЧХ всего тракта (включая АЦП) на спектр измеряемого сигнала: Sацп(f)=K(f)*Sвх(f).

Но спектр самого входного сигнала Sвх(f) из-за того, что импульс короткий, оказывается достаточно широким ~0,5 МГц и, как следствие, будет иметь достаточно пологий максимум.

После умножения спектра сигнала Sвх(f) на АЧХ всего входного тракта K(f), который может иметь ненулевую производную по частоте вблизи точки экстремума функции Sвх(f),

экстремум функции Sацп(f) сместится в направлении роста функции K(f) и смещение это может оказаться намного больше чем 10 Гц.

На практике, разлагая все функции в ряд вблизи экстремума функции Sвх, получаем:

K(f) ~= Kмакс+Kлин*f,
Sвх(f) ~= Sмакс-Sквад*f^2,

тогда:

K(f)*Sвх(f) = (Kмакс+Kлин*f)*(Sмакс-Sквад*f^2) = Kмакс*Sмакс + Kлин*f*Sмакс - Kмакс*Sквад*f^2 - Kлин*Sквад*f^3.

Находим производную:

d{K(f)*Sвх(f)}/df = Kлин*Sмакс - 2*Kмакс*Sквад*f - 3*Kлин*Sквад*f^2.

Считая, что смещение мало видим, что:

Kлин*Sмакс - 2*Kмакс*Sквад*f = 0,

Откуда, получаем ошибку вычисления максимума:

f = Kлин*Sмакс/2*Kмакс*Sквад.

Из этой формулы видно, что чем меньше коэффициент Sквад (т.е, чем более пологий спектр сигнала) и чем больше коэффициент Kлин (т.е., чем сильнее наклон АЧХ входного тракта),

тем больше систематическая ошибка определения максимума спектра сигнала. Поможет ли при таких требованиях к точности (5ppm) калибровка, не уверен..

Как-то так..
_pv
Цитата(prig @ Dec 4 2014, 23:05) *
Речь шла о FFT, однако. Ещё как увидим.

пусть есть синус длительностью 4мкс и частотой 1.8МГц
возьмите не FFT, а просто посчитайте интеграл Фурье для частот 1799997Гц, 1799998, 1799999, 1800000, и т.д.
так как полоса одного отсчёта Фурье будет 250кГц то можно конечно и не с таким мелким шагом, но всё равно, получится не тоненькая палка на 1.8МГц, а с толщиной 250кГц.
на полученный спектр вблизи максимума можно натянуть уже линейными наименьшими квадратами параболу и точно найти где у неё максимум находится.
Lmx2315
QUOTE (blackfin @ Dec 4 2014, 19:09) *
Как-то так..

..блекфин дело говорит.
Но саму идею это не портит, просто нужно учитывать сей момент, либо в конечной точности либо придумать калибровку.
Если ТС по запросу может получать исследуемый сигнал, может по запросу он сможет и калибровочный получать. Их даже можно чередовать.
prig
Цитата(blackfin @ Dec 4 2014, 19:09) *
...из-за того, что импульс короткий...

Как-то так..

Никто не говорил о коротком импульсе. Речь шла о фрагменте периодического сигнала. М.б. даже синуса. И использовании FFT.
Lmx2315
QUOTE (prig @ Dec 4 2014, 19:36) *
Никто не говорил о коротком импульсе. Речь шла о фрагменте периодического сигнала. М.б. даже синуса. И использовании FFT.

т.с. говорил о коротком радиоимпульсе длительностью 4 мкс.
_pv
Цитата(blackfin @ Dec 4 2014, 23:09) *
Откуда, получаем ошибку вычисления максимума:
f = Kлин*Sмакс/2*Kмакс*Sквад.
Как-то так..

всё так, осталось только цифры подставить,
Sквад/Sмакс у меня получилось 1.5e-11
что при неравномерности АЧХ Кlin/Kmax = 10^-9 / Гц даст 30Гц ошибки.
что конечно очень печально.

насчёт паразитных ФНЧ, Tanya права, из измерений отбрасывать даже 10tau фильтра не поможет, так как частота не фиксированная, и для друой измеряемой частоты просто неравномерность АЧХ от хвостов даже совсем высокочастотных ФНЧ от паразитных ёмкостей может всё испротить.
prig
Цитата(Lmx2315 @ Dec 4 2014, 19:19) *
...
Но саму идею это не портит...

Идея сама по себе вовсе не плоха. Вопрос только в том, как её аккуратно реализовать.
Можно попробовать "привести" сигнал к симметричному виду, например, аккуратно сложив выборку саму с собой, но в обратном направлении.
Если сигнал близок к синусу, можно отзеркалить относительно максимума. Потом убрать постоянную составляющую. И т.д....



ViKo
Какая там нелинейность АЧХ для усилителя с полосой в несколько мегагерц? Легко можно сделать идеально плоскую.
Другое дело, сделана ли она такой?
Lmx2315
QUOTE (ViKo @ Dec 4 2014, 20:00) *
Какая там нелинейность АЧХ для усилителя с полосой в несколько мегагерц? Легко можно сделать идеально плоскую.
Другое дело, сделана ли она такой?

..кстати да, ViKo дело говорит!
Какая нужна неравномерность АЧХ канала, чтобы в полосе 600 кГц нам испортить точность хуже 10 Гц?
..сколько долей десятых Дб?
prig
Цитата(Lmx2315 @ Dec 4 2014, 19:41) *
т.с. говорил о коротком радиоимпульсе длительностью 4 мкс.

Угу. И интересует нас только несущая. Весь спектр совершенно не интересен.
_pv
Цитата(Lmx2315 @ Dec 5 2014, 00:04) *
Какая нужна неравномерность АЧХ канала, чтобы в полосе 600 кГц нам испортить точность хуже 10 Гц?
..сколько долей десятых Дб?

0.0017дБ в полосе 600кГц, и эта неравномерность должна быть однородной просто градиент, иначе требования еще злее.
blackfin
Цитата(Lmx2315 @ Dec 4 2014, 21:04) *
Какая нужна неравномерность АЧХ канала, чтобы в полосе 600 кГц нам испортить точность хуже 10 Гц?
..сколько долей десятых Дб?

Можно прикинуть..

Спектр радиоимпульса вблизи максимума:

Sвх(f) = Sмакс*sin(pi*f*Tимп)/(pi*f*Tимп) ~= Sмакс*{1 - (1/3!)*(pi*f*Tимп)^2} = Sмакс*{1 - [(1/6)*(pi*Tимп)^2] * f^2},

откуда:

Sквад/Sмакс = [(1/6)*(pi*Tимп)^2].

Для максимальной ошибки в 10 Гц, находим:

10 Гц = f = Kлин*Sмакс/2*Kмакс*Sквад.

откуда:

Kлин = 20*Kмакс*Sквад/Sмакс = 20*Kмакс*[(1/6)*(pi*Tимп)^2].

Для полосы 600 кГц находим неравномерность АЧХ:

∆K = Kлин*6*10^5 = 6*10^5*20*Kмакс*[(1/6)*(pi*Tимп)^2],

или:

20*lg[(Kмакс+∆K)/Кмакс] = 20*lg[1 + 6*10^5*20*[(1/6)*(pi*Tимп)^2]] = 20*lg[1 + 6*10^5*20*[(1/6)*(3.14*4*10^-6)^2]] = 20*lg[1 + 3.158*10^-4] = 0,0027 dB.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.