Jump to content

    

Усилитель с SNR 130dB и более.

Это измеренный Вами ДД? Или расчетный?

Это реально измеренный. Причем это не просто ДД АЦП, а односигнальный ДД всего квадратурного приемника измеренный по ПЧ (понятно, что у самого АЦП хуже быть не может). Измерения делались на макете, возможно в конечном варианте будет чуть лучше (там питание будет получше и "соплей" поменьше :rolleyes: ).

Share this post


Link to post
Share on other sites
130 dB оценено исходя из определения фазы по одному переходу через ноль.

 

Это Вы так ничего не намеряете. Надо брать FFT от накопленных значений и в нужной гармонике смотреть фазу.

 

Забавная формулка: если уменьшить время накопления, то снижается требование к SNR))))

 

Да, это я что-то загнался. Пардон, щас еще подумаю.

Share this post


Link to post
Share on other sites

Ну, почему же, если будет обеспечен SNR, то вполне возможно. Если мерять не по одному, а по n переходам, то требование к SNR снижается.

 

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

Share this post


Link to post
Share on other sites
Даже чистая гармоника без шума дает на FFT много ненулевых точек (точнее весь спектр), и как собственно в таком случае определить по FFT фазу одной единственной гармоники исходного сигнала?

для начала точно определить частоту, так как реальная частота в сетку FFT не попадёт, будет где-то между осчётами, а дискретность сетки FFT при 0.1 сек измерения будет всего 10Гц. то есть 5% от от 200Гц, что, наверное, не очень здорово если 1 нс получить надо :)

можно аппроксимировать полиномом несколько точек вокруг максимальной гармоники и найти где находится максимум на самом деле.

а затем только для этой конкретной частоты сделать DFT и оттуда уже взять фазу.

 

ну или вообще без Фурье, наименьшими квадратами подогнать коэффициенты в A*sin(w*t+p). и взять фазу от туда.

alglib, например, умеет

Share this post


Link to post
Share on other sites

FFT в любом случае дает фазу, как выразился колега, "волшебного" сигнала, а не исходного; так что маловероятно.

 

А сколько времени может занять МНК на DSP средней паршивости? Мне почему-то казалось, что непозволительно много, хотя кто его знает.

Share this post


Link to post
Share on other sites
можно аппроксимировать полиномом несколько точек вокруг максимальной гармоники и найти где находится максимум на самом деле.

а затем только для этой конкретной частоты сделать DFT и оттуда уже взять фазу.

 

Аналогично можно аппроксимировать сразу фазу.

Share this post


Link to post
Share on other sites
FFT в любом случае дает фазу, как выразился колега, "волшебного" сигнала, а не исходного; так что маловероятно.

ну так от fft нужна только точное значение частоты,

которое может быть быстрее будет посчитать с помощью ДПФ, так как частота примерно известна, просто взять несколько точек вокруг, весь спектр не нужен.

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

 

А сколько времени может занять МНК на DSP средней паршивости? Мне почему-то казалось, что непозволительно много, хотя кто его знает.

для оценки можно собрать alglib и постотреть сколько времени займёт на PC.

по идее для сотни точек не так уж и страшно должно быть, синусы правда считать надо.

 

если грубо оценить:

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

посчитали ошибку (сумму квадратов разностей): по трудоёмкости сотню раз посчитать значение синуса.

потом немного поменяли по одному параметры A,w,p, опять посчитали ошибку, посмотрели в какую сторону ошибка меняется и соответственно поправили параметрыв нужную строну, и т.д.

за сколько итераций сойдётся до нужной точности - хз.

возьми характерные данные, запихай, например, в gnuplot и посмотри что он там и как насчитает, он более менее подробный лог ведет как считал.

но даже если десяток другой итераций надо будет посчитать три раза по сотне синусов, всё равно вроде не сильно страшно для dsp средней паршивости.

зы вон даже для tms320c28x IQMath lib синус с 30битной точностью всего за 50 тактов считатет. на частоте под 100МГц - за десяток милисекунд управится поди.

 

 

Share this post


Link to post
Share on other sites

2 Rst7

ИМХО, сомнительно при обозначеных точностях.

 

1. Аппрксимация полиномом вносит ошибку.

2. FFT считает фазу не исходного сигнала, а периочического с периодом окна FFT (в общем случае сигнал с разрывами первого рода). Совпадение будет только при точном совпадении длительности окна и N периодов сигнала.

 

Слишком много некрасивостей.

Edited by SergEN

Share this post


Link to post
Share on other sites
2. FFT считает фазу не исходного сигнала, а периочического с периодом окна FFT (в общем случае сигнал с разрывами первого рода). Совпадение будет только при точном совпадении длительности окна и N периодов сигнала.

 

Слишком много некрасивостей.

еще больше некрасивостей - следить за изменением фазы по пересечению нуля. При этом для достижения заявленной точности Вам нужно быть уверенным в отсутствии паразитных четных гармоник (или их нестабильностью, как и нестабильностью DC уровня) порядка 10^-6 от амплитуды измеряемой гармоники,что сложно даже для электронных источников сигнала, не говоря уж о электромеханических.

Share this post


Link to post
Share on other sites

_pv, весьма любопытно, 30-битная фиксированная точка возможно как раз то, что нужно. Думаю стоит проработать вариант. Не уверен, правда, что будет такой уж существенный выигрыш по сравнению с переходами, но он должен быть. И АЦП от AD тоже интересное.

 

тау, само собой.

 

Думаю, пока без вопросов. Если только еще кто-нибудь про малошумящие в полосе 20...200 Гц операционники вдруг вспомнит (можно полностью дифференциальные).

Share this post


Link to post
Share on other sites
2. FFT считает фазу не исходного сигнала, а периочического с периодом окна FFT (в общем случае сигнал с разрывами первого рода). Совпадение будет только при точном совпадении длительности окна и N периодов сигнала.

 

А как Вы хотели? Корреляция с произвольной частотой тоже будет "оборвышем", ибо не всякая произвольная частота точно ляжет в окно.

 

Математически корреляция с произвольной частотой (при ограниченном окне) равнозначна интерполяции полиномом по результатам ДПФ.

 

Расчет фазы по ДПФ привлекателен тем, что используется весь сигнал, а не только моменты пересечения 0, коих немного.

 

Т.е. например при размере окна 1024 точки и частоте сигнала десять периодов за окно в расчете через ДПФ участвует все 1024 точки, а в расчете по пересечениям - только 20. Разница в 50 раз, что есть 17дБ по шуму.

 

А вообще глобально я бы озаботился еще и источником опорной частоты со стабильностью не хуже 10^-9.

Share this post


Link to post
Share on other sites
1. Аппрксимация полиномом вносит ошибку.

2. FFT считает фазу не исходного сигнала, а периочического с периодом окна FFT (в общем случае сигнал с разрывами первого рода). Совпадение будет только при точном совпадении длительности окна и N периодов сигнала.

1. немного не понял какую ошибку вносит аппроксимация? она позволяет считать быстрое фурье с обычной сеткой частот и находить максимум. если не нравится, можно честно считать ДПФ с шагом в 1е-7 герца, чтобы получить необходимое разрешение по частоте.

2. а оконные функции перед преобразованием для чего придумали?

 

Share this post


Link to post
Share on other sites

1. Амплитудный спектр FFT не является полиномом. Добавление нулей после сигнала приводит к сдвигу максимума частоты.

2. При наложении окна FFT вычисляет спектр амплитудномодулированного сигнала с разрывами фазы, а требуется найти фазу непрерывной гармоники.

Share this post


Link to post
Share on other sites
Если только еще кто-нибудь про малошумящие в полосе 20...200 Гц операционники вдруг вспомнит (можно полностью дифференциальные).

OPA211?

 

Vn at 10Hz (Typ) = 2 (nV/rtHz);

Vn at 100Hz (Typ) = 1.4 (nV/rtHz);

Share this post


Link to post
Share on other sites
1. Амплитудный спектр FFT не является полиномом.

Добавление нулей после сигнала приводит к сдвигу максимума частоты.

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

если взять и посмотреть на спектре на макушку 100Гц сигнала при накоплении 0.1 сек, в увеличенном масштабе от 99 до 101Гц параболой это очень даже хорошо саппроксимируется.

и я не предлагал нули добавлять, а просто чесно считать Фурье обычное не быстрое F(W)=/int f(t)*e^(-iwt) dt

для частот W с более мелким шагом вокруг искомой частоты.

2. При наложении окна FFT вычисляет спектр амплитудномодулированного сигнала с разрывами фазы, а требуется найти фазу непрерывной гармоники.

а что страшного случится с фазой от наложения окна?

просто уберётся скачок в конце, который гадил на весь спектр и впринципе мог положение максимума на спектре немного подвинуть.

ведь чтобы искать фазу для начала частоту надо найти.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this