Исследование детерминированных процессов. Синтезирование процессов во временной области, страница 2

nekrPower=nekrMean.^2+nekrCov;            

fprintf('%25s%11.5f%11.5f\n',names{2},krPower,nekrPower);

%Равнобокая пила

krSig(3,:)=sawtooth(2*pi*F*t_kr,0.5);     

nekrSig(3,:)=sawtooth(2*pi*F*t_nekr,0.5); 

names{3}='Равнобокая пила';

%Математическое ожидание сигнала

krMean=mean(sawtooth(2*pi*F*t_kr,0.5));    

nekrMean=mean(sawtooth(2*pi*F*t_nekr,0.5));

%Дисперсия сигнала

krCov=cov(sawtooth(2*pi*F*t_kr,0.5));      

nekrCov=cov(sawtooth(2*pi*F*t_nekr,0.5)); 

%Мощность сигнала

krPower=krMean.^2+krCov;                    

nekrPower=nekrMean.^2+nekrCov;     

fprintf('%25s%11.5f%11.5f\n',names{3}, krPower,nekrPower);

%Возрастающая пила

krSig(4,:)=sawtooth(2*pi*F*t_kr,1);        

nekrSig(4,:)=sawtooth(2*pi*F*t_nekr,1);     

names{4}='Возрастающая пила';

%Математическое ожидание сигнала

krMean=mean(sawtooth(2*pi*F*t_kr,1));     

nekrMean=mean(sawtooth(2*pi*F*t_nekr,1)); 

%Дисперсия сигнала

krCov=cov(sawtooth(2*pi*F*t_kr,1));        

nekrCov=cov(sawtooth(2*pi*F*t_nekr,1));  

%Мощность сигнала

krPower=krMean.^2+krCov;                   

nekrPower=nekrMean.^2+nekrCov;             

fprintf('%25s%11.5f%11.5f\n',names{4}, krPower,nekrPower);

%Убывающая пила

krSig(5,:)=sawtooth(2*pi*F*t_kr,0);        

nekrSig(5,:)=sawtooth(2*pi*F*t_nekr,0);    

names{5}='Убывающая пила';

%Математическое ожидание сигнала

krMean=mean(sawtooth(2*pi*F*t_kr,0));      

nekrMean=mean(sawtooth(2*pi*F*t_nekr,0)); 

%Дисперсия сигнала

krCov=cov(sawtooth(2*pi*F*t_kr,0));        

nekrCov=cov(sawtooth(2*pi*F*t_nekr,0)); 

%Мощность сигнала

krPower=krMean.^2+krCov;                 

nekrPower=nekrMean.^2+nekrCov;           

fprintf('%25s%11.5f%11.5f\n',names{5}, krPower,nekrPower);

%Квазипериодический сигнал

krSig(6,:)=sin(2*pi*F*t_kr)+sin(2*pi*Fdop*t_kr);            

nekrSig(6,:)=sin(2*pi*F*t_nekr)+sin(2*pi*Fdop*t_nekr);       

names{6}='Квазипериодический сигнал';

%Математическое ожидание сигнала

krMean=mean(sin(2*pi*F*t_kr)+sin(2*pi*Fdop*t_kr));           

nekrMean=mean(sin(2*pi*F*t_nekr)+sin(2*pi*Fdop*t_nekr));

%Дисперсия сигнала

krCov=cov(sin(2*pi*F*t_kr)+cos(2*pi*Fdop*t_kr));             

nekrCov=cov(sin(2*pi*F*t_nekr)+cos(2*pi*Fdop*t_nekr)); 

%Мощность сигнала

krPower=krMean.^2+krCov;                                    

nekrPower=nekrMean.^2+nekrCov;                  

fprintf('%25s%11.5f%11.5f\n',names{6},krPower,nekrPower);

%Непериодический сигнал

krSig(7,:)=1-exp(1-50*t_kr);              

nekrSig(7,:)=1-exp(1-50*t_nekr);          

names{7}='Непериодический сигнал';     

%математическое ожидание сигнала

krMean=mean(1-exp(1-50*t_kr));            

nekrMean=mean(1-exp(1-50*t_nekr));     

