我试图在前5秒生成500Hz
的sin波,然后将1000Hz
保存在MATLAB的.mif
文件中。这是我将用于将数据保存到.mif
文件的通用代码,但我不确定如何正确生成sin波样本,以便它们可以包含在此代码中。采样频率为2000Hz
。
谢谢。
fid = fopen('filename.mif','w');
fprintf(fid,'WIDTH=16;\n');
fprintf(fid,'DEPTH=256;\n');
fprintf(fid,'ADDRESS_RADIX=UNS;\n');
fprintf(fid,'DATA_RADIX=DEC;\n');
fprintf(fid,'CONTENT BEGIN\n');
for k = 1:256
fprintf(fid,'%i : %i;\n',k-1,data(k));
end
fprintf(fid,'END;');
fclose(fid);
答案 0 :(得分:1)
这样做会,但我不确定你会喜欢这个结果:
aa = 0:(1/2000):5;
aa = aa(1:end-1);
bb = (0:(1/2000):10) + 5;
t = [ aa bb];
y1 = sin(2*pi*500*aa);
plot( aa, y )
y2 = sin(2*pi*1000*bb);
y = [y1 y2]
你会发现500 Hz信号几乎没有足够快地采样,以获得高,低和零交叉。 2000赫兹是一个混乱,需要采样大于信号带宽的两倍。这是家庭作业吗?对我来说无所谓,只是好奇。