2012-09-14 12 views
0

처음 5 초 동안 500Hz 인 sin 웨이브를 생성하려고 시도하면 1000Hz이 MATLAB의 .mif 파일에 저장됩니다. 이것은 데이터를 .mif 파일에 저장하는 데 사용할 일반 코드입니다. 그러나이 코드에 포함될 수 있도록 죄파 샘플을 올바르게 생성하는 방법을 잘 모르겠습니다. 샘플링 주파수는 2000Hz입니다.MATLAB의 .mif 파일에 저장 될 sin 파형 생성

감사합니다.

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

.mif 파일의 샘플링 속도는 얼마입니까? 1000 Hz 신호의 지속 시간은 얼마입니까? – macduff

+0

.mif 파일의 샘플링 속도는 2000Hz이며 현재 시간은 임의입니다. 10 초라고 가정 해 봅시다. – user1633930

답변

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의 신호가 겨우 빠른 샘플링 무엇을 찾을려고하는 것을를 높고 낮고 제로 교차점을 확보하기에 충분합니다. 2000Hz는 엉망이며, 신호 대역폭의 2 배보다 큰 샘플링이 필요합니다. 이 숙제가 있니? 상관 없어요, 호기심 많아요.

+0

일종. 훨씬 더 큰 프로젝트를위한 테스트의 일부입니다. 당신의 도움을 주셔서 감사합니다. – user1633930