обработка сигнала

Захват, обработка и генерирование сигнала
Dampir
beginner
beginner
Сообщения: 11
Зарегистрирован: 28 фев 2015, 19:56
Версия LabVIEW: 2014(x64)
Откуда: Калининград
Контактная информация:

обработка сигнала

Сообщение Dampir »

Здравствуйте, с лабью только наичнаю знакомиться. Нужно сделать следующее
Есть сигнал в формате csv, сейчас надо его
1) нарисовать
2) взять БПФ
3) Из БПФ взять участок 22-24 МГц для дальнейшей обработки
Подскажите или помогите, за помощь готов заплатить :wink:
Аватара пользователя
Kosist

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

Re: обработка сигнала

Сообщение Kosist »

Чтобы прочитать csv файл, нужно знать его структуру - т.е. в каких колонках какие данные, и т.д. Читается он при помощи функции Read Spreadsheet File.vi. Прочитанные данные можно проанализировать функцией FFT.vi, например - или еще какой-то, благо, их в палитре Transformation хватает. А выхватить нужный диапазон - это работа с массивами. Скиньте пример файла, можно будет набросать пример.
Мы делили апельсин - много наших полегло...
Dampir
beginner
beginner
Сообщения: 11
Зарегистрирован: 28 фев 2015, 19:56
Версия LabVIEW: 2014(x64)
Откуда: Калининград
Контактная информация:

Re: обработка сигнала

Сообщение Dampir »

Спасибо большое) Прикрепляю два файла, один без доп информации (1), а второй с доп информацией(2)
доп инфа на русском
длина записи
интервал дискретизации
уровень синхронизации
единицы вертикальной шкалы
коэффициент отклонения
единицы горизонтальной шкалы
коэффициент развертки
тип осцилографа
заводской номер
версия внутреннего ПО
Аватара пользователя
Kosist

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

Re: обработка сигнала

Сообщение Kosist »

Вот самый простой пример считывания и анализа данных - при помощи экспресс VIs. Извращение, правда - но на скорую руку сгодится. Я не специалист по анализу сигналов - так что не знаю, правильно ли его посчитало, но идею, я надеюсь, Вы поймете. Поиграйтесь с функциями, немного почитайте - и все решится.
Вложения
CSV.JPG
FFT.vi
(107 КБ) 179 скачиваний
Мы делили апельсин - много наших полегло...
Dampir
beginner
beginner
Сообщения: 11
Зарегистрирован: 28 фев 2015, 19:56
Версия LabVIEW: 2014(x64)
Откуда: Калининград
Контактная информация:

Re: обработка сигнала

Сообщение Dampir »

Огромное спасибо) Очень просто и более менее понятно(для только начинающего знакомиться с лабвью)
Можно вопросы?
В чём разница между красным и белым слева?
Ограничение в 0.5 по Х можно обойти? (потыкался, можно растянуть, но график так заканчивается в 0.5)
Как сделать, чтобы после Run он просил не файл формата .lvm, а all files?
Meteor
user
user
Сообщения: 74
Зарегистрирован: 25 окт 2013, 17:37
Версия LabVIEW: 2012

Re: обработка сигнала

Сообщение Meteor »

Насколько понял, красным цветом отображен исследуемый сигнал, а белым - результат БПФ.
Обойти порог 0,5 скорее всего не получится, т.к. ход кривой будет зеркален. Вызвано это самим преобразованием (перенос спектра при частотах выше 0,5 частоты дискретизации)
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: обработка сигнала

Сообщение dadreamer »

Как сделать, чтобы после Run он просил не файл формата .lvm, а all files?
В правом нижнем углу диалога выбора файлов есть выпадающий список, выберите там All Files (*.*). Или используйте дополнительно File Dialog :vi: для выбора файла.
Dampir
beginner
beginner
Сообщения: 11
Зарегистрирован: 28 фев 2015, 19:56
Версия LabVIEW: 2014(x64)
Откуда: Калининград
Контактная информация:

Re: обработка сигнала

Сообщение Dampir »

1) Как работает Array Subset с двумерным массивом?
С одномерным вот так легко http://attila.sdsu.edu/me205/modules/1l ... w_0160.jpg
А с двумерным всё никак не могу зависимость понять.
2_ Как сделать, чтобы если например а>b, то на индикаторе выводилось 1, а иначе 0? Через булевские кнопки это легко делается, но там только "горит" и "не горит". Пробовал через Case Structure, типа если истина, то приравнивал индикатору значение констранты 1, а иначе констарну 0, но тогда выдало ошибку про "member is cycle".
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: обработка сигнала

Сообщение dadreamer »

