主题:请大侠帮忙看这段程序,最好能给我每段都注上提示
clear
D=input('input the expected var:');
if isempty(D),D=1;end
fac=sqrt(D/1);
a=zeros(1,15);
for i=1:15,
i1=i;
for j=1:4,
s(j)=mod(i,2);
i=(i-s(j))/2;
a(i1)=a(i1)+s(j)*0.0625*(2^(j-1));
end
end
f=sqrt(-2*log(a));
f1=quantizer([9 6]);
ff=num2bin(f1,f);
g=fac*1.7015*(sqrt(2))*cos(2*pi*a);
g1=quantizer([9 6]);
gg=num2bin(g1,g);
fidhead=fopen('head_forrom2.txt','rb');
head=fread(fidhead);
fidout=fopen('rom2.vhd','wb');
out=fwrite(fidout,head);
fprintf(fidout,'\n');
gg=gg';
b='0000';
k=9;
for j=1:15
b(4)=b(4)+1;
for i=4:-1:2
if b(i)>'1',
b(i-1)=b(i-1)+1;
b(i)='0';
end
end
fprintf(fidout,'when "%s" => doutg <= "%s";\n',b,gg(1+k*(j-1):9+k*(j-1)));
end
gg=gg';
fidtail=fopen('tail.txt','rb');
tail=fread(fidtail);
out=fwrite(fidout,tail);
fclose(fidhead);
fclose(fidtail);
fclose(fidout);
fidhead=fopen('head_forrom1.txt','rb');
head=fread(fidhead);
fidout=fopen('rom1.vhd','wb');
out=fwrite(fidout,head);
fprintf(fidout,'\n');
ff=ff';
b='0000';
k=9;
for j=1:15
b(4)=b(4)+1;
for i=4:-1:2
if b(i)>'1',
b(i-1)=b(i-1)+1;
b(i)='0';
end
end
fprintf(fidout,'when "%s" => doutf <= "%s";\n',b,gg(1+k*(j-1):9+k*(j-1)));
end
ff=ff';
fidtail=fopen('tail.txt','rb');
tail=fread(fidtail);
out=fwrite(fidout,tail);
fclose(fidhead);
fclose(fidtail);
fclose(fidout);
[em2][em2]
D=input('input the expected var:');
if isempty(D),D=1;end
fac=sqrt(D/1);
a=zeros(1,15);
for i=1:15,
i1=i;
for j=1:4,
s(j)=mod(i,2);
i=(i-s(j))/2;
a(i1)=a(i1)+s(j)*0.0625*(2^(j-1));
end
end
f=sqrt(-2*log(a));
f1=quantizer([9 6]);
ff=num2bin(f1,f);
g=fac*1.7015*(sqrt(2))*cos(2*pi*a);
g1=quantizer([9 6]);
gg=num2bin(g1,g);
fidhead=fopen('head_forrom2.txt','rb');
head=fread(fidhead);
fidout=fopen('rom2.vhd','wb');
out=fwrite(fidout,head);
fprintf(fidout,'\n');
gg=gg';
b='0000';
k=9;
for j=1:15
b(4)=b(4)+1;
for i=4:-1:2
if b(i)>'1',
b(i-1)=b(i-1)+1;
b(i)='0';
end
end
fprintf(fidout,'when "%s" => doutg <= "%s";\n',b,gg(1+k*(j-1):9+k*(j-1)));
end
gg=gg';
fidtail=fopen('tail.txt','rb');
tail=fread(fidtail);
out=fwrite(fidout,tail);
fclose(fidhead);
fclose(fidtail);
fclose(fidout);
fidhead=fopen('head_forrom1.txt','rb');
head=fread(fidhead);
fidout=fopen('rom1.vhd','wb');
out=fwrite(fidout,head);
fprintf(fidout,'\n');
ff=ff';
b='0000';
k=9;
for j=1:15
b(4)=b(4)+1;
for i=4:-1:2
if b(i)>'1',
b(i-1)=b(i-1)+1;
b(i)='0';
end
end
fprintf(fidout,'when "%s" => doutf <= "%s";\n',b,gg(1+k*(j-1):9+k*(j-1)));
end
ff=ff';
fidtail=fopen('tail.txt','rb');
tail=fread(fidtail);
out=fwrite(fidout,tail);
fclose(fidhead);
fclose(fidtail);
fclose(fidout);
[em2][em2]