MATLAB File Help: rdsamp | View code for rdsamp | WFDB Contents

rdsamp

    function varargout=rdsamp(varargin)

     [signal,Fs,tm]=rdsamp(recordName,signaList,N,N0,rawUnits,highResolution)

        Wrapper to WFDB RDSAMP:
             http://www.physionet.org/physiotools/wag/rdsamp-1.htm

     Reads a WFDB record and returns:

     signal
           NxM matrix (doubles) of M signals with each signal being N samples long.
           Signal data type will be either in double int16 format
           depending on the flag passed to the function (according to
           the boolean flags below).

     Fs    (Optional)
           1xM Double, sampling frequency in Hz of all the signals in the
           record.

    % tm   (Optional)
           Nx1 vector of doubles representing the sampling intervals.
           Depending on input flags (see below), this vector can either be a
           vector of integers (sampling number), or a vector of elapsed time
           in seconds  ( with up to millisecond precision only).

     Required Parameters:

     recorName
           String specifying the name of the record in the WFDB path or
           in the current directory.

     Optional Parameters are:

     signalList
           A Mx1 array of integers. Read only the signals (columns)
           named in the signalList (default: read all signals).
     N
           A 1x1 integer specifying the sample number at which to stop reading the
           record file (default read all the samples = N).
     N0
           A 1x1 integer specifying the sample number at which to start reading the
           record file (default 1 = first sample).

     rawUnits
           A 1x1 integer (default: 0). Returns tm and signal as vectors
           according to the following values:
                   rawUnits=0 - Uses Java Native Interface to directly fetch  data, returning signal in physical units with double precision.
                   rawUnits=1 -returns tm ( millisecond precision only! ) and signal in physical units with 64 bit (double) floating point precision
                   rawUnits=2 -returns tm ( millisecond precision only! ) and signal in physical units with 32 bit (single) floating point  precision
                   rawUnits=3 -returns both tm and signal as 16 bit integers (short). Use Fs to convert tm to seconds.
                   rawUnits=4 -returns both tm and signal as 64 bit integers (long). Use Fs to convert tm to seconds.

     highResolution
          A 1x1 boolean (default =0). If true, reads the record in high
          resolution mode. Ignored if rawUnits == 0.

     Written by Ikaro Silva, 2013
     Last Modified: April 3, 2015
     Version 2.0

     Since 0.0.1

     %Example 1- Read a signal from PhysioNet's Remote server:
    [signal,Fs,tm]=rdsamp('mitdb/100',[],1000);
    plot(tm,signal(:,1))

    %Example 2-Read 1000 samples from 3 signals
    [signal,Fs,tm]=rdsamp('mghdb/mgh001', [1 3 5],1000);

    %%Example 3- Read 1000 samples from 3 signlas in single precision format
    [signal,Fs,tm]=rdsamp('mghdb/mgh001', [1 3 5],1000,[],2);

    %%Example 4- Read a multiresolution signal with 32 samples per frame
     [sig,Fs,tm] = rdsamp('drivedb/drive02',[1],[],[],[],1);

     See also WFDBDESC, PHYSIONETDB, WFDBDOWNLOAD