admin管理员组

文章数量:1531207

2024年6月23日发(作者:)

钦灿的话:

想必大家在做DSP的项目的时候会遇到一下这两个问题:

1)如何将老师给的文件转换为CCS读取的文件?

2)如何将自己滤波后的生成的dat数据转换为文件,然后播放看看?

第一个问题你可能百度一下会有办法借鉴解决,第二个问题我是百度不到了,不知道

你们能不能找到,网上一般都叫你用格式转换器之类的来转换(我试过了,没有用),本人

也头痛了这个问题两天,昨晚临睡前想了一下补码的知识及看了一下数据,意外地写出了

matlab代码,为了造福人类,特此共享一下我自己的方法。本人愚笨,有更好的方法的,

请轻喷。

1.生成dat文件:

%输出生成dat文件

[y,fs,nbits]=wavread('D:'); %读入wav数据

%%想知道数据长度为多少的话就用length函数

%y1=length(y) %直接打印

fid=fopen('','w'); %打开文件(没有就自动创建),获取文件

ID(fid)

fprintf(fid,'1651 1 0 1 0 n'); %写入dat文件的头几个参数,具体意义不清楚,不

过一定要有这些数据,要不然在CCS中利用探针读入数据时会说无法打开文件(说是这样,

但实际还是打开了,本人亲身体验)

fprintf(fid,'0x%x n',round(y*100)+(y<0)*2^16); %写入音频信号的数据,以16

进制显示,负数用补码显示

滤波器系数获取

%获取FIR滤波器系数

y=fir1(63,0.65,hamming(64));

y %打印出数据

3.生成wav文件

%输出

fid=fopen('','rt'); %打开文件,获取文件ID(fid)

本文标签: 文件数据问题获取生成