Преобразование сигнала.txt в Wav и наоборот.

Захват, обработка и генерирование сигнала
Ответить
morf2042
interested
interested
Сообщения: 1
Зарегистрирован: 23 фев 2015, 20:45
Версия LabVIEW: 14
Контактная информация:

Преобразование сигнала.txt в Wav и наоборот.

Сообщение morf2042 »

Доброго всем времени суток!
Передо мной стоит следующая задача:
Есть записанный с датчика в текстовом формате сигнал, состоящий из двух столбцов (время и напряжение). Примерно в каждом таком файле 500000 значений, так как при большем количестве значений LabView отказывается работать. Нужно эти файлы обработать, построить их графики, АЧХ, пропустить через фильтр и также визуализировать в виде графиков и вывести грубо говоря на колонки. Это всё реализовано, но вопрос стоит в следующем:
Чтоб вести полноценную обработку данных сигналов, хотелось бы отображать процесс в реальном времени, т.е. в данном случае у меня строится и расчитывается график сразу 50 секунд (если это 500000 значений), в этом случае я не могу узнать АЧХ и значение токов в нужный момент времени, потому что я получаю результаты по всем пятидесяти секундам, а это соответственно значения не точные.
Есть следующие мысли: Преобразовать текстовый сигнал в звук и работать с ним уже как с звуковым файлом, если это позволит работать с сигналом в динамическом режиме и вычислять значения в каждый промежуток времени. Какие функции позволили бы реализовать такую задачу?
Возможно ли так работать со звуковым файлом? Или может как то возможно отображать в динамическом виде текстовый сигнал и при этом зациклить его, чтоб можно было видеть какая секунда сигнала идет?
И еще один вопрос. При записи в текстовый файл сигнала с генератора который формирует синусоиду мы получаем в текстовом файле который записался шапку, в которой указаны необходимые данные которые нужны чтоб Labview мог правильно прочитать и построить в дальнейшем этот сигнал. Если же это сигнал который записан с датчика и имеет вид двух столбцов, не имея соответственно шапки в файле, я делаю следующее: я сначала открываю этот сигнал (read measurment file ) и сразу же записываю его (write measurment file ) и получаю на выходе сигнал с шапкой с которым дальше можно работать, но шапка формируется не правильно ( задается не верный шаг, дата записи и некоторые другие значения) и по-этому я думаю могут возникать ошибки при работе с таким файлом. Почему так? :dntknw:
Спасибо за ответ и простите пожалуйста за длинный пост))) :wink:
Аватара пользователя
Kosist

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

Re: Преобразование сигнала.txt в Wav и наоборот.

Сообщение Kosist »

1)
я сначала открываю этот сигнал (read measurment file ) и сразу же записываю его (write measurment file ) и получаю на выходе сигнал с шапкой с которым дальше можно работать, но шапка формируется не правильно
Данные с датчика записываются при помощи чего? Какого-то стандартного софта прибора, или же это "кастомный" софт? Если это софт, который писали Вы или Ваши коллеги, то прикрутите туда дописывание шапки в новый файл. Если это невозможно, то вот еще идея: если данные идут непрерывно, то Вам ведь нужно знать начальные данные - шаг, дату записи, и т.д. Зная количество записей и шаг, можно определить дату записи и для остачи данных.Но если тот же шаг, или частота опроса датчика изменяется, то тогда проблема... Плюс если изменяется тот же шаг во время измерения, то нужно при его изменении писать данные в новый файл, если Вы работаете с шапкой файла.
2) Преобразовывать в звук - это я не знаю, мне кажется это что-то лишнее. Прочитайте полностью файл, а затем обрабатывайте его порциями, в цикле, задавая нужный временный промежуток или еще что-то. Файл - это ведь двумерный массив. А массив можно разбить на части.
Т.е. смысл такой - прочитали файл, и начали отображать и обрабатывать его постепенно - скажем, каждую секунду Вы отображаете и обрабатываете данные, собранные за секунду. В паралели прочитали второй файл, и как только данные по первому файлу закончились, приступаете ко второму.
3)
у меня строится и расчитывается график сразу 50 секунд (если это 500000 значений)
Выводить на график все значения - не желательно. Обрабатывайте все данные, но на график легко можно выводить decimated значения; в :labview: есть такая функция. Массив данных для отображения нужно разрежиывать. Смысл в том, что пользователь не различит на глаз 500 тысяч точек, и 50 тысяч точек - разницу Вы не почувствуете. А по производительности - будет легче, нежели отображать на граф индикаторе полмиллиона точек.
Мы делили апельсин - много наших полегло...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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