%Дисперсия сигнала

krCov=cov(1-exp(1-50*t_kr));              

nekrCov=cov(1-exp(1-50*t_nekr));

%Мощность сигнала

krPower=krMean.^2+krCov;                   

nekrPpower=nekrMean.^2+nekrCov;           

fprintf('%25s%11.5f%11.5f\n',names{7}, krPower, nekrPower);

%кол-во сигналов

ns=7;

%Выведем наши сигналы (первые 40 мс)

t=4e-2;

n=Fd*t;

figure;

for i=1:ns

subplot(3,3,i);

plot(t_kr(1:n),krSig(i,1:n));

title(names{i});

xlabel('Время,с');

ylabel('Амплитуда');

grid on;

end;

%Расчет  корреляционных характеристик

krStep=-Tkr:1/Fd:Tkr;

nekrStep=-Tnekr:1/Fd:Tnekr;

for i=1:ns

krCor(i,:)=xcorr(krSig(i,:));

nekrCor(i,:)=xcorr(nekrSig(i,:));

figure;

subplot(2,1,1);

plot(krStep,krCor(i,:));

title(names{i});

xlabel('Сдвиг по времени,с');

ylabel('Коэффициент корреляции');

subplot(2,1,2);

plot(nekrStep,nekrCor(i,:));

title(names{i});

xlabel('Сдвиг по времени,с');

ylabel('Коэффициент корреляции');

axis tight;

end;

%Мощность сигналов по корреляционной функции

kr0=Tkr*Fd+1;

nekr0=Tnekr*Fd+1;

krCP=krCor(:,kr0)/(kr0-1);

nekrCP=nekrCor(:,nekr0)/(nekr0-1);

fprintf('Мощность сигналов по корреляционной функции:\n');

fprintf('Интервал наблюдения кратный T сигнала|не кратный T\n');

for i=1:ns

fprintf('%25s%11.5f%11.5f\n',names{i}, krCP(i), nekrCP(i));

end;

%Спектральные характеристики

krFt=fft(krSig,[],2)/Nkr;

krFt=krFt(:,1:floor(Nkr/2)+1);

nekrFt=fft(nekrSig,[],2)/Nnekr;

nekrFt=nekrFt(:,1:floor(Nnekr/2)+1);

dFkr=1/Tkr;

dFnekr=1/Tnekr;

krPsd=2*krFt.*conj(krFt)/dFkr;

krPsd(:,1)=krPsd(:,1)/2;

nekrPsd=2*nekrFt.*conj(nekrFt)/dFnekr;

nekrPsd(:,1)=nekrPsd(:,1)/2;

krF=(0:floor(Tkr*Fd)/2)*dFkr;

nekrF=(0:floor(Tnekr*Fd)/2)*dFnekr;

for i=1:ns

figure;

subplot(2,2,1);

plot(krF,-10*log(abs(krFt(i,:))));

title(names{i});

xlabel('Частота,Гц');

ylabel('Амплитуда');

axis tight;

grid on;

subplot(2,2,2);

plot(nekrF,-10*log(abs(nekrFt(i,:))));

title(names{i});

xlabel('Частота,Гц');

ylabel('Амплитуда');

axis tight;

grid on;

subplot(2,2,3);

plot(krF,-10*log(krPsd(i,:)));

xlabel('Частота,Гц');

ylabel('Мощность/частота (дБ/Гц)');

grid on;

axis tight;

title('Спектральная плотность мощности');

subplot(2,2,4);

plot(nekrF,-10*log(nekrPsd(i,:)));

xlabel('Частота,Гц');

ylabel('Мощность/частота (дБ/Гц)');

grid on;

axis tight;

title('Спектральная плотность мощности');

end; 

%Мощность сигналов по спектральным характеристикам

krSpectP=sum(krPsd,2)*dFkr;

nekrSpectP=sum(nekrPsd,2)*dFnekr;

fprintf('мощность сигналов по спектральным характеристикам:\n');

fprintf('кр.периоду некр.периоду\n');

for i=1:ns

fprintf('%25s%11.5f%11.5f\n',names{i}, krSpectP(i), nekrSpectP(i));

end;