Исследование детерминированных процессов. Гармонические, периодические, квазипериодические и непериодические процессы, страница 2

names{3}='Ravnobokaya pila';

mmean=mean(sawtooth(2*pi*fs*timem,0.5)); %мат.ожидание сигнала с частотой 600гц

nmean=mean(sawtooth(2*pi*fs*timen,0.5)); %мат.ожидание сигнала с частотоц 550 гц

mcov=cov(sawtooth(2*pi*fs*timem,0.5)); %дисперсия сигнала с частотой 600гц

ncov=cov(sawtooth(2*pi*fs*timen,0.5)); %дисперсия сигнала с частотой 550гц

mpower=mmean.^2+mcov; %мощность сигнала с частотой 600гц

npower=nmean.^2+ncov; %мощность сингала с частотой 550гц

fprintf('%25s|%11.5f|%11.5f\n',names{3}, mpower,npower);

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

msignals(4,:)=sawtooth(2*pi*fs*timem,1); %возрастающая пила с частотой 600гц

nsignals(4,:)=sawtooth(2*pi*fs*timen,1); %возрастающая пила с частотой 550гц

names{4}='Vozrastauschaya pila';

mmean=mean(sawtooth(2*pi*fs*timem,1)); %мат.ожидание сигнала с частотой 600гц

nmean=mean(sawtooth(2*pi*fs*timen,1)); %мат.ожидание сигнала с частотоц 550 гц

mcov=cov(sawtooth(2*pi*fs*timem,1)); %дисперсия сигнала с частотой 600гц

ncov=cov(sawtooth(2*pi*fs*timen,1)); %дисперсия сигнала с частотой 550гц

mpower=mmean.^2+mcov; %мощность сигнала с частотой 600гц

npower=nmean.^2+ncov; %мощность сингала с частотой 550гц

fprintf('%25s|%11.5f|%11.5f\n',names{4}, mpower,npower);

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

msignals(5,:)=sawtooth(2*pi*fs*timem,0); %Убывающая пила с частотой 600гц

nsignals(5,:)=sawtooth(2*pi*fs*timen,0); %Убывающаяя пила с частотой 550гц

names{5}='Ybuvauschaya pila';

mmean=mean(sawtooth(2*pi*fs*timem,0)); %мат.ожидание сигнала с частотой 600гц

nmean=mean(sawtooth(2*pi*fs*timen,0)); %мат.ожидание сигнала с частотоц 550 гц

mcov=cov(sawtooth(2*pi*fs*timem,0)); %дисперсия сигнала с частотой 600гц

ncov=cov(sawtooth(2*pi*fs*timen,0)); %дисперсия сигнала с частотой 550гц

mpower=mmean.^2+mcov; %мощность сигнала с частотой 600гц

npower=nmean.^2+ncov; %мощность сингала с частотой 550гц

fprintf('%25s|%11.5f|%11.5f\n',names{5}, mpower,npower);

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

msignals(6,:)=sin(2*pi*fs*timem)+sin(2*pi*fsm*timem); %Квазипериодический сигнал с частотой 600 гц

nsignals(6,:)=sin(2*pi*fs*timen)+sin(2*pi*fsm*timen); %Квазипериодический сигнал с частотой 550 гц

names{6}='kvaziperiodicheskii signal';

mmean=mean(sin(2*pi*fs*timem)+sin(2*pi*fsm*timem)); %мат.ожидание сигнала

nmean=mean(sin(2*pi*fs*timen)+sin(2*pi*fsm*timen)); %мат.ожидание сигнала

mcov=cov(sin(2*pi*fs*timem)+cos(2*pi*fsm*timem)); %дисперсия сигнала

ncov=cov(sin(2*pi*fs*timen)+cos(2*pi*fsm*timen));%дисперсия сигнала

mpower=mmean.^2+mcov; %мощность сигнала

npower=nmean.^2+ncov; %мощность сигнала

fprintf('%25s|%11.5f|%11.5f\n',names{6},mpower,npower);

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

