Всем добрый день.
Дожил до того момента, когда есть осциллограф и генератор сигнала. И некоторое время назад узнал о интересном языке программирования LabView. А ещё к этому времени стали периодически появляться мысли, типа, "а не написать ли мне измеритель АЧХ, раз для этого есть всё необходимое", т. к. сам немного радиолюбитель. Даже попробовал писать. Но понял - не для меня. Вернее, я ещё сомневаюсь, - а для меня ли?! Но идея заполучить софт для измерения не прошла.
Собственно вопрос: кто-нибудь хочет попробовать написать его за денюжку малую, в режиме свободного времени? Сумма, естественно, обсуждается. Мне, кстати, не к спеху, поэтому сразу не отвергайте мое предложение. Упрощённое ТЗ такое: последовательно генерируем частоты от Fн до Fв, а на входе и выходе меряем осциллографом. Вычисляем Кус. На экране - готовый график. Это всё несколько упрощённо, естественно. Обязательное условие для написания, - у вас должен быть свой генератор и осциллограф. Всячески готов способствовать тестированию написанного в процессе разработки.
Не буду против, если после написания софта вы будете предлагать его на радиолюбительских форумах. Может дополнительно заработаете (а ведь действительно, нигде подобного софта не видел!) :)))
Сергей.
[Куплю] Написать измеритель АЧХ
Правила форума
Внимание!
Администрация форума не несет ответственности за обьявления, размещенные в этом разделе.
Внимание!
Администрация форума не несет ответственности за обьявления, размещенные в этом разделе.
-
- interested
- Сообщения: 3
- Зарегистрирован: 17 дек 2017, 16:15
- Версия LabVIEW: NXG 1.0
- Контактная информация:
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: [Куплю] Написать измеритель АЧХ
Если вам нужна реализация именно вашего метода, то придется писать ручками. Если же надо просто найти АЧХ и ФЧХ, то в Labview уже есть готовый модуль для построения, только основан он на спектральном методе, а не на сравнении амплитуд синуса. Называется SI Estimate Frequency Response VI : http://zone.ni.com/reference/en-XX/help ... _response/
Ваш метод подходит для аналогового построения АЧХ, то есть, как ее строили, когда был только аналоговый генератор и двухлучевой осциллограф. Но цифровая обработка сигналов дает намного более простые и точные результаты. При использовании SI Estimate Frequency Response просто проводите эксперимент и делаете запись двух сигналов (входного и выходного) и скармливаете потом этому VI, получаете на выходе АЧХ и ФЧХ. Сигнал на входе исследуемого объекта может быть любым, главное, чтобы в его спектре содержались интересные вам частотные компоненты, поэтому подавать на вход лучше всего или белый шум или качающийся синус. Генераторы этих сигналов в Labview так же есть. Чем больше время эксперимента - тем точней будет результат.
Если сравнивать с классическим методом сравнения амплитуд, то точность и скорость данного метода намного выше.
Ваш метод подходит для аналогового построения АЧХ, то есть, как ее строили, когда был только аналоговый генератор и двухлучевой осциллограф. Но цифровая обработка сигналов дает намного более простые и точные результаты. При использовании SI Estimate Frequency Response просто проводите эксперимент и делаете запись двух сигналов (входного и выходного) и скармливаете потом этому VI, получаете на выходе АЧХ и ФЧХ. Сигнал на входе исследуемого объекта может быть любым, главное, чтобы в его спектре содержались интересные вам частотные компоненты, поэтому подавать на вход лучше всего или белый шум или качающийся синус. Генераторы этих сигналов в Labview так же есть. Чем больше время эксперимента - тем точней будет результат.
Если сравнивать с классическим методом сравнения амплитуд, то точность и скорость данного метода намного выше.
-
- interested
- Сообщения: 3
- Зарегистрирован: 17 дек 2017, 16:15
- Версия LabVIEW: NXG 1.0
- Контактная информация:
Re: [Куплю] Написать измеритель АЧХ
Спасибо за информацию, очень интересно.
В описании по ссылке я нашёл два варианта этого модуля: waveform и array. В моём случае подходит, так понимаю, только Array, поскольку это всё-таки не виртуальный прибор, а реальный, а следовательно осциллограф передаёт данные последовательно, измерение за измерением, заполняя при этом массив данных. Также этот VI содержит входную линию sampling rate (Hz). Естественно на неё с частотой сэмплирования сигнала осциллографом подавать измеренные значения амплитуды возможности нет. В лучшем случае придётся указывать частостоту, вычисленную по формула f = 1/(задержка передачи соседних показаний через порт USB ~ 1мс.). Т. е. частоту сэмплирования нужно будет указывать где-то 1кГц ( это не принимая во внимание возможность девиации задержки в разные моменты времени, из-за чего точность вычислений дополнительно уменьшится), что абсолютно неприемлемо с точки зрения точности анализа, особенно на высоких частотах (требуется измерение частот в диапазоне 5Гц - 50МГц). Получается, что с реальным прибором получить точность классического варианта, всё-таки не представляется возможным. Мне так кажется.
В описании по ссылке я нашёл два варианта этого модуля: waveform и array. В моём случае подходит, так понимаю, только Array, поскольку это всё-таки не виртуальный прибор, а реальный, а следовательно осциллограф передаёт данные последовательно, измерение за измерением, заполняя при этом массив данных. Также этот VI содержит входную линию sampling rate (Hz). Естественно на неё с частотой сэмплирования сигнала осциллографом подавать измеренные значения амплитуды возможности нет. В лучшем случае придётся указывать частостоту, вычисленную по формула f = 1/(задержка передачи соседних показаний через порт USB ~ 1мс.). Т. е. частоту сэмплирования нужно будет указывать где-то 1кГц ( это не принимая во внимание возможность девиации задержки в разные моменты времени, из-за чего точность вычислений дополнительно уменьшится), что абсолютно неприемлемо с точки зрения точности анализа, особенно на высоких частотах (требуется измерение частот в диапазоне 5Гц - 50МГц). Получается, что с реальным прибором получить точность классического варианта, всё-таки не представляется возможным. Мне так кажется.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: [Куплю] Написать измеритель АЧХ
SI Estimate Frequency Response используется в постобработке. Я же выше писал: проводите эксперимент, подаете сигнал с генератора и двухканальным осциллографом записываете сигналы на входе и выходе в файл. Получаете два массива. Потом уже подаете эти массивы на SI Estimate Frequency Response и получаете АЧХ и ФЧХ. Сами массивы можно записывать и средствами ПО осциллографа.
Тут главное условие, чтобы частота сэмплирования была известна и постоянна, то есть метод работает только для сигналом с постоянным dt по всему эксперименту (главное требование для преобразования Фурье).
Ну и еще важное условие - чтобы два канала осциллографа проводили измерения синхронно. То есть нужны две выборки сигналов (входного и выходного) собранные с одной и то же частотой и синхронно. По моему, эти условия должны обеспечивать практически все многоканальные осциллографы. Иначе нельзя будет сравнивать сигналы во времени на самом осциллографе и строить корректные осциллограммы.
Конечно можно написать программу, которая будет и измерения проводить и сразу после получения сигналов будет выдавать АЧХ и ФЧХ, но в любом случае сначала собираются сигналы и только после сбора идет обработка.
Если на вашем оборудовании нельзя получить две синхронные выборки сигналов, то даже классическим методом нельзя будет получить ФЧХ. АЧХ наверное можно, в случае стационарного режима на каждой частоте, но это большое извращение. Проще приобрести подходящее оборудование.
Тут главное условие, чтобы частота сэмплирования была известна и постоянна, то есть метод работает только для сигналом с постоянным dt по всему эксперименту (главное требование для преобразования Фурье).
Ну и еще важное условие - чтобы два канала осциллографа проводили измерения синхронно. То есть нужны две выборки сигналов (входного и выходного) собранные с одной и то же частотой и синхронно. По моему, эти условия должны обеспечивать практически все многоканальные осциллографы. Иначе нельзя будет сравнивать сигналы во времени на самом осциллографе и строить корректные осциллограммы.
Конечно можно написать программу, которая будет и измерения проводить и сразу после получения сигналов будет выдавать АЧХ и ФЧХ, но в любом случае сначала собираются сигналы и только после сбора идет обработка.
Если на вашем оборудовании нельзя получить две синхронные выборки сигналов, то даже классическим методом нельзя будет получить ФЧХ. АЧХ наверное можно, в случае стационарного режима на каждой частоте, но это большое извращение. Проще приобрести подходящее оборудование.
-
- interested
- Сообщения: 3
- Зарегистрирован: 17 дек 2017, 16:15
- Версия LabVIEW: NXG 1.0
- Контактная информация:
Re: [Куплю] Написать измеритель АЧХ
Можете на практике помочь? С чего начать?Andrew Lunev писал(а):SI Estimate Frequency Response используется в постобработке. Я же выше писал: проводите эксперимент, подаете сигнал с генератора и двухканальным осциллографом записываете сигналы на входе и выходе в файл. Получаете два массива. Потом уже подаете эти массивы на SI Estimate Frequency Response и получаете АЧХ и ФЧХ. Сами массивы можно записывать и средствами ПО осциллографа.
Скорее всего не получится. Во-первых измерение на входе и выходе будет осуществляться одним прибором. В описании команд SCPI осциллографа для измерения необходимо сначала выставить номер канала, и только затем выполнить команду измерения. Вопрос вот в чём: можно ли раздвоить линию прибора в LabVIEW для параллельного выполнения действий?Andrew Lunev писал(а):Ну и еще важное условие - чтобы два канала осциллографа проводили измерения синхронно. То есть нужны две выборки сигналов (входного и выходного) собранные с одной и то же частотой и синхронно. По моему, эти условия должны обеспечивать практически все многоканальные осциллографы. Иначе нельзя будет сравнивать сигналы во времени на самом осциллографе и строить корректные осциллограммы.
Это к чему, не совсем понял?! ФЧХ желателен, но не обязателен.Andrew Lunev писал(а):Конечно можно написать программу, которая будет и измерения проводить и сразу после получения сигналов будет выдавать АЧХ и ФЧХ, но в любом случае сначала собираются сигналы и только после сбора идет обработка.
Скорее всего нельзя, см. второй абзац.Andrew Lunev писал(а):Если на вашем оборудовании нельзя получить две синхронные выборки сигналов, то даже классическим методом нельзя будет получить ФЧХ. АЧХ наверное можно, в случае стационарного режима на каждой частоте, но это большое извращение. Проще приобрести подходящее оборудование.
Специально покупать прибор домой, чтобы мерить так, как удобно в первую очередь вам? Это бред.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: [Куплю] Написать измеритель АЧХ
С книги "Labview для всех"user17122017 писал(а):Можете на практике помочь? С чего начать?
Этот форум посвящен Labview и технологиям NI. Если вы не указываете модель осциллографа, то, по умолчанию, имеется ввиду осциллограф NI. Моделей же осциллографов существует огромное множество и знать заранее, что может ваш я не могу. Я описал общий принцип работы.user17122017 писал(а):В описании команд SCPI осциллографа для измерения необходимо сначала выставить номер канала, и только затем выполнить команду измерения.
Полностью согласен, но я прекрасно измеряю и АЧХ и ФЧХ на практике с оборудованием от NI. Под каждую задачу нужно подбирать подходящее оборудование и параметров для подбора огромное количество, начиная от стоимости и заканчивая требуемой точностью получения результата и частотным диапазоном. Сложность алгоритма обработки тоже влияет и на время разработки и на стоимость.user17122017 писал(а):Специально покупать прибор домой, чтобы мерить так, как удобно в первую очередь вам? Это бред.
Я рассказал, как я реально сам измеряю АЧХ и ФЧХ в своих проектах. Без полноценного ТЗ обсуждать что-то дальше бессмысленно, потому что совершенно не понятны ни границы точности ни бюджет проекта.
Например, если бы у вас было подходящее оборудование, то я бы написал софт за стоимость N, а если с одноканальным осциллографом и классическим методом, то за 10*N. Если посчитать все затраты, то скорее всего покупка железа с комплексе обойдется дешевле, и скорее всего точность снятия будет выше. Но опять же, без полноценного ТЗ гадать о проекте бессмысленно.