Анализ временных и частотных параметров сигнала

Простейшие вопросы в области инженерной разработки
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

Доброго времени суток .
Передо мной стоит задача:
1) просмотр файла .bin Айкью формата. С которым я долго мучился но добрался до отображения сигнала на форме.
На 2 шаге ( амплитудный, энергетический спектры, а также сонограмма) у меня возникла проблема следующего характера- при работе с реальной составляющей и использованием готовых библиотек ,отображение спектров не происходит в реальном времени( т.е с изменением сигнала во времени). Если сам сигнал дышит, то спектры отображаются за первую итерацию и все . В чем проблема , помимо моей неопытности ?
П.с сигнал с мдвр.
1 панель.png
2 панель.png
как видно на 1 скрине, на форме сонограммы ничего не происходит красивого

Программа:
ReadBIN.vi
(46.34 КБ) 161 скачивание
https://yadi.sk/d/LOt870NRxxEoM ссылка на сигнал. Т.к через вложения на форум расширение .bin не заливается.
комментарий к файлу: Fd частота которую вводим в окно sample frequnce
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Анализ временных и частотных параметров сигнала

Сообщение IvanLis »

Давайте по порядку, т.к. судя по BD, основной принцип при написании программы был: "главное, что бы ошибок не вылетало".
marsilenso писал(а):1) просмотр файла .bin Айкью формата. С которым я долго мучился но добрался до отображения сигнала на форме
Отобразить то у Вас получилось, а вот то ли Вы отображаете?
Что это за формат такой (ссылку на описание)?
marsilenso писал(а):На 2 шаге ( амплитудный, энергетический спектры, а также сонограмма)
С этим совсем тяжко.
Отображаете Вы два сигнала, потом сворачиваете его в один (комплексный) и пытаетесь вычислить что-то типа спектра (реально делаете FFT) с отображением действительной части.
А уже за пределами цикла, Вы считаете STFT действительной части FFT.

При этом постоянно выполняете непонятные манипуляции с частотой дискретизации сигнала Fs и dT.
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение Vitekkz88 »

IvanLis писал(а):Что это за формат такой (ссылку на описание)?
Айкью - расшифрую как I,Q :brows: Видимо данные идут в формате I,Q,I,Q,I,Q,I,Q etc. На каждую квадратуру 16 бит.
Я не стал вникать в реализацию автора. Просто вычитал и отобразил. STFT сами постройте. Если файлы будут большого размера, то вычитывайте порциями. Для данного примера размер файла порядка 33 МБ. Я вычитал за раз.
Вложения
Безымянный.png
ReadBIN.vi
(26.31 КБ) 153 скачивания
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

Отобразить то у Вас получилось, а вот то ли Вы отображаете?
Что это за формат такой (ссылку на описание)?
Это запись квадратур цифрового сигнала, т.е на 1 отсчет приходит реальная и мнимая ссоставляющая.
64 разрядный.
С этим совсем тяжко.
Отображаете Вы два сигнала, потом сворачиваете его в один (комплексный) и пытаетесь вычислить что-то типа спектра (реально делаете FFT) с отображением действительной части.
А уже за пределами цикла, Вы считаете STFT действительной части FFT.
1 форма отображает синфазную и противофазную составляющую( синим и красным цветом),
2 форма только реальную, с нее то я и хотел брать спектры но столкнулся с конфликтом типа данных...
С выходом из цикла грубая ошибка, согласен.

По поводу конфликта данных м.б ошибка кроется еще на 1 этапе проги, открытие файла, т.к я гдето читал что лабвью не с виндовским форматом читает отсчеты а моторола... Другими словами нужно инвертировать биты .
При этом постоянно выполняете непонятные манипуляции с частотой дискретизации сигнала Fs и dT.
Связано это с тем что при разных сигналах нужно учитывать f дискритизации помноженной на 1.1 ( своего рода защитный интервал)... Это из-за особенности записи сигнала с эфира.
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

Я не стал вникать в реализацию автора. Просто вычитал и отобразил. STFT сами постройте. Если файлы будут большого размера, то вычитывайте порциями. Для данного примера размер файла порядка 33 МБ. Я вычитал за раз.
Файлы будут 1 гиг и больше... Но это уже следующий этап и вытекающие проблемы с большим объёмом файла...
Я пробовал порциями реализовать но каждый блок данных прога считывала с начала каждого блока данных , а не продолжала с последнего.
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение Vitekkz88 »

Я пробовал порциями реализовать но каждый блок данных прога считывала с начала каждого блока данных , а не продолжала с последнего
Нужно указывать индекс, с которого читать, и какой объём. И повторять это в цикле до тех пор, пока не вычитаете всё.
Разберитесь вначале с тем, как обрабатывать данные. Пример выше я скинул. Если на одну квадратуру 32 бита, то тип данных должен быть int32 и кол-во байт = 4
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