msignals(7,:)=1+exp(1-100*timem); %непериодический сигнал с частотой 600гц

nsignals(7,:)=1+exp(1-100*timen); %непериодический сигнал с частотой 550гц

names{7}='Neperiodicheskii signal';%мат.ожидание сигнала

mmean=mean(1+exp(1-100*timem));%мат.ожидание сигнала

nmean=mean(1+exp(1-100*timen));%мат.ожидание сигнала

mcov=cov(1+exp(1-100*timem));%дисперсия сигнала

ncov=cov(1+exp(1-100*timen));%дисперсия сигнала

mpower=mmean.^2+mcov;%мощность сигнала

npower=nmean.^2+ncov;%мощность сигнала

fprintf('%25s|%11.5f|%11.5f\n',names{7}, mpower, npower);

ns=7; %количество различных сигналов

%Нарисуем наши сигналы (первые 2 мс)

t=2e-2;

n=Fd*t;

figure;

for i=1:ns

subplot(3,3,i);

plot(timem(1:n),msignals(i,1:n));

title(names{i});

xlabel('Time,s');

ylabel('Amplitude');

grid on;

end;

%Посчитаем  корреляционные характеристики сигналов

mlags=-Tm:1/Fd:Tm;

nlags=-0.3:1/Fd:0.3;

for i=1:ns

mcor(i,:)=xcorr(msignals(i,:));

ncor(i,:)=xcorr(nsignals(i,:));

%нарисуем их

figure;

subplot(2,1,1);

plot(mlags,mcor(i,:));

title(names{i});

xlabel('Delay,s');

ylabel('Correlation');

subplot(2,1,2);

plot(nlags,ncor(i,:));

title(names{i});

xlabel('Delay,s');

ylabel('Correlation');

axis tight;

end;

%найдем их мощность

m0=Tm*Fd+1;

n0=0.3*Fd+1;

mcorpower=mcor(:,m0)/(m0-1);

ncorpower=ncor(:,n0)/(n0-1);

fprintf('Signals power according to correlation characteristics:\n');

fprintf('                         multiple to T|aliquant to T\n');

for i=1:ns

fprintf('%25s|%11.5f|%11.5f\n',names{i}, mcorpower(i), ncorpower(i));

end;

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

mft=fft(msignals,[],2)/nm;

mft=mft(:,1:floor(nm/2)+1);

nft=fft(nsignals,[],2)/nn;

nft=nft(:,1:floor(nn/2)+1);

dfm=1/Tm;

dfn=1/(0.3);

mpsd=2*mft.*conj(mft)/dfm;

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

npsd=2*nft.*conj(nft)/dfn;

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

%нарисуем характеристики

mfreq=(0:floor(Tm*Fd)/2)*dfm;

nfreq=(0:floor(0.3*Fd)/2)*dfn;

for i=1:ns

figure;

subplot(2,2,1);

semilogy(mfreq,abs(mft(i,:)));

title(names{i});

xlabel('Frequency,Hz');

ylabel('Amplitude');

axis tight;

grid on;

subplot(2,2,2);

semilogy(nfreq,abs(nft(i,:)));

title(names{i});

xlabel('Frequescy, Hz');

ylabel('Power');

axis tight;

grid on;

subplot(2,2,3);

semilogy(mfreq,mpsd(i,:));

xlabel('Frequency,Hz');

ylabel('Power');

grid on;

axis tight;

title('Power spectrum density');

subplot(2,2,4);

semilogy(mfreq,mpsd(i,:));

xlabel('Frequency,Hz');

ylabel('Power');

grid on;

axis tight;

title('Power spectrum density');

end; 

%и  находим оценки мощности

mspectpower=sum(mpsd,2)*dfm;

nspectpower=sum(npsd,2)*dfn;

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

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

for i=1:ns

fprintf('%25s|%11.5f|%11.5f\n',names{i}, mspectpower(i), nspectpower(i));

end;