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;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.