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

Прецизионный кварцевый генератор

Нужно порядка 10 минут записи, чтоб похожий на правду результат получить. Лучше - больше.

Как это сделать при помощи осциллка, мне непонятно. Потому и спросил.

С аудио всё прозрачнее. Перемножители у меня есть, платку за день можно сделать (есть станок для фрезеровки).

Из Матлаба управляю звуковой непосредственно (для других пока что целей).

Записал в файл типа wav разностную частоту двух генераторов.

Объём файла около 90 Мб, 10,5 минуты. Файл по ссылке, можно проверить методику расчётов, интересно что будет с Алланами.

http://my-files.ru/0jtm93.allan.wav

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


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

Объём файла около 90 Мб, 10,5 минуты. Файл по ссылке, можно проверить методику расчётов, интересно что будет с Алланами.
Большое спасибо.

Рабочие программы остались на работе. Поэтому, попробую постепенно набросать, помогайте. Код потом выложу.

 

Сначала хочется просто посмотреть.

Модуль спектра сигнала взят по начальному куску длиной примерно 2,6 млн отсчётов в окне Блэкмана-Харриса.

post-4987-1390661283_thumb.png

 

А этот - в подобранном прямоугольном окне.

post-4987-1390661296_thumb.png

Оно?

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


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

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

 

А этот - в подобранном прямоугольном окне.

Начальная и конечная фаза синуса совпадает?

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


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

А что такой разный уровень шума? И отдельные спуры нехило скачут.
Свойства окон.

Поэтому и взял разные.

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

На эту тему много копий сломано...

 

Начальная и конечная фаза синуса совпадает?
Ога.

Более-менее. :)

 

 

ЗЫ. Карточка действительно заслуживает внимания. Полку в -150 дБн берёт легко, и ещё потенциал, по ощущениям, имеется. Только с экранировкой сигнальных цепей ув. vhk, видимо, стоит ещё поработать. :)

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


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

Свойства окон.

Поэтому и взял разные.

Так окна вроде на размазывание спектра влияют. Или у Вас сигнал с окном Блекмана расползся на два частотных дискрета и за счет нормировки по уровню сигнала увеличили шум на 3 дБ? Но со спурами все равно не понятно. Посчитайте для сравнения мощность шумов в обоих случаях.

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


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

Так окна вроде на размазывание спектра влияют. Или у Вас сигнал с окном Блекмана расползся на два частотных дискрета и за счет нормировки по уровню сигнала увеличили шум на 3 дБ?
Совершенно верно.

Нормировку делал не по "мощности окна", а по максимуму спектральной функции.

На мой взгляд, такой подход имеет право на существование.

Если есть возражения - могу переделать, как скажете.

 

...Но со спурами все равно не понятно. Посчитайте для сравнения мощность шумов в обоих случаях.
Блэкман-Харрис даёт спуры точнее, это понятно. Прямоугольное окно даёт хорошее разрешение только в непосредственной близости от несущей и на (суб)гармониках, а в остальной области оно спектр искажает.

Но для оценки шумовой полки, ПМСМ, прямоугольное окно предпочтительнее.

 

ЗЫ. Синим - Б-Х, красным - прямоугольное окно, вблизи основного тона:

post-4987-1390663275_thumb.png

Крылышки на красном- из-за погрешности стыковки фаз. Можно сделать и точнее, путём интерполяции, но возиться неохота, да и не в тему...

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

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


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

Блэкман-Харрис даёт спуры точнее, это понятно.

Я бы сказал боковые лепестки, но на выбранных частотах - это что-то новое. Арифметика какая?

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


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

Я бы сказал боковые лепестки, но на выбранных частотах - это что-то новое. Арифметика какая?
Ничего нового, арифметика традиционная.

Просто условия когерентности в прямоугольном окне выполнены только для ограниченного набора частот. Оттого и большие расхождения в спурах.

Вот кусок программы, проверяйте:

[Sig, Fs, nbits, opts] = wavread('allan_s.wav');

Sig=Sig/max(abs(Sig));
Slen = length(Sig);

%% Signal viewing
Maxfft=2600000;
for(i=1:fix(Maxfft/4))
    if((abs(Sig(1)-Sig(Maxfft-i-1))<0.0002) && (abs(Sig(2)-Sig(Maxfft-i))<0.0002))
        break;
    end
end
[Sig(1) Sig(Maxfft-i-1); Sig(2) Sig(Maxfft-i)]
i

SigF=Sig(1:Maxfft-i-2);
SigF=SigF-mean(SigF);
SlenF=length(SigF);

Fvect=0:Fs/SlenF:Fs-Fs/SlenF;

figure(1)
plot(Sig(1:200))
grid on
% return;

% Rectangular window. Use near carrier
Sp1=abs(fft(SigF));
[Fval, Fmax]=max(Sp1(1:ceil(SlenF/2)));
Sp1=Sp1/Fval;
Fmax=Fmax*Fs/SlenF;


% Sig_w=chebwin(length(Sig), 160).*Sig;
Sig_w=blackmanharris(length(SigF)).*SigF;
Sp2=abs(fft(Sig_w));
Sp2=Sp2/max(Sp2);

Hlen=1:ceil(SlenF/2);
figure(2)
semilogy(Fvect(1:ceil(SlenF/2)), Sp2(1:ceil(SlenF/2)), 'r')
hold on
semilogy(Fvect(Hlen), Sp1(Hlen),'b')
hold off
grid on
% grid minor
title('Signal spectrum')
xlabel('Frequency, Hz')
ylabel('Magnitude, dBc')
axis tight
ylim([1e-8 2]);
set(gca,'XTick',0:1000:ceil(SlenF/2))
set(gca, 'YTickLabel', (-160:20:0))
legend('Black-Harr', 'Rectangular')