У кого какие идеи есть по расчету характеристик сигнала (например разнос частот, защитный интервал и т.д) с вейв формы (спектральное представление), кроме как выставления маркеров и считывание его значения в точке. Т.к он не демодулирован смысла смотреть битовый поток нет мое имхо)
Вложения
Снимок.JPG
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

marsilenso писал(а):У кого какие идеи есть по расчету характеристик сигнала (например разнос частот, защитный интервал и т.д) с вейв формы (спектральное представление), кроме как выставления маркеров и считывание его значения в точке. Т.к он не демодулирован смысла смотреть битовый поток нет мое имхо)
Доброго времени суток.
Можно ли считать позицию курсора номера 2,3 и т.д ? C property node получается посмотреть позицию курсора номер 1.
Вложения
1111.jpg
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

Было бы удобно расчитывать разницу между 1 и 2 курсором, чтобы было сразу видно длительность одного пакета в индикаторе.
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение Kosist »

При помощи Property Node можно указать значение Active Cursor. Тогда, Вы можете "достучаться" до всех нужных курсоров на графике. Если не укажете его значение, то по-умолчанию оно равно 0, поэтому Вы и получаете значения только для 1-го курсора.
Мы делили апельсин - много наших полегло...
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

Kosist писал(а):При помощи Property Node можно указать значение Active Cursor. Тогда, Вы можете "достучаться" до всех нужных курсоров на графике. Если не укажете его значение, то по-умолчанию оно равно 0, поэтому Вы и получаете значения только для 1-го курсора.
Спасибо. Но я так понимаю одновременно с двух курсоров не снять значения ? Задумка следующая: есть два значения которые считываются с их позиций(одновременно), далее выполняются различные действия с этими числовыми значениями.
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

вот так, но это один курсор.
Вложения
Безымянный.jpg
Если делать параллельный проперти нод, то активный курсор всеравно работает по одному курсору.
Если делать параллельный проперти нод, то активный курсор всеравно работает по одному курсору.
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение Kosist »

marsilenso писал(а):Спасибо. Но я так понимаю одновременно с двух курсоров не снять значения ? Задумка следующая: есть два значения которые считываются с их позиций(одновременно), далее выполняются различные действия с этими числовыми значениями.
А какая скорость обработки координат курсоров Вам нужна? Даже если property nodes будут параллельными, указывайте правильный индекс, и получите данные для нужного курсора. Ну, или "проганяйте" свойства через For Loop, и получайте нужные данные. Даже если получение координат есть последовательным для курсора 1 и 2, скорость получения такая, что можно сказать, что данные поступают одновременно.
Cursor.png
Как будут двигаться курсоры? Программно, или пользователем? Если пользователем, то проблем вообще нет - реакция юзера не настолько быстрая, чтобы не успевать обработать координаты двух курсоров...
Мы делили апельсин - много наших полегло...
marsilenso
beginner
beginner
Сообщения: 14
Зарегистрирован: 01 ноя 2016, 23:21
Версия LabVIEW: 14
Контактная информация:

Re: Анализ временных и частотных параметров сигнала

Сообщение marsilenso »

Kosist писал(а):Как будут двигаться курсоры? Программно, или пользователем? Если пользователем, то проблем вообще нет - реакция юзера не настолько быстрая, чтобы не успевать обработать координаты двух курсоров...
Курсоры двигаются пользователем. Спасибо за помощь.

Вопрос по фильтрации. Как видно из скрина, на вход поступают данные .bin формата ( на 1 отсчет приходится мнимая и реальная составляющая).
Идея состоит в следующем : с помощью курсоров с вейф формы регулировать полосу пропускания (ПФ), выделять нужный мне сигнал со спектра мощности или амплитудного спектра. И строить его STFT. Проблема состоит в следующем: фильтр не фильтрует :suicide:
qqqqqq.jpg
1 рисунок при включении фильтра
фильтр1.png
2 рисунок Без фильтра
фильтр11.png
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Анализ временных и частотных параметров сигнала

Сообщение IvanLis »

marsilenso, не надо писать 2-3 сообщения подряд. В следующий раз я оставлю последнее, а остальные будут удалены!
У вас есть доступ к редактированию, вот и пользуйтесь им.

Вы определитесь, фильтрует или нет?
Сначала пишите, что фильтрация не работает, он в принципе и не может работать, т.к. фильтров на BD я не обнаружил.
Потом выкладываете скрины, с двумя режимами работы (с фильтрацией и без нее). Если есть вопросы, то выкладывайте и программу, по возможности Вам окажут помощь.
Только постарайтесь правильно и коротко формулировать вопросы.

Разберитесь, что вы делаете, меня например смущает полученный вами спектр (видимо амплитуд гармоник) на среднем рисунке, тем что часть их имеют отрицательное значение, ну и его полная симметричность относительно оси X.

Т.к.
1. Амплитуда - неотрицательная скалярная величина...
2. Амплитудный спектр - набор амплитуд всех гармоник...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»