0

500Hz最初の 5 秒間の正弦波を生成してから、MATLAB1000Hzのファイルに保存しようとしています。.mifこれは、データを.mifファイルに保存するために使用する一般的なコードですが、このコードに含めることができるように正弦波サンプルを適切に生成する方法がわかりません。サンプリング周波数は になります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);
4

1 に答える 1

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 Hz はめちゃくちゃです。信号の帯域幅の 2 倍以上のサンプリングが必要です。これは宿題ですか?私には関係ありません、ただ興味があります。

于 2012-09-14T15:56:49.627 に答える