Initial code package commit.
[apps/c55x-digital-mic-decimation.git] / matlab_scripts / dig_mic_decimation_ConvertCCSbuf2wav.m
1 %Script to convert circular buffer PCM data output from CCS to a .wav file.
3 close all
4 clear;
6 FSI = 1.024e6; % digital mic sampling rate
7 M1 = 16; % CIC decimation factor
8 M2 = 2; % FIR1 decimation factor
9 M3 = 2; % FIR2 decimation factor
10 FS1 = FSI/M1; % FIR1 sampling rate
11 FS2 = FS1/M2; % FIR2 sampling rate
12 FSO = FS2/M3; % output sampling rate
14 fname = 'dig-mic-decimation_test_output.dat';
15 fname = strcat('..\test_data\output\', fname);
17 % Wav output file
18 wavout_fname = 'wavoutput_dig-mic-decimation_test.wav';
20 % Get digital mic output data
22 fid = fopen(fname, 'r');
23 if (fid == -1)
24     error('Unable to open channel input file');
25 end
26 tline = fgets(fid);
27 in = fscanf(fid, '%d');
28 fclose(fid);
30 % Write to wav file 16kHz sampling rate
31 audiowrite(wavout_fname, in/2^15, FSO);