Писано левой ногой, так что прошу пардону.

 

А вот картинки, ему соответствующие. Блэкман-Харрис:

post-4987-1390664383_thumb.png

Прямоугольник:

post-4987-1390664508_thumb.png

Совместно:

post-4987-1390664847_thumb.png

 

Могут отличаться от предыдущих - там длина была меньше объявленной, как оказалось, - 1 000 000 отсчётов.

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


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

Оно?

Да, оно.

На картинке спектр сигнала, и спектр плотности мощности фазовых шумов (нижнее окошко) при 1 млн. точек и окне "Блекман"

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

P. S.

На спектре включена функция "нормирование к 1 Гц".

 

post-27551-1390669543_thumb.jpg

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

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


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

Не шибко силен в Матлабе, хитро у него алгоритм FFT работает. Для верности можно исходный массив сразу перевести в арифметику двойной точности, и попробовать поиграться с настройками FFT. Если массив на кратен степени двойки, то используется алгоритм DFT и точность явно не помешает.

 

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


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

Не шибко силен в Матлабе, хитро у него алгоритм FFT работает. Для верности можно исходный массив сразу перевести в арифметику двойной точности...
Работает по определению, там всё честно.

По поводу точности "не парьтесь" - в Матлабе по умолчанию любые данные представляются в виде матрицы чисел двойной точности. Даже скаляр есть матрица размером 1х1. :)

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

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

Для визуальной оценки спектра - почему так нельзя?

 

Отлично, поехали дальше.

 

Что-то больно гладкая у Вас картинка.

Не иначе, фильтрация включена.

При честном ДПФ там борода больше моей. :)

 

А что это значит?

Быть может, то же осреднение по бинам, с уменьшением разрешения до 1Гц?

 

--------------------------------------------------

 

Теперь можно приступать к решению основной задачи.

Но сперва, ув. vhk, немного брюзжания.

Разностную частоту для оценки длинных алланов надо бы делать поменьше.

Иначе есть большая вероятность, что мы получим алланы Вашей аудиокарты. :)

 

Ещё небольшая проблема - Ваш файл Матлаб отказался читать. Грит, "Incorrect chunk size information in WAV file."

Перезаписал при помощи Adobe Audition. Этот его скушал без проблем.

 

Итак.

Сперва уменьшим число сущностей. Спустим частоту сигнала вниз, проредим в 48 раз (до 1 кВыб/с), и получим фазу.

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

Вот изменение фазы за время измерения в 1 минуту (компенсация по конечным точкам произведена):

post-4987-1390674786_thumb.png

 

В принципе, алланов уже можно высчитывать. Но тут явный дрейф частоты во времени, поэтому "настоящих" не получится.

Вопрос: можно ли минимизировать влияние температуры?

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

Иначе алланы будут неинтересные...

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

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


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

Что-то больно гладкая у Вас картинка.

Не иначе, фильтрация включена.

При честном ДПФ там борода больше моей. :)

Включил программу "Осциллометр" на воспроизведение.

Файл записывал ночью когда меньше помех.

По вопросам мат-обработки можно задать вопросы автору программы, сайт

http://shmelyoff.nm.ru/

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

Дополнил по последнему сообщению.

Минимальная частота дискретизации 44,1 кГц, разностную частоту уменьшить нужна другая опора.

Через "какое-то" время можно будет в коробочки -пассивные термостаты, уход частоты, наверное аккумуляторы за 10 мин. разряжаются.

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

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


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

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

Ваша меня не устраивает. Почему - см. выше. Посему, работать с ней прекращаю.

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

Dixi.

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


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

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

Dixi.

К чему вы это?

У меня была цель предложить данные для проверки и не идти по ложному пути.

Если ВЫ по каким либо основаниям так написали, то Вы не правы.

Всего хорошего.

 

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


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

К чему вы это?

У меня была цель предложить данные для проверки и не идти по ложному пути.

Ладно, проехали.

Повод грызться слишком мал. Остальное - в силе.

 

Но со спурами все равно не понятно. Посчитайте для сравнения мощность шумов в обоих случаях.
Посмотрел "под микроскопом" и, похоже, нашёл объяснение.

У автора записи частОты генераторов систематически плывут (за спуры отвечает, видимо, сама карточка). Зависимость фазы от времени - параболическая (см. выше и ниже). Окно Б-Х узкое, и за его характерное время убегание не слишком велико, поэтому при нормировке спуры вылезают. А прямоугольное окно захватывает весь временной диапазон, и они размазываются.

Оттого и визуальная разница.

Годится? ;)

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

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

post-4987-1390697559_thumb.png

И соответствующее изменение частоты, слегка профильтрованное:

post-4987-1390697528_thumb.png

Для меня сухой осадок - молотком по генераторам стучать не обязательно, но и не сильно вредно. :biggrin:

Остальные выводы делайте сами.

 

ЗЗЫ. Масштабы по осям поправил. Большего размера файлы 32-битный Матлаб напрямую кушать не хочет - надо делать прореживание сразу после чтения, или блочную обработку.

 

ЗЫ. Попробую симульнуть генератор без систематического дрейфа, но с блужданием частоты и фазы. Если кто может, подкиньте математическую модель.

Иначе сам её придумаю, но тогда не обижайтесь. :biggrin:

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


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

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

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

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

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

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

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

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

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

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