请选择 进入手机版 | 继续访问电脑版
搜索
专业IC版图外包服务 微信:drclvs
广告位:SY02 广告业务联系QQ:3173974412
无锡芯满微电子有限公司---专业研发电机驱动芯片
IC设计论坛----ictown.com
广告位:SY05 广告业务联系QQ:3173974412
查看: 31|回复: 3

[疑难求助] SAR ADC测试matlab程序

[复制链接]

8

主题

9

帖子

45

E币

技术员

Rank: 2

积分
17
发表于 7 天前 | 显示全部楼层 |阅读模式
data_adc=importdata('rlc2_6.txt');
N=8192/2;
dynamic_data=data_adc(1:N,6);
data_size=size(dynamic_data);
N=max(data_size);
% sample_number=input('输入采样点数:');
% if sample_number>N
%      display('样本数据数量不够,请检查')
% else data=dynamic_data(1:sample_number);
%     N=sample_number;//N
% F_samples=input('输入采样频率:');
F_samples=100e6;
Mean_code=mean(dynamic_data);
V=dynamic_data-Mean_code;
V=V.*hanning(N);
dout_spect=fft(V);
dout_dB=20*log10(abs(dout_spect));
max_dB=max(dout_dB(1:N/2));
x=(0:N/2-1).*F_samples/N;
y=dout_dB(1:N/2)-max_dB;
figure(1)
plot(x,y);
axis([0,F_samples/2,-120,0]);
grid off;
title('FFT图');
xlabel('模拟输入频率(Hz)');
ylabel('幅值(dB)');%fft
F_in=find(dout_dB(1:N/2)==max_dB);%find the point corresponding max_dB
span=max(round(N/200),2);
spanh=2;
spectp=(abs(dout_spect)).*(abs(dout_spect));
Pdc=sum(spectp(1:span));
Ps=sum(spectp(F_in-span:F_in+span));
F_harmonic=[];
P_harmonic=[];
for har_number=1:10
    tone=rem((har_number*(F_in-1)+1)/N,1);
    if tone>0.5  
        tone=1-tone;
    end
F_harmonic=[F_harmonic tone];
har_peak=max(spectp(round(tone*N)-spanh:round(tone*N)+spanh));
har_bin=find(spectp(round(tone*N)-spanh:round(tone*N)+spanh)==har_peak);
har_bin=har_bin+round(tone*N)-spanh-1;
P_harmonic=[P_harmonic sum(spectp(har_bin-1:har_bin+1))];
end
disp(F_harmonic);
disp(P_harmonic);
Pd=sum(P_harmonic(2:5));
Pn=sum(spectp(1:N/2))-Pdc-Ps-Pd;
format;
SNR=10*log10(Ps/Pn);
SINAD=10*log10(Ps/(Pn+Pd));
SFDR=10*log10(P_harmonic(1)/max(P_harmonic(2:10)));
THD=10*log10(Pd/P_harmonic(1));
ENOB=(SINAD-1.76)/6.02;
A=[SNR,SINAD,SFDR,THD,ENOB]
% xlswrite('D:\major_design9.1\PD_adjust_filter6_sopc530_add3M\data\data.xlsx',A,'sheet2','B6:F6');

程序是下载的,为什么会有’索引超出矩阵维度‘的错误。
积分规则
回复

使用道具 举报

8

主题

9

帖子

45

E币

技术员

Rank: 2

积分
17
 楼主| 发表于 7 天前 | 显示全部楼层

.csv格式的数据要经过什么处理才能导入matlab处理吗==
回复 支持 反对

使用道具 举报

4

主题

5

帖子

25

E币

技术员

Rank: 2

积分
9
发表于 6 天前 | 显示全部楼层
应该是数据和你定义的矩阵不匹配
回复 支持 反对

使用道具 举报

11

主题

15

帖子

60

E币

技术员

Rank: 2

积分
26
发表于 6 天前 | 显示全部楼层
har_peak=max(spectp(round(tone*N)-spanh:round(tone*N)+spanh));

楼主,应该是这一句吧?今天我也在看这一段程序,发现也是有问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



版权所有:EDABOSS论坛 投诉受理:13816911948 合作热线:13816911948

备案信息:苏经营性ICP B2-20090218号 皖ICP备09697823号 电子公告服务许可文件号:皖通[2009]556号

Powered by EDABOSS X3.4 Tamplate By EDABOSS论坛  © 2001-2013 Comsenz Inc.

广告投放 微信:drclvs

快速回复 返回顶部 返回列表