В радиолюбительской практике, в силу ограниченности бюджета, часто возникает ситуация, когда тот или иной нужный для работы прибор недоступен. В такой ситуации приходится вычислять нужный параметр по результатам косвенных измерений, т.е. «сверлить пилой и пилить буравчиком».

В процессе отладки разрабатываемого мной устройства возникла необходимость провести калибровку цифрового синтезатора частоты в составе этого устройства. Задача является тривиальной при наличии частотомера электронно-счётного (ЭСЧ). Проблема же заключалась в том, что «взять взаймы» частотомер мне не удалось.

Если описать работу применённого в устройстве синтезатора частоты совсем просто, он образует на выходе сигнал с частотой Fs путём обработки входного сигнала от опорного генератора с частотой Fxo:

$Fs = k * Fxo$

В качестве частотозадающего элемента опорного генератора был использован недорогой кварцевый резонатор с маркировкой на корпусе «TXC 25.0F6QF». Точное значение частоты сигнала опорного генератора известно не было. В настройках синтезатора опорная частота была указана константой 25000000 Hz. Сам синтезатор частоты был запрограммирован на вывод сигнала частотой 9996 kHz.

Проверка работоспособности схемы


Для проверки работоспособности синтезатора был использован цифровой осциллограф Rigol DS1102E. В настройках канала было включено измерение частоты.



Осциллограф на выводах кварцевого резонатора показал измеренное значение 25.00 MHz, а на выходе синтезатора – 10.00 MHz. В принципе, это уже было неплохо: схема работала.

Метод биений частоты


Аналогом калибровки частотозадающих цепей методом биений является методика настройки музыкальных инструментов по камертону. Звук, извлекаемый из инструмента, накладывается на звук камертона. Если тоны не совпадают, возникают хорошо заметные на слух «биения» частоты. Подстройка тона музыкального инструмента производится до появления «нулевых биений», т.е. состояния, когда частоты совпадают.

Применение радиоприёмника с панорамным индикатором


Проще всего калибровку синтезатора частоты методом биений было провести с использованием радиоприёмника с панорамным индикатором и сигнала радиостанции RWM в качестве контрольного сигнала.

В качестве контрольного приёмника использовался SoftRock RX Ensemble II с программой HDSDR. Шкала приёмника была ранее откалибрована по сигналам радиостанции RWM на всех трёх частотах: 4996000, 9996000 и 14996000 Hz. В качестве контрольного сигнала использовался сигнал радиостанции RWM на частоте 9996000 Hz.



На скриншоте виден приём секундных меток RWM на частоте 9996000 Hz и приём выходного сигнала синтезатора на частоте, примерно, 9997970 Hz. При задании частоты синтезатора использовалась константа 25000000 Hz (номинальная частота кварцевого резонатора). При проведении калибровки эта константа была умножена на отношение частот 9997970 Hz и 9996000 Hz. В результате было получено значение реальной частоты запуска кварцевого резонатора 25004927 Hz. Это значение было занесено константой в прошивку устройства. На скриншоте показан результат проведения калибровки:



Частота выходного сигнала синтезатора 9996 kHz точно соответствует частоте приёма секундных меток RWM на частоте 9996000 Hz.



После проведения калибровки осциллограф показал на выводах кварцевого резонатора – 25.00 MHz, а на выходе синтезатора – 10.00 MHz, т.е. те же самые значения, что и до калибровки.

Использование сигналов вещательных радиостанций


В Перми в светлое время суток стабильно принимается сигнал RWM на частоте 9996 kHz, а в тёмное время суток – на частоте 4996 kHz. Если прохождение радиоволн нестабильно, и сигналы RWM не принимаются, на сайте hfcc.org можно найти частоты и расписание работы вещательных радиостанций.

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

Краткие выводы


Наиболее простой и точный способ измерения частоты сигнала в радиодиапазоне — измерение частоты электронно-счётным частотомером.

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

Получить при использовании контрольного приёмника точное значение частоты сигнала можно по «нулевым биениям» измеряемого сигнала с контрольным сигналом, полученным от эталонного источника.

Необходимые дополнения:


Калибровку синтезатора можно было бы провести:

  1. Конечно же, с помощью ЭСЧ.
  2. Методом биений с помощью профессионального приёмника без панорамного индикатора, например, Р-326, Р-326М, Р-250М2 и т.п. и сигналов RWM «на слух». Это было бы не так наглядно, как с панорамным индикатором, и заняло бы больше времени.
  3. С помощью калиброванного генератора и осциллографа по фигурам Лиссажу. Выглядит очень эффектно, но требует дополнительного недешёвого оборудования.

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

Комментарии (35)


  1. sinc
    07.02.2019 09:07

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


    1. andi123
      07.02.2019 10:24
      +2

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

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


      1. sinc
        07.02.2019 10:26

        там стоит точно такой же кварц. у txc серии стабильност на уровне дестятка ppm.
        а вот, к сожалению, не во всех спектроанализаторах стоят хорошие опорники.
        а если бОльшая точность нужна, то в любительских условях можно сверять частоту по GPS-приемнику (считай квантовый эталон).


        1. xirahai
          07.02.2019 11:11
          +1

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


          1. sinc
            07.02.2019 19:49

            То есть время измерения классическим способом подсчета составит от 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 знаков правильно определили. и это за выборку в несколько секунд


            1. xirahai
              08.02.2019 18:02

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


              1. VT100
                08.02.2019 19:02

                Такую статейку скачал пару лет назад, но сам ещё не разбирался.

                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

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


              1. sinc
                08.02.2019 19:48

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

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


                1. xirahai
                  08.02.2019 21:10

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


              1. Alexeyslav
                08.02.2019 23:18

                Если цеплятся за фазу то точность прибора будет зависеть от чистоты сигнала. Прибор будет завязан на форму сигнала — на треугольнике, трапеции, пиле будет безбожно врать.
                На частотомерах измеряющих частоту вращения энергетических турбин используется умножение частоты входные 25/50(30/60) Гц умножается до частот порядка 10кГц и измеряется обычным счетом.
                Но современные частотомеры работают несколько иначе. Для низких частот они измеряют период и пересчитывают в частоту. Могут даже и для высоких частот измерять период за счет расширения импульса за счет очень хитрой схемы. Но чаще работают в комбинированном режиме — измеряют период пачки импульсов, к примеру.
                Нашел таки этот любительский проект частотомера. Весьма интересный частотомер. И очень подробно документирован.


                1. xirahai
                  09.02.2019 02:26
                  +1

                  Собственно вот та статья про способ увеличения точности измерений в советском частотомере:
                  https://prfreqmeter.000webhostapp.com/


      1. igruh
        07.02.2019 12:32

        В такой истории Вам ещё надо следить за длиной всех кабелей. Подсуну для иллюстрации картинку про измерение разности частот по смешиванию из своей статьи про эталоны длины:

        Частота около 10ГГц
        image Описание дублировать не буду, оно есть в статье, но если будут дополнительные вопросы — постараюсь ответить.


        1. Alexeyslav
          08.02.2019 14:57

          Написать хотябы что отображает синий график и красный. Разность частот чего?
          И, я так понял, на графике разность отображена в нано-единицах? т.е. значение надо умножить на 0.001PPM?


          1. igruh
            08.02.2019 15:13

            Разность частот двух пар микроволновых генераторов. Под картинкой ссылка на статью, где есть описание. Цена деления по вертикали 10 Гц при частоте 10 ГГц.


            1. Alexeyslav
              08.02.2019 15:33

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


              1. igruh
                08.02.2019 16:10

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


    1. justicebest
      08.02.2019 00:11

      Не обязательно до звуковой, обычная встроенная звуковуха способна отображать до 96 кГц, если выставить в настройках частоту дискретизации 192000 Гц.


  1. gapel
    07.02.2019 09:58

    А точность/погрешность настолько не имеют значения, что вы их просто опустили?


    1. andi123
      07.02.2019 10:29

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


      1. gapel
        07.02.2019 13:05

        1. стабильность удобно измерять в ppm
        2. в статье измерение десятков мегагерц с точностью до десятков килогерц — это почти что «на глаз».
        3. Не стоит доверять встроенному измерителю частоты осциллографа, ох не стоит.


        1. Alexeyslav
          07.02.2019 17:25
          +2

          Ну почему же не стоит, обычно он 5 разрядов даёт. И когда этого достаточно то на этом и останавливаемся. Для более точных измерений есть ГИАЦИНТ + подстройка по GPS. Опорные сигналы радиостанций 4996кГц, 9996кГц, 14996кГц, 19996кГц точны до 8-10 знаков но тут есть один неприятный ньюанс… прием этих сигналов на больших расстояниях подвержен доплеровскому эффекту и в зависимости от состояния атмосферы и ионосферы принимаемая частота может плавать +-3Гц даже если исходный сигнал будет стоять как вкопаный.


          1. VT100
            08.02.2019 12:52
            +1

            но тут есть один неприятный ньюанс… прием этих сигналов на больших расстояниях подвержен доплеровскому эффекту и в зависимости от состояния атмосферы и ионосферы принимаемая частота может плавать +-3Гц даже если исходный сигнал будет стоять как вкопаный.

            Можно подробнее или ссылку на литературу?
            Я не настоящий радиосвязист, поэтому предполагаю, что где-то там в ионосфере может незначительно меняться длина волны (за счёт чего и будет осуществляться рефракция), но несущая частота будет сохраняться. А если, при неподвижных приёмнике и передатчике, будут флуктуации длины радиотрассы из-за неоднородностей ионосферы, то это будет создавать допплеровские сдвиги для модулирующего сигнала (секундные импульсы и т.п., в зависимости от расписания станции), но не для несущей.


            1. Alexeyslav
              08.02.2019 15:08

              Литературу не подскажу… просто это наблюдения с форума, там один радиолюбитель настраивал свой ГИАЦИНТ по сигналу радиостанции и всё бы хорошо но потом он заметил что калибровка постоянно плавает, хотя ГИАЦИНТ держит 9 знаков даже без особой калибровки. Не помню уже чем именно там объяснялось в точности, но это было связано с доплеровским смещением сигнала отраженного от ионосферы где «отражающие массы» двигаются с приличными скоростями. Для обычной атмосферы не уверен но вполне тоже может быть доплеровское смещение когда к примеру дуют ветра на высотах распространения сигнала под 100-200км/ч. т.е. движется сама среда распространения/отражения сигнала между передатчиком и приёмником. Надо посчитать какой доплеровский сдвиг будет для этих скоростей, формулу так навскидку не вспомню…


  1. I-denis
    07.02.2019 10:08

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


  1. faoriu
    07.02.2019 10:37

    Какая приблизительно погрешность такого метода получается?


  1. HiMem-74
    07.02.2019 12:37

    Увидев заголовок «когда нет частотомера», ожидал статью про палки и Ардуино, а здесь про осциллограф ценой с иномарку и поверенные генераторы стабильных частот…

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


    1. VT100
      07.02.2019 12:52
      +2

      Нет. А «осциллограф с иномарку», кроме того, — оказался бессилен.

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


    1. xirahai
      08.02.2019 18:15

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


      1. dmitriyrudnev Автор
        08.02.2019 20:16

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

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

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

        Калибровал я этим приёмником по сигналам RWM синтезатор на si5351. si5351 сейчас используют как «очень бюджетный заменитель» si570.


        1. xirahai
          08.02.2019 21:19

          С приемником понятно… Одно преобразование в низкую ПЧ, и обработка потока I/Q средствами компа. Интересно, как он в сравнении с популярным нынче dvb донглом, если конечно сравнивали?


          1. dmitriyrudnev Автор
            08.02.2019 22:01

            Они работают в разных диапазонах: один 1,5...30 MHz, другой 24...1700 MHz. Пересечение на CB и 10m. SoftRock здесь наголову выше, он изначально разрабатывался как «связной» радиоприёмник.

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

            С RTL-SDR я игрался пару месяцев. Могу сказать, что работа устройства имеет качество, соответствующее цене. Хорош в качестве стартового набора: посмотреть на панорамном индикаторе вещание на FM, посмотреть сигналы устройств на 433 MHz и т.п.


            1. xirahai
              08.02.2019 22:33

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


  1. VT100
    07.02.2019 12:38

    Отечественные частоты, генерируемые специально отобранными и поверенными электронами, перечислены в приложении «Б» «Радионавигационного плана РФ». ЕМНИП.


  1. IgorPie
    07.02.2019 22:28

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


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


    1. Alexeyslav
      08.02.2019 15:11
      +1

      На коллективке у нас стоит, пару лет назад даже включал — работает.