Сигнальные процессоры. Аксенов В.П. - 125 стр.

UptoLike

Составители: 

125
maxt =length(t)-5; % последние 5 точек вектора t не используются
m = 1:maxt; % m - количество точек для расчета частоты
con1=length(m);
z1=0.5;z21(1) = 0;z24(1)= 0;
for m = 2:maxt
if abs(s(m+1)) >0.02 z1 =0.5*(s(m)+s(m+2))/s(m+1);
end
if m > 1 z21(m) = z21(m-1);
end
if abs(z1) > 1 z1 = sign(0.5*(s(m)+s(m+2))/s(m+1));
end
z21(m) = Fs*acos(z1)/(2*pi); % частота входного сигнала
% расчет амплитуды входного сигнала
z3=sqrt(abs(s(m+1)^2-s(m)*s(m+2)));
if abs(z21(m)) > 0.02 z24(m)=z3*Fs/(2*pi*z21(m));
else z24(m)= 0 ;% амплитуда входного сигнала
end
end
m=1:maxt;
con2=length(z21);
figure
subplot(1,2,1)
plot(m,z24) % график мгновенной амплитуды A_ВХ (m)
grid on % время t = m/FS
title ('амплитуда входного сигнала от m');
% расчет мгновенной частоты по трем точкам выходного сигнала s1(t)
z1=0.5; z34(1) = 0; z22(1) = (f1+f2)/2;
for m = 2:maxt
if abs(s1(m+1)) > 0.02 z1 =0.5*(s1(m)+s1(m+2))/s1(m+1); else z1 = 0.9;
end
if m > 1 z22(m) = z22(m-1);
end
if abs(z1) > 1 z1 = sign(0.5*(s1(m)+s1(m+2))/s1(m+1));
end
maxt =length(t)-5;   % последние 5 точек вектора t не используются
m = 1:maxt; % m - количество точек для расчета частоты
con1=length(m);
z1=0.5;z21(1) = 0;z24(1)= 0;
for m = 2:maxt
if abs(s(m+1)) >0.02 z1 =0.5*(s(m)+s(m+2))/s(m+1);
end
if m > 1 z21(m) = z21(m-1);
end
if abs(z1) > 1 z1 = sign(0.5*(s(m)+s(m+2))/s(m+1));
end
z21(m) = Fs*acos(z1)/(2*pi);     %    частота входного сигнала
% расчет амплитуды входного сигнала
z3=sqrt(abs(s(m+1)^2-s(m)*s(m+2)));
 if abs(z21(m)) > 0.02 z24(m)=z3*Fs/(2*pi*z21(m));
 else z24(m)= 0 ;%     амплитуда входного сигнала
end
end
m=1:maxt;
con2=length(z21);
figure
subplot(1,2,1)
plot(m,z24)                    % график мгновенной амплитуды A_ВХ (m)
grid on                        % время t = m/FS
title ('амплитуда входного сигнала от m');
      % расчет мгновенной частоты по трем точкам выходного сигнала s1(t)
z1=0.5; z34(1) = 0; z22(1) = (f1+f2)/2;
for m = 2:maxt
if abs(s1(m+1)) > 0.02 z1 =0.5*(s1(m)+s1(m+2))/s1(m+1); else z1 = 0.9;
end
if m > 1 z22(m) = z22(m-1);
end
if abs(z1) > 1 z1 = sign(0.5*(s1(m)+s1(m+2))/s1(m+1));
end



                                             125