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

Простейшие вопросы в области инженерной разработки

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

Postby marsilenso on 01 Nov 2016, 23:58

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

1 панель.png
2 панель.png

как видно на 1 скрине, на форме сонограммы ничего не происходит красивого

Программа:
ReadBIN.vi
(46.34 KiB) Downloaded 51 times


https://yadi.sk/d/LOt870NRxxEoM ссылка на сигнал. Т.к через вложения на форум расширение .bin не заливается.
комментарий к файлу: Fd частота которую вводим в окно sample frequnce
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby IvanLis on 02 Nov 2016, 08:27

Давайте по порядку, т.к. судя по BD, основной принцип при написании программы был: "главное, что бы ошибок не вылетало".
marsilenso wrote:1) просмотр файла .bin Айкью формата. С которым я долго мучился но добрался до отображения сигнала на форме

Отобразить то у Вас получилось, а вот то ли Вы отображаете?
Что это за формат такой (ссылку на описание)?

marsilenso wrote:На 2 шаге ( амплитудный, энергетический спектры, а также сонограмма)

С этим совсем тяжко.
Отображаете Вы два сигнала, потом сворачиваете его в один (комплексный) и пытаетесь вычислить что-то типа спектра (реально делаете FFT) с отображением действительной части.
А уже за пределами цикла, Вы считаете STFT действительной части FFT.

При этом постоянно выполняете непонятные манипуляции с частотой дискретизации сигнала Fs и dT.
User avatar
IvanLis
professor
professor
 
Posts: 4470
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 692
hardware VIP bloggers teachers

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

Postby Vitekkz88 on 02 Nov 2016, 10:37

IvanLis писал(а):Что это за формат такой (ссылку на описание)?

Айкью - расшифрую как I,Q :brows: Видимо данные идут в формате I,Q,I,Q,I,Q,I,Q etc. На каждую квадратуру 16 бит.
Я не стал вникать в реализацию автора. Просто вычитал и отобразил. STFT сами постройте. Если файлы будут большого размера, то вычитывайте порциями. Для данного примера размер файла порядка 33 МБ. Я вычитал за раз.
Attachments
Безымянный.png
ReadBIN.vi
(26.31 KiB) Downloaded 54 times
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 945
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 258
hardware I/O VIP

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

Postby marsilenso on 02 Nov 2016, 11:15

Отобразить то у Вас получилось, а вот то ли Вы отображаете?
Что это за формат такой (ссылку на описание)?


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

1 форма отображает синфазную и противофазную составляющую( синим и красным цветом),
2 форма только реальную, с нее то я и хотел брать спектры но столкнулся с конфликтом типа данных...
С выходом из цикла грубая ошибка, согласен.

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

Связано это с тем что при разных сигналах нужно учитывать f дискритизации помноженной на 1.1 ( своего рода защитный интервал)... Это из-за особенности записи сигнала с эфира.
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby marsilenso on 02 Nov 2016, 11:37

Я не стал вникать в реализацию автора. Просто вычитал и отобразил. STFT сами постройте. Если файлы будут большого размера, то вычитывайте порциями. Для данного примера размер файла порядка 33 МБ. Я вычитал за раз.

Файлы будут 1 гиг и больше... Но это уже следующий этап и вытекающие проблемы с большим объёмом файла...
Я пробовал порциями реализовать но каждый блок данных прога считывала с начала каждого блока данных , а не продолжала с последнего.
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby Vitekkz88 on 02 Nov 2016, 11:43

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

Нужно указывать индекс, с которого читать, и какой объём. И повторять это в цикле до тех пор, пока не вычитаете всё.
Разберитесь вначале с тем, как обрабатывать данные. Пример выше я скинул. Если на одну квадратуру 32 бита, то тип данных должен быть int32 и кол-во байт = 4
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 945
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 258
hardware I/O VIP

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

Postby marsilenso on 06 Nov 2016, 20:35

