Borrar filtros
Borrar filtros

How to save mat file from specific index

6 visualizaciones (últimos 30 días)
Med Future
Med Future el 12 de Feb. de 2022
Editada: Matt J el 12 de Feb. de 2022
HI, I hope you are doing well.
I have the following Code It saves the frame as mat file name as frame8PSK001 to frame8PSK5000.
I want to save the frame starting from 8PSK5001 to So ON how can i save that
The folllowing for loop is used to save the mat files
for p=1:numFramesPerModType
How can i change the value
dataDirectory='C/NewFolder'
numFramesPerModType=5000
fileNameRoot = "frame";
% Check if data files exist
dataFilesExist = false;
if exist(dataDirectory,'dir')
files = dir(fullfile(dataDirectory,sprintf("%s*",fileNameRoot)));
if length(files) == numModulationTypes*numFramesPerModType
dataFilesExist = true;
end
end
if ~dataFilesExist
disp("Generating data and saving in data files...")
[success,msg,msgID] = mkdir(dataDirectory);
if ~success
error(msgID,msg)
end
for modType = 1:numModulationTypes
elapsedTime = seconds(toc);
elapsedTime.Format = 'hh:mm:ss';
fprintf('%s - Generating %s frames\n', ...
elapsedTime, modulationTypes(modType))
label = modulationTypes(modType);
numSymbols = (numFramesPerModType / sps);
dataSrc = helperModClassGetSourceAMC(modulationTypes(modType), sps, 2*spf, fs);
modulator = helperModClassGetModulatorAMC(modulationTypes(modType), sps, fs);
if contains(char(modulationTypes(modType)), {'B-FM','DSB-AM','SSB-AM'})
% Analog modulation types use a center frequency of 100 MHz
channel.CenterFrequency = 100e6;
else
% Digital modulation types use a center frequency of 902 MHz
channel.CenterFrequency = 902e6;
end
for p=1:numFramesPerModType
% Generate random data
x = dataSrc();
% Modulate
y = modulator(x);
% Pass through independent channels
rxSamples = channel(y);
% Remove transients from the beginning, trim to size, and normalize
frame = helperModClassFrameGenerator(rxSamples, spf, spf, transDelay, sps);
% Save data file
fileName = fullfile(dataDirectory,...
sprintf("%s%s%03d",fileNameRoot,modulationTypes(modType),p));
save(fileName,"frame","label")
end
end
else
disp("Data files exist. Skip data generation.")
end
  4 comentarios
Matt J
Matt J el 12 de Feb. de 2022
Are you sure that's a good idea? Why not save all frames together in one file? The difficulty you're facing splitting them up will be encountered again when you need to read them back in.
Med Future
Med Future el 12 de Feb. de 2022
@Matt J My algo takes each frame seperatly thats why

Iniciar sesión para comentar.

Respuestas (1)

Matt J
Matt J el 12 de Feb. de 2022
Editada: Matt J el 12 de Feb. de 2022
My algo takes each frame seperatly thats why
That does not disqualify keeping them all in a common .mat file. You can use matfile() to read individual sub-chunks of an array from a .mat file.

Categorías

Más información sobre Image Data Workflows en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by