Список форумов   Список форумов  

Как осуществить накопление сигнала

Всё о программировании на Labview

Модераторы: Техподдержка NI, Robert, Модератор

Как осуществить накопление сигнала

Сообщение Igor1989 » Пт апр 06, 2012 9:39 am

можете подсказать какая функция осуществляет накопление сигнала. Накопление необходимо т.к при считывании сигнала(при большом его размере) построение спектра приходится производить поблочно (во избежании зависания компьютера, устанавливается длинна считываемого блока) при этом при отображении спектра возникают трудности с поиском максимумов . Возможно ли его накапливать, а затем отобразить целиком?
Igor1989
Активный пользователь
 
Сообщений: 25
Зарегистрирован: Ср мар 28, 2012 11:25 pm

Re: Как осуществить накопление сигнала

Сообщение Rompil » Пт апр 06, 2012 2:24 pm

Привет.
Ну, это возможно. Я предполагаю, что сбор данных идет непрерывно, и ты в цикле считываешь определенную порцию сэмплов за раз. В этом случае можно создать в цикле shift register, содержащий массив суммарного сигнала, проинициализировать его до цикла и в самом цикле с помощью блочка Build array на каждой итерации добавляешь в конец суммарного массива новую порцию данных. По окончании цикла на выходе будет большой массив с сигналом, собранным за всё время выполнения цикла.
Если считывается не массив точек, а waveform, то сделать можно точно так же , но только использовать build waveform вместо build array.
Есть еще одно большое НО: в определенный момент таким образом можно занять всю выделенную память. И это приведет к ошибке на этапе выполнения программы.
Я бы советовал в таком случае присмотреться к работе с записью данных в файл типа TDMS, особенно, если надо записывать продолжительное время.

Полезная ссылка с примером:
http://decibel.ni.com/content/docs/DOC-3445
Rompil
Пользователь
 
Сообщений: 14
Зарегистрирован: Ср дек 14, 2011 11:31 am


Вернуться в LabVIEW

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron