Перейти к содержанию
    

11 часов назад, petrov сказал:

усреднять(фильтровать) надо до дифференциальной демодуляции

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, aBoomest said:

И как их задавать? нарисовать синус нужной фазы и 1е два отсчета определят амплитуду и фазу? Однозначно определят? (Вероятно однозначно в теории.) На практике чувствительность к неточности этих двух значений вероятно большая?

Не знаете, частотные свойства этого всего описаны в л-ре? 
 

у синуса 3 параметра, амплитуда, фаза и частота, и по любым трём точкам, за исключением некоторых особых случаев, можно однозначно провести синус.

если частота задана, то любыми двумя точками задаются оставшиеся фаза и амплитуда.

 

http://web.archive.org/web/20120308235958/http://www.ied.com/~petr/Oscillators.html самый последний

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 2/16/2023 at 1:29 PM, V_G said:

Если формула для частоты выведена для синусоидального сигнала, то куда уплывет эта оценка при наличии гармоник, шумов и помех?

 

Можно прикинуть ошибку измерения, при условии что:

On 1/27/2023 at 4:12 PM, aBoomest said:

СНР норм. Больше 100 точно.

 

Пусть измеренные значения гармонического сигнала \(S(t)=A\cdot\sin(\omega t+\varphi)\) в точках \(t_1,t_2,t_3\) равны:

 

\(\\
S_1'=S_1+\delta_1, \\
S_2'=S_2+\delta_2, \\
S_3'=S_3+\delta_3,
\)

 

где:

 

\(S_1,S_2,S_3\) - точные значения сигнала, а \(\delta_1,\delta_2,\delta_3\) - включают в себя шумы, нелинейные искажения и погрешности измерительного прибора.

 

Тогда измеренная по трем точкам частота сигнала равна:

 

\(F+\delta F = \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+\delta_1+S_3+\delta_3}{2S_2+2\delta_2}\big]\)

 

где: \(\Delta t=t_3-t_2=t_2-t_1\)

 

Выберем момент времени \(t_2\) таким, что:

 

\(|\delta_1|<< |S_2|,|\delta_2|<< |S_2|,|\delta_3|<<|S_2|\).

 

Тогда находим:

 

\(\\
F+\delta F = \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+\delta_1+S_3+\delta_3}{2S_2\cdot(1+\frac{\delta_2}{S_2})}\big] \approx \\
\approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+\delta_1+S_3+\delta_3}{2S_2}\cdot(1-\frac{\delta_2}{S_2})\big] = \\
= \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[(\frac{S_1+S_3}{2S_2}+\frac{\delta_1+\delta_3}{2S_2})\cdot(1-\frac{\delta_2}{S_2})\big] \approx \\
\approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{\delta_1+\delta_3}{2S_2} - \frac{S_1+S_3}{2S_2}\cdot\frac{\delta_2}{S_2}\big]\\
\)

 

Рассмотрим наихудший случай, когда все три погрешности суммируются с одинаковым знаком.

 

Полагая:

 

\(\delta_1 = \delta_3=\delta\) и \(\delta_2=-\delta\cdot sign(\frac{S_1+S_3}{S_2})\)

 

находим:

 

\(\\
F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{\delta}{S_2} + \big|\frac{S_1+S_3}{2S_2}\big|\cdot\frac{\delta}{S_2}\big]
\)

 

Учитывая, что для идеального синусоидального сигнала \(\big|\frac{S_1+S_3}{2S_2}\big|\leqslant 1\),

 

находим для наихудшего случая:

 

\(\\
F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{\delta}{S_2} + \frac{\delta}{S_2}\big] = \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{2\delta}{S_2}\big]
\)

 

Теперь воспользуемся разложением функции \(\arccos(x)\) в ряд Тейлора:

 

\(\\
F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{2\delta}{S_2}\big] \approx \\
\approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}\big]-\frac{1}{2\pi\cdot\Delta t}\cdot \frac{1}{\sqrt{1-\Big[\frac{S_1+S_3}{2S_2}\Big]^2}}\cdot\frac{2\delta}{S_2}
\)

 

Так как производная функции \(\arccos(x)\) при \(x \to \pm1\) стремится к \(-\infty\), нам нужно ограничить значения \(S_1,S_2,S_3\) используемые при вычислении частоты соотношением:

 

\(\big|\frac{S_1+S_3}{S_2}\big|\leqslant 1\)

 

Тогда для максимальной погрешности измерения находим:

 

\(\\
F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}\big]-\frac{1}{2\pi\cdot\Delta t}\cdot \frac{2}{\sqrt{3}}\cdot\frac{2\delta}{S_2}
\)

 

Заметим, что при \(-\frac{1}{2} \leqslant x \leqslant +\frac{1}{2}\) функция \(\arccos(x)\) принимает значения в диапазоне: \(\frac{\pi}{3}\leqslant \arccos(x) \leqslant \frac{2\pi}{3}\)

 

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

 

\( \frac{1}{6\Delta t} \leqslant F \leqslant \frac{1}{3\Delta t} \)

 

или

 

\( \frac{F_d}{6} \leqslant F \leqslant \frac{F_d}{3} \),

 

где \(F_d\) - частота дискретизации.

 

При этом относительная ошибка измерения частоты не превышает:

 

\( \frac{\delta F}{F} \leqslant \frac{12}{\pi\sqrt{3}}\cdot\frac{\delta}{S_2}\)

 

Теперь, учитывая что: \(100 \leqslant SNR\), находим относительную ошибку измерения частоты:

 

\(\frac{\delta F}{F} \leqslant \frac{12}{\pi\sqrt{3}}\cdot\frac{\delta}{S_2} = \frac{12}{\pi\sqrt{3}}\cdot 10^{-5}\),

 

при условии, что выбранные для измерения частоты значения \(S_1',S_2',S_3'\) удовлетворяют ограничению:

 

\(|S_1'+S_3'|\leqslant |S_2'|\).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. У меня прям ностальгия. Помню в дипломе аналогичным подходом погрешности измерения коррелятора делал. Спасибо. Подробно посмотрю. 😂

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

\(\approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\Big[\frac{S_1+S_3}{2S_2}+\frac{\delta_1+\delta_3}{2S_2} - \frac{S_1+S_3}{2S_2}\cdot\frac{\delta_2}{S_2}\Big]\)

получилось

\(\\ F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{\delta}{S_2} + \big|\frac{S_1+S_3}{2S_2}\big|\cdot\frac{\delta}{S_2}\big]\)

???

А точнее как из

\(\delta_2/S_2\) получилось 

\(\delta/S_2\)

в последнем слагаемом???

2. Откуда берется предположение, что

\(\delta_2=-\delta\cdot sign(\frac{S_1+S_3}{S_2})\)

???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 2/20/2023 at 11:27 AM, aBoomest said:

2. Откуда берется предположение, что ...

В инструкции на любой измерительный прибор указана точность, с которой этот прибор измеряет физическую величину.

Ошибка измерения может быть как со знаком плюс, так и со знаком минус.

Мы выбираем знак ошибки для наихудшего сценария.

Так мы получим верхнюю оценку точности нашего измерителя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо. Т.е. по модулю все три дельты равны. А то я следующим номером хотел спросить почему бы их не принять все три равными \(\delta\).
Ок. Спасибо. Дальше вроде ясно.

Изменено пользователем aBoomest

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чудится мне, что унесло людей куда-то не совсем туда.

 

Если обработка в реальном времени (я не увидел прямого указания на то, но ответы крутятся вокруг постобработки) - ФАПЧ. Способ точнее вряд ли возможен.

Если в постобработке - самое простое вот. Сделать преобразование Фурье, повернуть в нём фазы составляющих на 90 градусов - это будет вторая квадратурная составляющая (после обратного преобразования Фурье, естественно). Делал такое расщепление, было дело - проще преобразования Гильберта оказалось на ходу написать, хотя и его в других условиях для других задач делал. А дальше работаем по прямым одномоментным измерениям фазы квадратурного сигнала. Опять же, метод точнее вряд ли возможно придумать.

 

Хотя, gridinp верно в начале темы писал - метод эквивалентный.

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

Изменено пользователем Hazagarov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 01.03.2023 в 14:07, Hazagarov сказал:

Чудится мне, что унесло людей куда-то не совсем туда.

 

Если обработка в реальном времени (я не увидел прямого указания на то, но ответы крутятся вокруг постобработки) - ФАПЧ. Способ точнее вряд ли возможен.

Если в постобработке - самое простое вот. Сделать преобразование Фурье, повернуть в нём фазы составляющих на 90 градусов - это будет вторая квадратурная составляющая (после обратного преобразования Фурье, естественно). Делал такое расщепление, было дело - проще преобразования Гильберта оказалось на ходу написать, хотя и его в других условиях для других задач делал. А дальше работаем по прямым одномоментным измерениям фазы квадратурного сигнала. Опять же, метод точнее вряд ли возможно придумать.

 

Хотя, gridinp верно в начале темы писал - метод эквивалентный.

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

 

Осталось только с частотой определиться. Интерполяция полиномами. Вы что, ребят? Давайте про скорость звука в вакууме порассуждаем. Какая-то жесть невероятная. Потом удивляемся тому, что ракеты летят куда попало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/1/2023 at 2:07 PM, Hazagarov said:

но ответы крутятся вокруг постобработки) - ФАПЧ. Способ точнее вряд ли возможен.

А каков диапазон измерений. Я где-то читал, что он не особо большой.

