Вычисление перехода через 0

Захват, обработка и генерирование сигнала
Ответить
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Вычисление перехода через 0

Сообщение Chupakabra »

Добрый день.
Есть периодический waveform (сигнал от звуковой карты). Необходимо получить на графике несколько периодов сигнала (начиная с пересечения сигналом 0), причем есть большое желание получить не 1 снимок, а "вырезку" в "реальном" времени.
Для этого использовал триггер (Basic Level Trigger Detection VI). Но дело в том, что самый близкий к 0 отсчет всегда имеет разные аплитуды (зависит от битности и частоты дискретизации сигнала), из-за этого "вырезанный" сигнал покачивается (скорее дерагается) при каждом выводе на график.
Как мне видится, решение может быть таким: найти интерполированный t0,0 и передискретизировать сигнал начиная с точки 0,0.
Кто, что посоветует?
Красным показан плавающая аплитуда оттриггированного отсчета.
1.PNG
1.PNG (2.68 КБ) 1105 просмотров
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Вычисление перехода через 0

Сообщение Andrew Lunev »

Если бы у вас была не звуковая карта, а DAQ плата, то для ваших целей используется обычно аппаратный триггер, он запускает измерение именно в момент прохождения сигнала через ноль. Если нет такой возможности, то, обычно для таких специфических вещей используют высокую частоту дискретизации. Если количество отсчетов у вас в 2 раза превышает количество пикселей монитора по горизонтали, занятое графиком, то этих дерганий практически незаметно. То есть если график у вас шириной в 200 пикселей на экране, то выводить на него надо 400 точек или больше. Наиболее простой выход - провести интерполяцию вашего сигнала до нужного dt, и уже в этом сигнале искать пересечение с нулем тем же Basic Level Trigger Detection VI. Но в любом случае, чем выше частота опроса реальная, тем лучше, так как интерполяция все-таки искажает сигнал. Для нормального отображения сигнала во временной области очень желательна оцифровка не менее 10 отсчетов для верхней гармоники сигнала, а более высокие гармоники убирайте фильтром.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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