用MATLAB生成DAT文件
f1=10;f2=100;fs=400;N=400;
x = linspace(0,N/fs,N);
y1 = sin(2*pi*f1*x);
y2 = sin(2*pi*f2*x);
y=y1+y2;
figure
plot(x,y)
%创建文件sine.dat,可写入
fid=fopen(‘sine.dat’,‘w’);
%将文件头写入文件,将生成的y信号写入到文件,格式四位小数
fprintf(fid,‘1651 4 0 1 0\n’);
fprintf(fid,‘%.4f\n’,y);
%将文件头写入文件,将生成的y信号写入到文件,格式十六进制,负数用补码
fprintf(fid,‘1651 1 0 1 0\n’);
fprintf(fid,‘0x%x\n’, round(y*100) + (y《0)*2^16);
设置两个叠加信号的频率分别为10hz,100hz,采样频率400hz,采样点数400,采样时间1S。
linspace(x1,x2,N)用法:linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。在matlab的命令窗口下输入help linspace或者doc linspace可以获得该函数的帮助信息。
y1,y2为频率不同的两个正弦信号,y=y1+y2为叠加后信号。Plot画图显示信号y。