Pull to refresh

Comments 37

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

Пока вам нужна точность 10% может и сойдет. А когда нужна стабильность долей герца для частот 1,5ГГц
То тут только единый клок для всех. Забавно воткнуть в спектроанализатор выход генератора (и там и там стоят высокостабильные генераторы) и смотреть как «палка» со временем ползет в сторону.
там стоит точно такой же кварц. у txc серии стабильност на уровне дестятка ppm.
а вот, к сожалению, не во всех спектроанализаторах стоят хорошие опорники.
а если бОльшая точность нужна, то в любительских условях можно сверять частоту по GPS-приемнику (считай квантовый эталон).

Если для измерения звуковухой, вы поделите 10 МГц до скажем 10 кГц — эту частоту придется измерять с точностью до 1 миллигерца чтобы получить точность в 1 Гц на исходной частоте. То есть время измерения классическим способом подсчета составит от 2x1000 секунд. Уйдет в районе получаса на одно измерение.
Насчет термокомпенсированных опорников — они весьма разные по качеству исполнения, и как следствие по стабильности и фазовым шумам, хотя и зовутся вроде одинаково tcxo. Например в хорошем портативном частотомере опорник не сравнить со звуковушным. А для стационарного прибора обычно ставится ocxo, кварц в печке. Для максимально достижимой точности при сравнительно небольших затратах, кроме gps радиолюбители давно уже используют рубидиевые генераторы, снятые как правило со списанной импортной измериловки производства конца прошлого века. Да и китайцы ими тоже приторговывают.

То есть время измерения классическим способом подсчета составит от 2x1000 секунд. Уйдет в районе получаса на одно измерение.

ну давайте, чтобы не быть голословными, проведем маленький эксперимент:)
посмотрим какую точность сможем достичь, если продискретизируем сигнал с частой 10,12345 кГц.
пусть частота дискретизации 44100 Гц. сигнал на входе звуковой карты после делителя почти прямоугольный:

N = 100000
f0 = 1.000012345e4
fd = 44100.0
a_sig = np.sin(2.0*np.pi*f0/fd*np.arange(N)+0.01)
d_sig = np.array([1.0 if x > 0 else 0.0 for x in a_sig])
d_sig += np.random.normal(0.0, 0.1, size=len(d_sig))
f_sig = butter_bandpass_filter(d_sig, 1e4, 1.5e4, fd)[20:]

у меня сигнал на входе карты это d_sig. насыпим к нему шума. профильтруем его — сделаем из прямоугольника синус. и попытаемся пофитить. весь код целиком:
import numpy as np
import matplotlib.pyplot as plt

from scipy.optimize import differential_evolution
from scipy.signal import butter, lfilter

def butter_bandpass(lowcut, highcut, fs, order=6):
  nyq = 0.5 * fs
  low = lowcut / nyq
  high = highcut / nyq
  b, a = butter(order, [low, high], btype='band')
  return b, a
    
def butter_bandpass_filter(data, lowcut, highcut, fs, order=6):
  b, a = butter_bandpass(lowcut, highcut, fs, order=order)
  y = lfilter(b, a, data)
  return y

def sig_estim(x, *args):
  A = x[0]
  f = x[1]
  phi = x[2]
  sig_len = len(args[0])
  sig = np.sin(2.0*np.pi*f*np.arange(sig_len)+phi)

  return np.sum((sig - args[0])**2)

N = 100000
f0 = 1.000012345e4
fd = 44100.0
a_sig = np.sin(2.0*np.pi*f0/fd*np.arange(N)+0.01)
d_sig = np.array([1.0 if x > 0 else 0.0 for x in a_sig])
d_sig += np.random.normal(0.0, 0.1, size=len(d_sig))
f_sig = butter_bandpass_filter(d_sig, 1e4, 1.5e4, fd)[20:]

bounds = [(0.1, 1.0), (1e4/fd, 1.5e4/fd), (-3.14, 3.14)]
result = differential_evolution(sig_estim, bounds, args = (f_sig,))
print(result.x, result.fun)
print(result.x[1]*fd)

в результате получим 10000.122856650896
итого 7 знаков правильно определили. и это за выборку в несколько секунд
А вы могли бы объяснить в двух словах этот алгоритм? Про нынешние частотомеры я не курсе, но насколько помню, в 80х годах сов. промышленность выпустила очень интересный микропроцессорный прибор назывался вроде Ч3-64 или -66. Он как раз отличался тем, что для измерения скажем с точностью 0.01 Гц не требовалось ждать сто сек, а всего лишь несколько секунд. В нем кроме банального подсчета импульсов за единицу времени, использовалась обработка фазы сигнала для получения более высокой точности.
Такую статейку скачал пару лет назад, но сам ещё не разбирался.

Stage 1 until 70-ies Conventional counting
Stage 2 1980-ies Reciprocal counting (period measurement + inversion)
Stage 3 1990-ies Interpolating Reciprocal Counting
Stage 4 2000-ies Multiple Time Stamp Average Continuous Counting