У кого какие идеи есть по расчету характеристик сигнала (например разнос частот, защитный интервал и т.д) с вейв формы (спектральное представление), кроме как выставления маркеров и считывание его значения в точке. Т.к он не демодулирован смысла смотреть битовый поток нет мое имхо)
Attachments
Снимок.JPG
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby marsilenso on 11 Jun 2017, 21:19

marsilenso wrote:У кого какие идеи есть по расчету характеристик сигнала (например разнос частот, защитный интервал и т.д) с вейв формы (спектральное представление), кроме как выставления маркеров и считывание его значения в точке. Т.к он не демодулирован смысла смотреть битовый поток нет мое имхо)

Доброго времени суток.
Можно ли считать позицию курсора номера 2,3 и т.д ? C property node получается посмотреть позицию курсора номер 1.
Attachments
1111.jpg
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby marsilenso on 11 Jun 2017, 21:22

Было бы удобно расчитывать разницу между 1 и 2 курсором, чтобы было сразу видно длительность одного пакета в индикаторе.
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby Kosist on 11 Jun 2017, 21:52

При помощи Property Node можно указать значение Active Cursor. Тогда, Вы можете "достучаться" до всех нужных курсоров на графике. Если не укажете его значение, то по-умолчанию оно равно 0, поэтому Вы и получаете значения только для 1-го курсора.
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 783
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 236
CLAD I/O VIP students

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

Postby marsilenso on 11 Jun 2017, 23:06

Kosist wrote:При помощи Property Node можно указать значение Active Cursor. Тогда, Вы можете "достучаться" до всех нужных курсоров на графике. Если не укажете его значение, то по-умолчанию оно равно 0, поэтому Вы и получаете значения только для 1-го курсора.

Спасибо. Но я так понимаю одновременно с двух курсоров не снять значения ? Задумка следующая: есть два значения которые считываются с их позиций(одновременно), далее выполняются различные действия с этими числовыми значениями.
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby marsilenso on 11 Jun 2017, 23:20

вот так, но это один курсор.
Attachments
Безымянный.jpg
1111.jpg
Если делать параллельный проперти нод, то активный курсор всеравно работает по одному курсору.
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby Kosist on 12 Jun 2017, 00:30

marsilenso wrote:Спасибо. Но я так понимаю одновременно с двух курсоров не снять значения ? Задумка следующая: есть два значения которые считываются с их позиций(одновременно), далее выполняются различные действия с этими числовыми значениями.

А какая скорость обработки координат курсоров Вам нужна? Даже если property nodes будут параллельными, указывайте правильный индекс, и получите данные для нужного курсора. Ну, или "проганяйте" свойства через For Loop, и получайте нужные данные. Даже если получение координат есть последовательным для курсора 1 и 2, скорость получения такая, что можно сказать, что данные поступают одновременно.
Cursor.png

Как будут двигаться курсоры? Программно, или пользователем? Если пользователем, то проблем вообще нет - реакция юзера не настолько быстрая, чтобы не успевать обработать координаты двух курсоров...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 783
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 236
CLAD I/O VIP students

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

Postby marsilenso on 20 Jun 2017, 22:16

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

Курсоры двигаются пользователем. Спасибо за помощь.

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

1 рисунок при включении фильтра
фильтр1.png

2 рисунок Без фильтра
фильтр11.png
marsilenso
beginner
beginner
 
Posts: 14
Joined: 01 Nov 2016, 23:21
LabVIEW Version: 14
Karma: 0

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

Postby IvanLis on 21 Jun 2017, 08:46

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

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

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

Т.к.
1. Амплитуда - неотрицательная скалярная величина...
2. Амплитудный спектр - набор амплитуд всех гармоник...
User avatar
IvanLis
professor
professor
 
Posts: 4470
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 692
hardware VIP bloggers teachers

Next

Return to Для чайников

Who is online

Users browsing this forum: Google and 10 guests

cron