CCS3.3是一款DSP的集成开发环境(IDE)。在做DSP开发时,为验证算法。经常须要使用matlab进行算法验证,验证算法就须要数据。因此,一种交互的方法是:

  1. 使用DSP开发板连接CCS
  2. 用CCS3.3菜单中的“File->Data->Save..”功能导出DSP内存中的数据到PC的.dat文件里
  3. 使用Matlab读取.dat文件,进行数据处理

以下给出使用Matlab读取CCS导出的dat文件的方法:

% =========================================================================
% Read *dat file of CCS3.3
% xiahouzuoxin
% 2014.04.21
% ========================================================================= % clc;clear all;close all; % 对话框选择*.dat文件
[fname,pname]=uigetfile(...
{'*.dat';'*.*'},'Input *.dat File'); fid = fopen(fullfile(pname,fname));
fseek(fid, 21,-1); % 去文件头, 21字节。如 1651 1 80000006 0 100 % 按指定格式读取解析
fm = 4;
switch (fm)
case 4 % 按4Byte格式读,如 0x 80000000
x = textscan(fid, '%2s %8s');
z(:,1) = hex2dec(x{2});
case 2 % 按2Byte格式读。如 0x 8000 0000
x = textscan(fid, '%2s %4s %4s');
z(:,1) = hex2dec(x{3});
z(:,2) = hex2dec(x{2});
case 1 % 按1Byte格式读。如 0x 80 00 00 00
x = textscan(fid, '%2s %2s %2s %2s %2s');
z(:,1) = hex2dec(x{5});
z(:,2) = hex2dec(x{4});
z(:,3) = hex2dec(x{3});
z(:,4) = hex2dec(x{2});
otherwise
z = [];
end if ~isempty(z)
% 将数据处理代码放在这里 end fclose(fid);

程序中默认DSP内存中数据的存储格式为整数类型,而对于浮点型DSP如TMS320C6713B,经常在内存中是float或double格式存储的,

这时。我们还须要一个转化为浮点数的操作。因此我写了一个转化为float类型的函数,

function y = integer2float(x, ishex)
% =========================================================================
% 有些数据y原本是float类型。在内存中是按float格式存储
% 而如今按整数将其从内存中读出变成了x
% 这个函数就是用于将按整数格式读出的x转变成y
% ishex~=0表示输入为十六进制格式
% 注:要完毕该函数,你必须了解IEEE浮点数的格式
%
% xiahouzuoxin
% 2014.04.21
% ========================================================================= if nargin == 2
if (ishex)
x = hex2dec(x);
end
end [h w] = size(x);
y = zeros(h,w); for i = 1:h
for j = 1:w
sign = bitget(x(i,j),32);
exponent = bitget(x(i,j),24:31) * 2.^(0:7).';
fraction = bitget(x(i,j),1:23) * 2.^(-23:-1).';
y(i,j) = (-1)^sign * (1+fraction) * 2^(exponent-127);
end
end

依据不同的输入情况(能够为十六进制的字符串表示或十进制数,但必须≤8Bytes),用法举个样例:

>> x='4565A012'
>> y=integer2float(x,1); >> x = 23974881923;
>> y = integer2float(x)

后来发现,Matlab已经早有相应的方法了,

y = typecast(uint32(z),'single');

能够直接把z转化为解析为单精度浮点数。详细使用请參见

>> help typecast

最新文章

  1. WebService -- Java 实现之 CXF ( 使用:Spring+CXF+Tomcat发布webService)
  2. redis 学习 01(下载 学习资源)
  3. Nexus私服使Maven更加强大
  4. 2015年8月TIOBE编程语言排行榜
  5. Spring Framework Reference,Documentation,spring英文文档.pdf 官方文档
  6. LSI SAS 2308配置操作
  7. (原)Eclipse中将JNI生成的so打包成jar的步骤
  8. spark java 代码example
  9. HttpURLConnection发送请求
  10. String.format()的使用
  11. myeclipse10 blue版激活码
  12. python并发编程之多进程1-----------互斥锁与进程间的通信
  13. brew装snappy
  14. 51nod P1305 Pairwise Sum and Divide ——思路题
  15. 制作centos sshd 镜像
  16. 通过request获取网页资讯 通过BeautifulSoup剖析网页元素
  17. zookeeper原理及功能介绍(转)
  18. 【心得体会】我考完MOS我明白了…
  19. 3060 抓住那头奶牛 USACO
  20. import是page指令的一个属性。

热门文章

  1. 解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题
  2. Extjs gridPanel 动态指定表头
  3. 【docker】docker基础原理,核心技术简介
  4. 【postman】postman访问zuul路由网关,发生Could not get any response 的情况
  5. error: conflicting type qualifiers for 'xxxxx'
  6. Java 8 中 HashMap 的性能提升
  7. CF 327B. Hungry Sequence
  8. 【转】一种新型的Web缓存欺骗攻击技术
  9. Command 命令模式 MD
  10. jQuery的一个关键函数