📄 agctbl.m
字号:
%本程序将quartus产生的波形文件转换为直观的波形
clc;
clear;
fid=fopen('agc.tbl','r');
data=fscanf(fid,'%s');
fclose(fid);
b=find(data=='=');
number=length(b)-1;
j=0;
for i=1:number
if data(b(i)-9)=='1'
j=j+1;
idin(j,1) = data(b(i)-8);
idin(j,2) = data(b(i)-7);
idin(j,3) = data(b(i)-6);
idin(j,4) = data(b(i)-5);
qdin(j,1) = data(b(i)-4);
qdin(j,2) = data(b(i)-3);
qdin(j,3) = data(b(i)-2);
qdin(j,4) = data(b(i)-1);
iout(j,1) = data(b(i)+1);
iout(j,2) = data(b(i)+2);
iout(j,3) = data(b(i)+3);
iout(j,4) = data(b(i)+4);
qout(j,1) = data(b(i)+5);
qout(j,2) = data(b(i)+6);
qout(j,3) = data(b(i)+7);
qout(j,4) = data(b(i)+8);
end;
end;
for i=1:length(idin)
i_din(i) = hex2dec(idin(i,:));
q_din(i) = hex2dec(qdin(i,:));
i_out(i) = hex2dec(iout(i,:));
q_out(i) = hex2dec(qout(i,:));
end;
for i = 1:length(i_din)
if i_din(i) >= 32768
i_din(i) = i_din(i) - 65536;
end;
if q_din(i) >= 32768
q_din(i) = q_din(i) - 65536;
end;
if i_out(i) >= 32768
i_out(i) = i_out(i) - 65536;
end;
if q_out(i) >= 32768
q_out(i) = q_out(i) - 65536;
end;
end;
for i = 1:length(i_din)
IDIN(i) = sign(i_din(i));
QDIN(i) = sign(q_din(i));
IOUT(i) = sign(i_out(i));
QOUT(i) = sign(q_out(i));
end;
figure(1);
subplot(2,1,1);
plot(i_din);
subplot(2,1,2);
plot(i_out);
figure(2);
subplot(2,1,1);
plot(q_din);
subplot(2,1,2);
plot(q_out);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -