Память

Простейшие вопросы в области инженерной разработки
Ответить
ru522464
beginner
beginner
Сообщения: 34
Зарегистрирован: 29 сен 2008, 21:21
Версия LabVIEW: 8.5.1
Контактная информация:

Память

Сообщение ru522464 »

Всем привет!!!генератор с частотой 1кгц, амплитудой +-10В, форма сигнала синус, прямоугольник, пила, 4 канала вывода. длительность 1000 сек. к примеру 1к синус амплитуда 5в частота 100гц частота дискритизации генерации 100000 точек 100 000 000, 2 к синус 50гц амплитуда 7в+прямоугольник 70гц амплитуда 3В частота дискритизации 100000 точек 50 000 000 синус 50 000 000 прямоугольник, 3к прямоугольник 500гц 7В +синус 3В 150 Гц+пила 550гц 6в + синус вВ 150 Гц частота дескритизации 100000 точек 25 000 000 у каждой части 4к синус амплитуда 5в частота 100гц частота дискритизации генерации 100000 точек 100 000 000
Не хватает памяти вылетает ошибка "full memory" что можно сделать? оперативки 1гик
toto

Activity Gold Black
professional
professional
Сообщения: 390
Зарегистрирован: 07 мар 2008, 09:26
Награды: 3
Версия LabVIEW: 6i-16
Откуда: Санкт-Петербург
Контактная информация:

Re: Память

Сообщение toto »

Зачем хранить в памяти весь сигнал?
ru522464
beginner
beginner
Сообщения: 34
Зарегистрирован: 29 сен 2008, 21:21
Версия LabVIEW: 8.5.1
Контактная информация:

Re: Память

Сообщение ru522464 »

если заполнять буфер и выводить непрерывно то получается небольшая задержка
ru522464
beginner
beginner
Сообщения: 34
Зарегистрирован: 29 сен 2008, 21:21
Версия LabVIEW: 8.5.1
Контактная информация:

Re: Память

Сообщение ru522464 »

если примерно брать буфер 10000 точек около 25 милисек. задержка между заполнением буфера
toto

Activity Gold Black
professional
professional
Сообщения: 390
Зарегистрирован: 07 мар 2008, 09:26
Награды: 3
Версия LabVIEW: 6i-16
Откуда: Санкт-Петербург
Контактная информация:

Re: Память

Сообщение toto »

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

Activity
professional
professional
Сообщения: 301
Зарегистрирован: 12 июн 2008, 19:56
Награды: 1
Версия LabVIEW: 8.6; 2009
Откуда: Montreal
Контактная информация:

Re: Память

Сообщение alexander756 »

а что у меня здесь не так, что через какое-то время тоже пишет что не хватает памяти
P.S. ОСТОРОЖНО, генерирует звук в динамиках
Вложения
generateur.vi
(53.37 КБ) 134 скачивания
alexander756

Activity
professional
professional
Сообщения: 301
Зарегистрирован: 12 июн 2008, 19:56
Награды: 1
Версия LabVIEW: 8.6; 2009
Откуда: Montreal
Контактная информация:

Re: Память

Сообщение alexander756 »

подскажите кто, как освобождать память, что бы весь сигнал не хронился в памяти :help:
toto

Activity Gold Black
professional
professional
Сообщения: 390
Зарегистрирован: 07 мар 2008, 09:26
Награды: 3
Версия LabVIEW: 6i-16
Откуда: Санкт-Петербург
Контактная информация:

Re: Память

Сообщение toto »

У меня на работе только 8.2.1 версия стоит, смогу посмотреть только вечером дома.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Память

Сообщение mzu2006 »

alexander756, посмотри сюда: http://www.labviewportal.eu/viewtopic.p ... 318#p11318 на решения 1 и 4 а также на две ссылки ведущие из того поста
Ответить

Вернуться в «Для чайников»