On 3/1/2023 at 2:07 PM, Hazagarov said:

самое простое вот. Сделать преобразование Фурье, повернуть в нём фазы составляющих на 90 градусов - это будет вторая квадратурная составляющая (после обратного преобразования Фурье, естественно).

не до конца понял, чем это отличается от ДФТ? Ту повернули вектор на 90 градусов, что от этого изменилось? Или надо как-то хитро поворачивать?

1 hour ago, thermit said:

Осталось только с частотой определиться. Интерполяция полиномами. Вы что, ребят? Давайте про скорость звука в вакууме порассуждаем. Какая-то жесть невероятная. Потом удивляемся тому, что ракеты летят куда попало.

Ну чисто мое личное мнение, интерполяция в ЦОС в реальном времени - вполне нормально, только небольших порядков. С большими порядками я честно говоря и выигрыша по точности не встречал, в разных задачах которые встречались. Порядка 2-3. А в большинстве случаев линейная дает львиную долю положительного эффекта, далее уже крохи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 минут назад, aBoomest сказал:

А каков диапазон измерений. Я где-то читал, что он не особо большой.

не до конца понял, чем это отличается от ДФТ? Ту повернули вектор на 90 градусов, что от этого изменилось? Или надо как-то хитро поворачивать?

Ну чисто мое личное мнение, интерполяция в ЦОС в реальном времени - вполне нормально, только небольших порядков. С большими порядками я честно говоря и выигрыша по точности не встречал, в разных задачах которые встречались. Порядка 2-3. А в большинстве случаев линейная дает львиную долю положительного эффекта, далее уже крохи.

Дело за малым - все же собрать всю волю в кулак и  разобраться в цосе. Не такой простой вопрос, каким кажется на первый мутный взгляд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я и занимаюсь. Но к сожалению не так это быстро, когда занимаешься этим на досуге. :)

On 3/1/2023 at 2:07 PM, Hazagarov said:

Если в постобработке - самое простое вот. Сделать преобразование Фурье, повернуть в нём фазы составляющих на 90 градусов - это будет вторая квадратурная составляющая (после обратного преобразования Фурье, естественно). Делал такое расщепление, было дело - проще преобразования Гильберта оказалось на ходу написать, хотя и его в других условиях для других задач делал. А дальше работаем по прямым одномоментным измерениям фазы квадратурного сигнала. Опять же, метод точнее вряд ли возможно придумать.

Не могли бы всеж пояснить? Меня эти 90 градусов в ступор вводят. Что меняет поворот вектора на 90 градусов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, aBoomest сказал:

Я и занимаюсь. Но к сожалению не так это быстро, когда занимаешься этим на досуге. 🙂

Не могли бы всеж пояснить? Меня эти 90 градусов в ступор вводят. Что меняет поворот вектора на 90 градусов?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, aBoomest said:

Я и занимаюсь. Но к сожалению не так это быстро, когда занимаешься этим на досуге. :)

Не могли бы всеж пояснить? Меня эти 90 градусов в ступор вводят. Что меняет поворот вектора на 90 градусов?

Смотрите. Есть комплексный (или квадратурный) сигнал. У Вас две составляющих, фазы которых развернуты на 90 градусов. Их, кстати, можно получить ещё умножением исходного сигнала на cos(wt) и -sin(wt), получите составляющие I и Q (это, кстати, можно и в реальном времени делать). Это позволяет измерить фазу текущего одного измерения сигнала как arctg(Q/I). У Вас теперь есть измеренная фаза для всех выборок сигнала (там, правда, коррекцию переходов через период надо сделать). А дальше можно определять частоту как производную от фазы. Погуглите квадратурный смеситель или фаза комплексного числа.

А вторую составляющую комплексного числа в нужный момент мне быстрее всего оказалось сделать просто получив амплитуды и фазы всех спектральных составляющих после БПФ и добавив в фазу 90 градусов (или -90). Можно же преобразованием Гильберта получить. Правда в постобработке, в реальном времени такой метод недоступен. У меня была записанная выборка.

 

А диапазоны в ФАПЧ определятся фильтром, кстати. Да и ФАПЧ - практически тот же канал преобразования Фурье, только с перестраиваемой частотой опоры. Режим поиска, потом слежения. При больших диапазонах измерения можно адаптивную фильтрацию применить. Но это уже мороки много. Попробуйте, если надо в реальном времени, через производную после расщепления на квадратурные составляющие умножением на cos и -sin (в смысле, это тоже эквивалентно, не считая суммарной частоты, помимо разностной, все хитрости у Вас потом исключительно в фильтрации будут, если точности будет не хватать) и крутыми фильтрами поверх. Можно тактовую частоту после него понизить вдвое, если частота гетеродина на середине полосы, а полоса почти от 0 до частоты дискретизации/2.

Изменено пользователем Hazagarov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...