Strona 1 z 1

Re: Labview a pamięć systemowa Windows...

: 31 sty 2009 09:00
autor: Kolin
Witam
mam problem z poniższym programem (labview 7.1) zgłasza się komunikat not enough memory chociaż
mam 3GB ramu, z tego co się zdążyłem zorientować to wynika to raczej z błędu konstrukcji programu, program ten liczy krótkotrwałą transformatę furiera, w której ustawia się parametry okienkowania, jednym z nich jest time increment - definicja z helpa (time increment is the number of samples to shift the sliding window. The default is 1. Increasing time increment decreases the computation time and reduces memory requirements, but also reduces time-domain resolution. Decreasing time increment improves time-domain resolution, but increases the computation time and memory requirements) sprawdzałem zużycie pamięci i nie przekracza ono 50% gdy wyskakuje błąd. Jeśli ustawię time increment na 2 to programik liczy ale wolno. Błąd wyskakuje nawet wtedy, gdy uruchamiam programik bez podłączonego modułu akwizycji danych. Proszę o wskazówki ewentualnych zmian w programie które by go usprawniły?

Re: Labview a pamięć systemowa Windows...

: 02 lut 2009 09:52
autor: Kolin
dodam jeszcze, że częstotliwość próbkowania wynosi 100kHz a ilość próbek 10000, dla częstotliwości 50kHz i ilości próbek 5000 działa, ale wolno.

Pozdrawiam

Re: Labview a pamięć systemowa Windows...

: 02 lut 2009 13:39
autor: jogurt_owocowy
sprawdzałem zużycie pamięci i nie przekracza ono 50% gdy wyskakuje błąd
LabVIEW niekoniecznie mówi, że brakło mu pamięci. Mówi, że jest jej za mało, żeby coś zrobić.
Jeśli ustawię time increment na 2 to programik liczy ale wolno.
Nie wiem co tam mierzysz, ale ustaw sobie 200 i będzie ok.

Re: Labview a pamięć systemowa Windows...

: 02 lut 2009 14:36
autor: Kolin
to może inaczej, wszystko byłoby super gdybym na intesity Graph na osi x otrzymywał czas w sekundach, a teraz na tej osi mam liczbę próbek dzieloną przez "time increment" czyli dla liczby próbek 10000 i time increment 10 mam na osi x skalę od 0 do 1000 i nie wiem jak się do tego odnieść (jak to przeliczać na sekundy?), bo zależy mi na dokładnym określeniu czasu obserwowanego zjawiska; a co do problemów z pamięcią to czytałem że Labview robi kopię przetwarzanch danych, zapychając w ten sposób pamięć "Extracting a data array for processing from waveform or dynamic data may make an extra copy."

Pozdrawiam

Re: Labview a pamięć systemowa Windows...

: 02 lut 2009 14:59
autor: jogurt_owocowy
Utwórz dla kontrolki Intensity Graph węzeł własności (Create -> Property Node) i wybierz X Scale -> Offset and Multiplier -> Multiplier. Kliknij na nim prawym, Change to Write i podłącz do niego wartość time increment podzieloną przez częstotliwość próbkowania.
Od teraz oś X Intensity Graph będziesz mieć wyskalowaną w sekundach.
Pozdrawiam

Re: Labview a pamięć systemowa Windows...

: 02 lut 2009 18:13
autor: Kolin
wielkie dzięki, narazie wszystko działa jak należy, ale dopiero jutro sprawdzę na aparaturze
Pozdrawiam