По ней получается, что со второго периода — разрешение зависит только от времени измерения и не зависит от измеряемой частоты.
Тут все достаточно просто. Допустим есть исходный сигнал — пусть прямоугольный. Из него можно выделить первую гармонику цифровым фильтром. Затем подобрать параметры получившегося сигнала, минимизируя среднеквадратичное отклонение модельного сигнала (это синус неизвестной частоты, амплитуды и фазы) от имеющегося. Этот метод не универсален — требуется знать тип сигнала. Есть и другие недостатки, например, точность сильно зависит от того, насколько хорош оптимизатор. Требуется найти глобальный минимум, но, к сожалению, можно попасть и в локальный…

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

Спасибо, теперь намного понятнее. Насколько понял, ваш метод оптимален в случае близкой к идеальной синусоиды, и не годится для измерения частоты или периода импульсов сложной формы.
Прибор по ссылке нужен не столько для сравнения частот (хотя в данном случае он бы как раз пригодился), сколько для оценки фазовых шумов — которые во многом определяют чувствительность РПУ. Например по этой причине в свое время не стали применять только что появившиеся dds серии 98xx в качестве гетеродина, именно из-за фазовых шумов.
Касательно стабильности приемника у автора статьи — долговременная стабильность и точность частоты тут не имеют значения, т.к. идет сравнение с эталоном. А приемник лишь визуализирует их. Опорник есть конечно и у DDC приемников. Кратковременная нестабильность, вплоть до фазовых шумов вызовет размытие меток по оси частот, что немного снизит точность сравнения.

Если цеплятся за фазу то точность прибора будет зависеть от чистоты сигнала. Прибор будет завязан на форму сигнала — на треугольнике, трапеции, пиле будет безбожно врать.
На частотомерах измеряющих частоту вращения энергетических турбин используется умножение частоты входные 25/50(30/60) Гц умножается до частот порядка 10кГц и измеряется обычным счетом.
Но современные частотомеры работают несколько иначе. Для низких частот они измеряют период и пересчитывают в частоту. Могут даже и для высоких частот измерять период за счет расширения импульса за счет очень хитрой схемы. Но чаще работают в комбинированном режиме — измеряют период пачки импульсов, к примеру.
Нашел таки этот любительский проект частотомера. Весьма интересный частотомер. И очень подробно документирован.
Да, практически это именно оно. Возможно, даже, автор один и тот же.
В такой истории Вам ещё надо следить за длиной всех кабелей. Подсуну для иллюстрации картинку про измерение разности частот по смешиванию из своей статьи про эталоны длины:
Частота около 10ГГц
image Описание дублировать не буду, оно есть в статье, но если будут дополнительные вопросы — постараюсь ответить.
Написать хотябы что отображает синий график и красный. Разность частот чего?
И, я так понял, на графике разность отображена в нано-единицах? т.е. значение надо умножить на 0.001PPM?
Разность частот двух пар микроволновых генераторов. Под картинкой ссылка на статью, где есть описание. Цена деления по вертикали 10 Гц при частоте 10 ГГц.
ладно. Разность частот это только один параметр, а на рисунке два графика. Надо всё-таки давать исчерпывающее пояснения в двух словах чтобы за такой мелочью не ходить по ссылке.
двух пар
В двух словах это занимает два абзаца по ссылке. Вы на написание комментариев потратили больше времени, чем на переход по этой прямой ссылке. Там всё описано. Как я уже сказал выше, я готов ответить на дополнительные, т.е. возникающие после прочтения описания, вопросы.
Не обязательно до звуковой, обычная встроенная звуковуха способна отображать до 96 кГц, если выставить в настройках частоту дискретизации 192000 Гц.
А точность/погрешность настолько не имеют значения, что вы их просто опустили?
Тут проблема в стабильности. Настроив все это здесь и сейчас, через час уже уплывет на десяток герц.
1. стабильность удобно измерять в ppm
2. в статье измерение десятков мегагерц с точностью до десятков килогерц — это почти что «на глаз».
3. Не стоит доверять встроенному измерителю частоты осциллографа, ох не стоит.
Ну почему же не стоит, обычно он 5 разрядов даёт. И когда этого достаточно то на этом и останавливаемся. Для более точных измерений есть ГИАЦИНТ + подстройка по GPS. Опорные сигналы радиостанций 4996кГц, 9996кГц, 14996кГц, 19996кГц точны до 8-10 знаков но тут есть один неприятный ньюанс… прием этих сигналов на больших расстояниях подвержен доплеровскому эффекту и в зависимости от состояния атмосферы и ионосферы принимаемая частота может плавать +-3Гц даже если исходный сигнал будет стоять как вкопаный.
но тут есть один неприятный ньюанс… прием этих сигналов на больших расстояниях подвержен доплеровскому эффекту и в зависимости от состояния атмосферы и ионосферы принимаемая частота может плавать +-3Гц даже если исходный сигнал будет стоять как вкопаный.

