vhk 1 24 января, 2014 Опубликовано 24 января, 2014 · Жалоба Нужно порядка 10 минут записи, чтоб похожий на правду результат получить. Лучше - больше. Как это сделать при помощи осциллка, мне непонятно. Потому и спросил. С аудио всё прозрачнее. Перемножители у меня есть, платку за день можно сделать (есть станок для фрезеровки). Из Матлаба управляю звуковой непосредственно (для других пока что целей). Записал в файл типа wav разностную частоту двух генераторов. Объём файла около 90 Мб, 10,5 минуты. Файл по ссылке, можно проверить методику расчётов, интересно что будет с Алланами. http://my-files.ru/0jtm93.allan.wav Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба Объём файла около 90 Мб, 10,5 минуты. Файл по ссылке, можно проверить методику расчётов, интересно что будет с Алланами.Большое спасибо. Рабочие программы остались на работе. Поэтому, попробую постепенно набросать, помогайте. Код потом выложу. Сначала хочется просто посмотреть. Модуль спектра сигнала взят по начальному куску длиной примерно 2,6 млн отсчётов в окне Блэкмана-Харриса. А этот - в подобранном прямоугольном окне. Оно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rloc 48 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба А что такой разный уровень шума? И отдельные спуры нехило скачут. А этот - в подобранном прямоугольном окне. Начальная и конечная фаза синуса совпадает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба А что такой разный уровень шума? И отдельные спуры нехило скачут.Свойства окон. Поэтому и взял разные. Для демонстрации того, что под спектром обычно подразумевается его оценка, с погрешностью в лапоть. На эту тему много копий сломано... Начальная и конечная фаза синуса совпадает?Ога. Более-менее. :) ЗЫ. Карточка действительно заслуживает внимания. Полку в -150 дБн берёт легко, и ещё потенциал, по ощущениям, имеется. Только с экранировкой сигнальных цепей ув. vhk, видимо, стоит ещё поработать. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rloc 48 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба Свойства окон. Поэтому и взял разные. Так окна вроде на размазывание спектра влияют. Или у Вас сигнал с окном Блекмана расползся на два частотных дискрета и за счет нормировки по уровню сигнала увеличили шум на 3 дБ? Но со спурами все равно не понятно. Посчитайте для сравнения мощность шумов в обоих случаях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 25 января, 2014 Опубликовано 25 января, 2014 (изменено) · Жалоба Так окна вроде на размазывание спектра влияют. Или у Вас сигнал с окном Блекмана расползся на два частотных дискрета и за счет нормировки по уровню сигнала увеличили шум на 3 дБ?Совершенно верно. Нормировку делал не по "мощности окна", а по максимуму спектральной функции. На мой взгляд, такой подход имеет право на существование. Если есть возражения - могу переделать, как скажете. ...Но со спурами все равно не понятно. Посчитайте для сравнения мощность шумов в обоих случаях.Блэкман-Харрис даёт спуры точнее, это понятно. Прямоугольное окно даёт хорошее разрешение только в непосредственной близости от несущей и на (суб)гармониках, а в остальной области оно спектр искажает. Но для оценки шумовой полки, ПМСМ, прямоугольное окно предпочтительнее. ЗЫ. Синим - Б-Х, красным - прямоугольное окно, вблизи основного тона: Крылышки на красном- из-за погрешности стыковки фаз. Можно сделать и точнее, путём интерполяции, но возиться неохота, да и не в тему... Изменено 25 января, 2014 пользователем Stanislav Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rloc 48 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба Блэкман-Харрис даёт спуры точнее, это понятно. Я бы сказал боковые лепестки, но на выбранных частотах - это что-то новое. Арифметика какая? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба Я бы сказал боковые лепестки, но на выбранных частотах - это что-то новое. Арифметика какая?Ничего нового, арифметика традиционная. Просто условия когерентности в прямоугольном окне выполнены только для ограниченного набора частот. Оттого и большие расхождения в спурах. Вот кусок программы, проверяйте: [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') Писано левой ногой, так что прошу пардону. А вот картинки, ему соответствующие. Блэкман-Харрис: Прямоугольник: Совместно: Могут отличаться от предыдущих - там длина была меньше объявленной, как оказалось, - 1 000 000 отсчётов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vhk 1 25 января, 2014 Опубликовано 25 января, 2014 (изменено) · Жалоба Оно? Да, оно. На картинке спектр сигнала, и спектр плотности мощности фазовых шумов (нижнее окошко) при 1 млн. точек и окне "Блекман" Для того что бы сигнал не "размазывался", и "исчезали" некоторые спуры, то надо подбирать частоту дискретизации и тип окна. P. S. На спектре включена функция "нормирование к 1 Гц". Изменено 25 января, 2014 пользователем vhk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rloc 48 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба Не шибко силен в Матлабе, хитро у него алгоритм FFT работает. Для верности можно исходный массив сразу перевести в арифметику двойной точности, и попробовать поиграться с настройками FFT. Если массив на кратен степени двойки, то используется алгоритм DFT и точность явно не помешает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 25 января, 2014 Опубликовано 25 января, 2014 (изменено) · Жалоба Не шибко силен в Матлабе, хитро у него алгоритм FFT работает. Для верности можно исходный массив сразу перевести в арифметику двойной точности... Работает по определению, там всё честно. По поводу точности "не парьтесь" - в Матлабе по умолчанию любые данные представляются в виде матрицы чисел двойной точности. Даже скаляр есть матрица размером 1х1. :) При считывании файла, преобразование входных данных в даблы производится автоматически, если не указано иное. Вас смутила нормировка, видимо. Прямоугольное окно мною подобрано так, что несущая попадает почти точно в бин ДПФ. По ней потом я и нормирую. Для визуальной оценки спектра - почему так нельзя? Да, оно. Отлично, поехали дальше. На картинке спектр сигнала, и спектр плотности мощности фазовых шумов (нижнее окошко) при 1 млн. точек и окне "Блекман" Что-то больно гладкая у Вас картинка. Не иначе, фильтрация включена. При честном ДПФ там борода больше моей. :) На спектре включена функция "нормирование к 1 Гц". А что это значит? Быть может, то же осреднение по бинам, с уменьшением разрешения до 1Гц? -------------------------------------------------- Теперь можно приступать к решению основной задачи. Но сперва, ув. vhk, немного брюзжания. Разностную частоту для оценки длинных алланов надо бы делать поменьше. Иначе есть большая вероятность, что мы получим алланы Вашей аудиокарты. :) Ещё небольшая проблема - Ваш файл Матлаб отказался читать. Грит, "Incorrect chunk size information in WAV file." Перезаписал при помощи Adobe Audition. Этот его скушал без проблем. Итак. Сперва уменьшим число сущностей. Спустим частоту сигнала вниз, проредим в 48 раз (до 1 кВыб/с), и получим фазу. Оценку частоты несущей возмём из ДПФ, без интерполяции. Точность здесь особенная не нужна. Вот изменение фазы за время измерения в 1 минуту (компенсация по конечным точкам произведена): В принципе, алланов уже можно высчитывать. Но тут явный дрейф частоты во времени, поэтому "настоящих" не получится. Вопрос: можно ли минимизировать влияние температуры? Хотя бы поместить генераторы в коробочки, и выдержать там перед записью минут 15, а лучше - несколько часов. Иначе алланы будут неинтересные... Изменено 25 января, 2014 пользователем Stanislav Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vhk 1 25 января, 2014 Опубликовано 25 января, 2014 (изменено) · Жалоба Что-то больно гладкая у Вас картинка. Не иначе, фильтрация включена. При честном ДПФ там борода больше моей. :) Включил программу "Осциллометр" на воспроизведение. Файл записывал ночью когда меньше помех. По вопросам мат-обработки можно задать вопросы автору программы, сайт http://shmelyoff.nm.ru/ вопрос в том, что пока вы не сделали каких либо материальных вложений в методику "вариация Аллана", определить эту самую вариацию по записи. Дополнил по последнему сообщению. Минимальная частота дискретизации 44,1 кГц, разностную частоту уменьшить нужна другая опора. Через "какое-то" время можно будет в коробочки -пассивные термостаты, уход частоты, наверное аккумуляторы за 10 мин. разряжаются. Изменено 25 января, 2014 пользователем vhk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба вопрос в том, что пока вы не сделали каких либо материальных вложений в методику "вариация Аллана", определить эту самую вариацию по записи.Вопрос в том, чтобы получить сперва нормальную запись. Ваша меня не устраивает. Почему - см. выше. Посему, работать с ней прекращаю. Материальных вложений методика не просит, а материально озабоченным рекомендую просить милостыню в другом месте. Dixi. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vhk 1 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба Материальных вложений методика не просит, а материально озабоченным рекомендую просить милостыню в другом месте. Dixi. К чему вы это? У меня была цель предложить данные для проверки и не идти по ложному пути. Если ВЫ по каким либо основаниям так написали, то Вы не правы. Всего хорошего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 25 января, 2014 Опубликовано 25 января, 2014 · Жалоба К чему вы это? У меня была цель предложить данные для проверки и не идти по ложному пути. Ладно, проехали. Повод грызться слишком мал. Остальное - в силе. Но со спурами все равно не понятно. Посчитайте для сравнения мощность шумов в обоих случаях.Посмотрел "под микроскопом" и, похоже, нашёл объяснение. У автора записи частОты генераторов систематически плывут (за спуры отвечает, видимо, сама карточка). Зависимость фазы от времени - параболическая (см. выше и ниже). Окно Б-Х узкое, и за его характерное время убегание не слишком велико, поэтому при нормировке спуры вылезают. А прямоугольное окно захватывает весь временной диапазон, и они размазываются. Оттого и визуальная разница. Годится? ;) Высчитывать же алланы подобных генераторов не имею резона. Получится величина во много раз большая, чем можно получить от них с использованием простых средств. Вот картинка изменения взаимной фазы от времени с коррекцией по начальной производной, и по конечным точкам. И соответствующее изменение частоты, слегка профильтрованное: Для меня сухой осадок - молотком по генераторам стучать не обязательно, но и не сильно вредно. Остальные выводы делайте сами. ЗЗЫ. Масштабы по осям поправил. Большего размера файлы 32-битный Матлаб напрямую кушать не хочет - надо делать прореживание сразу после чтения, или блочную обработку. ЗЫ. Попробую симульнуть генератор без систематического дрейфа, но с блужданием частоты и фазы. Если кто может, подкиньте математическую модель. Иначе сам её придумаю, но тогда не обижайтесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться