📄 produce.m
字号:
%产生一个函数的128个q15数据并把它写在一个x.h的文件里面供dsp读取用,qformart表示q值
t=0:0.001:0.128
f=20;
qformat=15;
y1=0.5*sin(2*pi*f*t)+0.5*sin(2*pi*100*t);%y1=0.5*sin(2*pi*f*t).*sin(2*pi*300*t)是自己想要产生q格式的函数,根据自己情况改写
y=floor(y1*(2^qformat));
subplot(211);
plot(t,y);
bsize=length(y1); %求yi的长度
for i=1:bsize % 数据处理防止它超过规定的范围
if y(i)==32768
y(i)=32767;
end
end
fid = fopen('x.h','w');%把产生的数据写入指定的文件
fprintf(fid,'int x[]={');
for i=1:128
fprintf(fid,'\t');
fprintf(fid,'%d,',y(i));
if(mod(i,10)==0)
fprintf(fid,'\\');
fprintf(fid,'\n');
end
end
fseek(fid,-1,0);
fprintf(fid,'};\n');
fclose(fid);
b=fft(y1,1024);
m=abs(b);
n=1000/1024*(0:511);
subplot(212);
plot(n,m(1:512)); title('magnitude spectrum');
xlabel('frequency (hz)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -