graag had ik een (.dat) file opgenomen door een usrp device afgespeeld en bewerkt in realtime.
Net zoals dat kan onder gnuradio welk programma is hiervoor geschikt? ik heb al geprobeerd met matlab en labview het probleem is dat die de files in een keer proberen te lezen en dat ze dan out of memory gaan.
hoe kan ik de computer wijs maken dat hij slechts samples moet lezen deze doorsturen en dan opnieuw de volgende samples leest wat bestaat hier al voor? (best in labview of matlab (simulink))
Je moet zien dat de file niet in 1x wordt ingeladen. Ik weet niet of daar standaard oplossingen voor zijn, maar je kan evt zelf de file lijn per lijn lezen en met een buffer vector ofzo werken.
Het hangt ook van het filesystem (en mogelijk hardware) af of dat uberhaupt kan. Veel systemen hanteren enige mate van caching bij het wegschrijven van data, waardoor iets dat je op een harddisk zet niet acuut fysiek geschreven wordt, maar mogelijk even wordt uitgesteld om schrijfoperaties in een snellere volgorde te kunnen uitvoeren.
Als je dan probeert een brokje data te lezen dat net 'ter opslag' is verzonden is er kans dat het nog niet daadwerkelijk verwerkt is, en dan loop je met uitlezen vooruit op het daadwerkelijke schrijven van de data met allerlei problemen tot gevolg.
De goede manier om vrijwel realtime data toegankelijk te krijgen die op dat moment binnenkomt is gebruik maken van een (ring)buffer zodat je vrijwel realtime toegang tot de data hebt, afgezien van een beetje buffer tussen write en read pointers. Uiteraard is het met zo'n buffer nog steeds mogelijk de data ook als bestand op te slaan, dat gebeurd dan met een 2e read pointer die langzamer kan zijn dan de eerste waarmee je realtime werk doet. Zolang de buffer maar groot genoeg is om het 'schrijven in brokken' van de harddisk te ondervangen is dat geen probleem.