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 + -
显示快捷键?