用下面这个程序试一下,但是是16位定点格式的,如果是32位的,相应的改一下就可以了。
close all; clear all; clc;
f1=10;f2=100;fs=4000;N=4000;
x = linspace(0,N/fs,N);
y1 = sin(2*pi*f1*x);
y=y1;
figure
plot(x,y) %创建文件sine.dat,可写入
fid=fopen('mysine.dat','w+t');%将文件头写入文件,将生成的y信号写入到文件,格式四位小数
fprintf(fid,'1651 1 0 1 0n');
t = int16(2^15*y); % if 32-bit fixed-point, int32(2^31*y);
t2 =double(t);
for i=1:length(t2)
fprintf(fid,'0x%04xn',t2(i)+(t2(i)<0)*2^16); % if 32-bit fixed-point, t2(i)+(t2(i)<0)*2^32);
end
fclose(fid);
用下面这个程序试一下,但是是16位定点格式的,如果是32位的,相应的改一下就可以了。
close all; clear all; clc;
f1=10;f2=100;fs=4000;N=4000;
x = linspace(0,N/fs,N);
y1 = sin(2*pi*f1*x);
y=y1;
figure
plot(x,y) %创建文件sine.dat,可写入
fid=fopen('mysine.dat','w+t');%将文件头写入文件,将生成的y信号写入到文件,格式四位小数
fprintf(fid,'1651 1 0 1 0n');
t = int16(2^15*y); % if 32-bit fixed-point, int32(2^31*y);
t2 =double(t);
for i=1:length(t2)
fprintf(fid,'0x%04xn',t2(i)+(t2(i)<0)*2^16); % if 32-bit fixed-point, t2(i)+(t2(i)<0)*2^32);
end
fclose(fid);
举报