Dampir писал(а):1) Как работает Array Subset с двумерным массивом?
Первые два параметра index и length отвечают за строки, вторые - за столбцы (устоявшаяся традиция - сперва строки, затем столбцы). Параметр index - с какой строки/столбца начать выбор, length - сколько строк/столбцов требуется выбрать. Про те случаи, когда часть параметров не подключена, можно почитать во встроенном хэлпе.
Dampir писал(а):2_ Как сделать, чтобы если например а>b, то на индикаторе выводилось 1, а иначе 0?
Инструмент Boolean To (0,1) не подходит?
Dampir
beginner
beginner
Сообщения: 11
Зарегистрирован: 28 фев 2015, 19:56
Версия LabVIEW: 2014(x64)
Откуда: Калининград
Контактная информация:

Re: обработка сигнала

Сообщение Dampir »

dadreamer, большое спасибо за помощь.
Нашёл ошибку, у меня почему-то одномерный массив, когда его подрубаю к Array Subset, то он становится как для двумерного.
И вроде наоборот, сначала за столбцы, потом за строки.
Спасибо, инструмент Boolean To (0,1) то,что нужно)) А то что у меня не получилось с case structure, если бы и получилось, было бы слишком громозко, а тут так компактно),
Есть вопросы:
1) Почему после чтения сигнала из csv файла формата "секунды(запятая)вольты" на Waveform Graph вместо метки Time на Х становится пустота, которую нельзя изменить на,например, Frequency?
2) В csv файле примерно 12200 точек, а на графике спектра http://labviewportal.org/viewtopic.php? ... 025#p62796 от 0 до 0.5
Что это за единица измерения? И почему так мало?
Хотя, после того как я извлекаю массив из этого графика, рисую массив, то получаю тот же график, но вместо 0.5 получаю 6144.
3) Почему массив одномерный после Spectral Measurement? Хотя график двумерный?
Не умею прикреплять файлы, поэтому заливаю на яндекс https://yadi.sk/d/Bv7diznigRQWe и csv файл https://yadi.sk/d/Hh3PQjgFgRQbf
Некоторые единицы измерения на графиках я сам увеличил множитель.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: обработка сигнала

Сообщение Borjomy_1 »

по второму пункту обратите внимание на то, что разделитель дробной части по умолчанию - определен операционной системой. Если вы используете точку вместо запятой, то дробная часть не определяется, а в дробную уходит следующее число. Для явного использования разделителя используйте в формате функции код "%.;" или "%,:" . Например, для распознавания числа типа "123.34" должно быть "%.;%f"
Dampir
beginner
beginner
Сообщения: 11
Зарегистрирован: 28 фев 2015, 19:56
Версия LabVIEW: 2014(x64)
Откуда: Калининград
Контактная информация:

Re: обработка сигнала

Сообщение Dampir »

Borjomy_1 писал(а):по второму пункту обратите внимание на то, что разделитель дробной части по умолчанию - определен операционной системой. Если вы используете точку вместо запятой, то дробная часть не определяется, а в дробную уходит следующее число. Для явного использования разделителя используйте в формате функции код "%.;" или "%,:" . Например, для распознавания числа типа "123.34" должно быть "%.;%f"
При чтении сигнала с помощью Read from measurement file стоит эта настройка, а в waveform graph выставил настройки как Вы сказали и ничего не поменялось.
Появился вопрос, как мне измерить RSSI (мощность(уровень) сигнала)? В виртуальных приборах labview не нашёл.
И какие есть в лабвью VI, которые могут численно охарактеризовать сигнал и/или его спектр?
Dampir
beginner
beginner
Сообщения: 11
Зарегистрирован: 28 фев 2015, 19:56
Версия LabVIEW: 2014(x64)
Откуда: Калининград
Контактная информация:

Re: обработка сигнала

Сообщение Dampir »

Можно ли получить сишный код моего виртуального прибора? И/или выгрузить код на плату ardruino или razzberi?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: обработка сигнала

Сообщение dadreamer »

Можете попробовать модуль NI LabVIEW C Generator, но там на выходе часто такой код, что проще самому написать.
Dampir
beginner
beginner
Сообщения: 11
Зарегистрирован: 28 фев 2015, 19:56
Версия LabVIEW: 2014(x64)
Откуда: Калининград
Контактная информация:

Re: обработка сигнала

Сообщение Dampir »

dadreamer писал(а):Можете попробовать модуль NI LabVIEW C Generator, но там на выходе часто такой код, что проще самому написать.
Скачал, пытаюсь установить и пишет, что нужна 2013 32бит версия лабвью, а у меня 2014 64бит.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Обработка сигнала»