界面
计算按钮’代码
% 获得一组数字信号
app.yorn=app.EditField.Value;
app.Fs=5120; %采样频率
dt=1.0/app.Fs; %采样时间间隔
app.N=1024; %样点个数
app.T=dt*app.N; %采样时段
app.t=linspace(0,app.T,app.N); %时域图形标
%得到正弦信号 y
app.y=app.a.Value*sin(2*pi*app.f.Value*ap+app.fai.Value)+app.yorn*randperm(app.N); 弦信号
app.p=max(app.y);
app.q=min(app.y);
app.n=1;
at=0.8*(app.p-app.q)+app.q;%原理:过零检测
i=1;
for k=2:1:app.N-2
if(app.y(k-1)<at&&app.y(k)<=at&&app.y(k>at&&app.y(k+2)>at)
ti(i)=k;
i=i+1;
end
end
app.j.Value=1/((ti(2)-ti(1))*dt);
%输出时域信号 ()
plot(app.ax1,app.t,app.y);
drawnow;
pause(10);