testshanbian1.m

来自「simulink和matlab的图形显示接口程序」· M 代码 · 共 75 行

M
75
字号
clc;
clear;
ts=20/64000;
ts1=3.07692;
ad=0.905;
td=2.1*60;%数据长度,秒
tm=round(td/ts1);%方波的周期数
l=ts1/ts;
tk=td*50*64;%数据点数
for i=0:1:tm-1
    dat1(i+1)=round(l*i);
    dat2(i+1)=round(l*(i+0.5));
    dat3(i+1)=round(l*(i+1));
end
%3*3000*128
y=zeros(tk,1);
c=zeros(tk,1);
for i=1:1:tk
   for j=1:1:tm
       if i>dat1(j)
           if i<dat2(j)
               c(i)=ad;
           else
               c(i)=-ad;
           end
       end
   end
     y(i)=sqrt(2)*(100+c(i))*sin(pi*i/32);
end
for k=1:1:2*td*50-1
data=y(((k-1)*32+1):(k*32+32));
tepp=abs(fft(data,64))/(32*sqrt(2));
am(k)=tepp(2);
end

dam=100*am/100;
damp=dam-100*ones(size(dam));
damft=abs(fft(damp(1:12288),2*6144))/6144;
ak=[0.007	0.015	0.03	0.05	0.1	0.2	0.3	0.4	0.5	1	2	3	4	5	5.5	6	6.5	7	7.5	8	8.8	9.5	10	10.5	11	11.5	12	13	14	15	16	17	18	19	20	21	22	23	24	25	26	27	28	29	30	31	32	33	34	35	36	37	38;
0.068	0.085	0.105	0.13	0.18	0.215	0.23	0.24	0.25	0.275	0.34	0.41	0.51	0.64	0.694	0.762	0.833	0.893	0.94	0.977	1	0.984	0.962	0.926	0.887	0.845	0.801	0.718	0.644	0.574	0.521	0.472	0.428	0.391	0.357	0.329	0.303	0.281	0.26	0.24	0.23	0.215	0.202	0.19	0.179	0.169	0.16	0.151	0.143	0.136	0.129	0.123	0.117];

f1=1/(2*61.44);
sum=0;
for j=1:1:4669
f=j*f1;
    if f<0.007
    akxshu(j)=0.01;
end
if f>38
    akxshu(j)=0;
end
site=find(ak(1,:)>=f);
if f==ak(1,site(1))
    akxshu(j)=ak(2,site(1));
else
    akxshu(j)=(f-ak(1,site(1)-1))*(ak(2,site(1))-ak(2,site(1)-1))/(ak(1,site(1))-ak(1,site(1)-1))+ak(2,site(1)-1);
end
sum=sum+damft(j+1)*akxshu(j)*damft(j+1)*akxshu(j);
end
bcomp=[[1:4669]*f1;akxshu];
pst=2.856*sqrt(sum);
t=0.02:0.01:0.02*(length(am)/2)+0.01;
figure(1)
   hold on
   subplot(3,1,1)
    plot(t,am)
    grid;
    subplot(3,1,2)
    plot(t,damp)
    grid;
 subplot(3,1,3)
    plot(damft(1:4669))
    grid;
    hold off

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?