Определение параметров сигнала в octave
Продолжение заметок по ЦОС в octave. В этот раз определение различных характеристик (параметров) сигналов:
- математическое ожидание;
- дисперсия;
- корреляция;
- плотность распределения;
- закон распределения;
- спектр сигнала.
Измеряются характеристики оригинального и зашумлённого сигнала.
set (0, 'defaulttextfontname', 'Terminus,16');
%%
QUALITY = 20;
N = 512 ; % Максимальное значение времени t
freq = 257/(N-1); % Частота волны
dfreq = 2 * freq; % Частота дискретизации (замеров)
disp('Частота волны freq = '), disp(freq)
t = 0:1/(QUALITY*dfreq):N;
% Уравнение волны
F = N*log(N+1)/(N^2-1)*sin((2*pi*100/N)*t+N/10) + \
(N+3)*log(N/3)/(N^2-1)*sin((2*pi*157/N)*t+N/3) + \
(N+4)*log(N/4)/(N^2-1)*cos((2*pi*257/(N-1))*t+N/4);
figure(1)
subplot(3,1,1)
plot(t,F,'r')
axis([0, 50])
title('Original signal')
grid on
% Expected value (математическое ожидание)
ExpVal = mean(F)
% Variance (дисперсия)
Var = var(F)
% Correlation (корреляция)
Cor = xcorr(F);
subplot(3,2,6)
plot(Cor,'r')
title('Correlation')
grid on
% Probability density (плотность рапределения)
subplot(3,2,3)
ProbDens = hist(F);
hist(F)
title('Probability density')
grid on
% Probability distribution (закон распрделения)
subplot(3,2,4)
ProbDist = 0;
for i=1:length(ProbDens)
ProbDist(i+1)=ProbDens(i)+ProbDist(i);
end
ProbDist=ProbDist/length(F);
plot(ProbDist);
title('Probability distribution')
grid on
% Spectrum (спектр)
subplot(3,2,5)
spectrum = abs(fft(F));
plot(spectrum,'r')
title('Spectrum')
grid on
%%============================================================================%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NOISE (ШУМ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%============================================================================%%
figure(2)
NoiseKoef = 100;
noise=randn([1, length(F)])/NoiseKoef;
%plot(noise)
%axis([0, 50])
FN=F + noise; % signal with noise
subplot(3,1,1);
plot(t, F,'b', t, FN, 'r');
title('signal with noise');
axis([0, 50])
subplot(3,2,3);
% Expected value (математическое ожидание)
ExpVal = mean(FN)
% Variance (дисперсия)
Var = var(FN)
% Correlation (корреляция)
Cor = xcorr(FN);
subplot(3,2,6)
plot(Cor,'r')
title('Correlation')
grid on
% Probability density (плотность рапределения)
subplot(3,2,3)
ProbDens = hist(FN);
hist(FN)
title('Probability density')
grid on
% Probability distribution (закон распрделения)
subplot(3,2,4)
ProbDist = 0;
for i=1:length(ProbDens)
ProbDist(i+1)=ProbDens(i)+ProbDist(i);
end
ProbDist=ProbDist/length(FN);
plot(ProbDist);
title('Probability distribution')
grid on
% Spectrum (спектр)
subplot(3,2,5)
spectrum = abs(fft(FN));
plot(spectrum,'r')
title('Spectrum')
grid on


Я подписался на rss ленту, но посты почему-то в виде каких-то квадратов((( Как это исправить?
Видимо, дело в кодировке, используемой Вашим RSS-агрегатором. Попробуйте изменить настройки кодировки (если таковые имеются), либо воспользуйтесь альтернативным RSS-агрегатором, например, Liferea, или онлайновыми: google.ru/reader, lenta.yandex.ru.