Определение параметров сигнала в 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

~ от aleos на 23 Май 2008.

2 коммент. to “Определение параметров сигнала в octave”

  1. Я подписался на rss ленту, но посты почему-то в виде каких-то квадратов((( Как это исправить?

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

Ответить