Можно подробнее или ссылку на литературу?
Я не настоящий радиосвязист, поэтому предполагаю, что где-то там в ионосфере может незначительно меняться длина волны (за счёт чего и будет осуществляться рефракция), но несущая частота будет сохраняться. А если, при неподвижных приёмнике и передатчике, будут флуктуации длины радиотрассы из-за неоднородностей ионосферы, то это будет создавать допплеровские сдвиги для модулирующего сигнала (секундные импульсы и т.п., в зависимости от расписания станции), но не для несущей.
Литературу не подскажу… просто это наблюдения с форума, там один радиолюбитель настраивал свой ГИАЦИНТ по сигналу радиостанции и всё бы хорошо но потом он заметил что калибровка постоянно плавает, хотя ГИАЦИНТ держит 9 знаков даже без особой калибровки. Не помню уже чем именно там объяснялось в точности, но это было связано с доплеровским смещением сигнала отраженного от ионосферы где «отражающие массы» двигаются с приличными скоростями. Для обычной атмосферы не уверен но вполне тоже может быть доплеровское смещение когда к примеру дуют ветра на высотах распространения сигнала под 100-200км/ч. т.е. движется сама среда распространения/отражения сигнала между передатчиком и приёмником. Надо посчитать какой доплеровский сдвиг будет для этих скоростей, формулу так навскидку не вспомню…
частотомер электронно-счетный… употребляется нцать раз, и режет глаз в научно-популярном издании. имхо
UFO just landed and posted this here
Увидев заголовок «когда нет частотомера», ожидал статью про палки и Ардуино, а здесь про осциллограф ценой с иномарку и поверенные генераторы стабильных частот…

Напоминает рецепты из Домоводства: Если к вам внезапно пришли гости, а Вам совсем нечем их накормить, возьмите с ледника 3 фунта телятины, каперсы, маслины…
Нет. А «осциллограф с иномарку», кроме того, — оказался бессилен.

Для этого достаточно из эфира выловить сигнал станции точной частоты и времени. По минимуму, как гетеродинных приёмниках у Полякова, достаточно — комнатной антенны, колебательного контура, двух встречно-параллельных диодов, дросселя НЧ и усилителя НЧ на 1..2 транзисторах. Разность частоты станции и местного генератора (который мы настраиваем) будет слышна в телефонах. Считая мин. слышимую частоту за 20 Гц получим ориентировочную точность 2 * 20 Гц / 5 МГц ~ 8 ppm. «2» в числителе потому, что настраиваемый генератор имеет частоту вдвое меньше частоты станции, «5 МГц» в знаменателе — частота станции. Или нет?

Тут интерес как раз в том, что автор реализовал хоть и общеизвестный в радиотехнике, но в наше время не часто вспоминаемый способ. Так что как демонстрация эффекта — очень даже здорово! Правда не хватает фотографий железок для полноты картины.

В качестве контрольного приёмника использовался SoftRock RX Ensemble II с программой HDSDR.
Похоже, ссылки в тексте статьи совсем не видны толком…

По первой ссылке: http://www.wb5rvz.org/ensemble_rx_ii/index?projectId=16 — подробное описание схемы, рисунок pcb и подробнейшая инструкция по монтажу и наладке. Гетеродин собран на синтезаторе si570 со встроенным кварцевым резонатором.

Купил набором, собрал и наладил сам. Использую около семи лет как контрольный приёмник.

Калибровал я этим приёмником по сигналам RWM синтезатор на si5351. si5351 сейчас используют как «очень бюджетный заменитель» si570.
С приемником понятно… Одно преобразование в низкую ПЧ, и обработка потока I/Q средствами компа. Интересно, как он в сравнении с популярным нынче dvb донглом, если конечно сравнивали?
Они работают в разных диапазонах: один 1,5...30 MHz, другой 24...1700 MHz. Пересечение на CB и 10m. SoftRock здесь наголову выше, он изначально разрабатывался как «связной» радиоприёмник.

SoftRock перекрывает все КВ-диапазоны. Неудобство только в неавтономности: нужна звуковая карта, вычислитель и программное обеспечение.

С RTL-SDR я игрался пару месяцев. Могу сказать, что работа устройства имеет качество, соответствующее цене. Хорош в качестве стартового набора: посмотреть на панорамном индикаторе вещание на FM, посмотреть сигналы устройств на 433 MHz и т.п.
RTL донглы сейчас появились улучшенные третьей версии. Я брал в оф. магазине сайта rtl-sdr на али. Отличное исполнение, отдельный термокомпенсированный опорник. Хотя по идее надо перекорпусировать и делать хороший теплоотвод. Но главное из коробки обещают от 500 кГц с того же ант. входа. Мне пришел только на днях, еще не разобрался как активировать нижние частоты в sdr# Видимо предусмотрено какое-то переключение в «direct sampling». А у вашего приемника интересный нюанс: нет жесткого ограничения по разрядности АЦП, всё зависит от звуковухи.

Есть осцилл, наверняка на stm32f103, можно взять просто чип f103 и измерить частоту им.
Я измерял от долей герц, до 25МГц (источника большей частоты — не оказалось).


А 70-килограммовые Р250-М2 лично мне лет 25 не встречались.

На коллективке у нас стоит, пару лет назад даже включал — работает.
Sign up to leave a comment.

Articles