对12bit的AD建模后matlab写程序对其进行FFT,计算SNR并输出频谱图,程序该怎么写???急

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对12bit的AD建模后matlab写程序对其进行FFT,计算SNR并输出频谱图,程序该怎么写???急相关的知识,希望对你有一定的参考价值。

参考技术A 你是不是用simulink将数据输出到workbench?再用matlab计算其SFDR,SNR....等等参数?

最近也在做DAC的动态校准的东西,就把代码给你吧。我注释了一部分,你根据自己的需要自己改回来。

%load ScopeData;
dynamic_data=ScopeData.signals.values;

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;

end

F_samples=input('输入采样频率:');

Mean_code=mean(data);

V=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)');

F_in=find(dout_dB(1:N/2)==max_dB);

span=max(round(N/200),5);

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:5)))

% THD=10*log10(Pd/P_harmonic(1))
%
% ENOB=(SINAD-1.76)/6.02本回答被提问者和网友采纳

MATLAB从入门到精通-辅助ANSYS APDL进行负泊松比铰链结构建模仿真(附源码)

前言

     ANSYS有着强大的参数化建模能力,如果对命令流不太熟悉,或者需要建模复杂,用命令流写代码计算太麻烦,有时候需要借助matlab强大的矩阵运算能力。本例采用matlab辅助ansys进行负泊松比结构的参数化建模,如图所示,选择中间square型结构,黑色杆和灰色杆分别是模量极大的直角杆。在B点两直角杆的角点铰接, 在A点和D点端点铰接。

图片

    图片引自:https://doi.org/10.1098/rspa.2014.0538

    为了保证数值稳定性,铰接小模量的弹性杆(蓝色)。画出示意图分别对关键点编号(黑色编号)角点铰接处有两个关键点分别属于两个直角杆、线编号(品红色)。

图片

    很容易找到规律。并以左下角单元为基本单元,进行排列展开。在matlab中求解关键点的位置坐标和连线关系矩阵。进行验证后,便完成了任意行任意列的阵列排列命令流建模。

图片

       在anays中进行梁单元的铰接模拟需要用到以下命令流。有两种,分别是自由度耦合命令cp与自由度释放命令endrelease,关于这两个命令的简单案例&#x

以上是关于对12bit的AD建模后matlab写程序对其进行FFT,计算SNR并输出频谱图,程序该怎么写???急的主要内容,如果未能解决你的问题,请参考以下文章

数学建模由张量模-n展开到高维傅里叶变换(附代码)

数学建模灰色预测程序代码?

MATLAB从入门到精通-辅助ANSYS APDL进行负泊松比铰链结构建模仿真(附源码)

如何基于matlab进行简单的信道建模

用MATLAB设计对信号进行频谱分析和滤波处理的程序

将 Django 模型部署到网络服务器后,如何对其进行更改?