Найдите «автокорреляционную функцию» следующего сигнала:
в
– гауссовский белый шум;
Гауссов белый шум соответствует характеристикам нормального распределения, и его среднее значение равно
, дисперсия
, его спектральная плотность мощности белая, а мощность одинакова на всех частотах;
В предыдущем блоге [Цифровая обработка сигналов] Приложения, связанные с функциями ( Сценарии применения связанных функций | Принцип обнаружения сигналов в шуме ) середина , Используя метод вывода формулы, найдите корреляционную функцию , В этом блоге используется matlab Найдите корреляционную функцию ;
Начнем использовать Matlab для расчета
сопутствующие функции;
Сгенерируйте последовательность гауссовского белого шума со средним значением 0 и дисперсией 1;
randn(1,200);
Последовательность гауссова белого шума, сгенерированная приведенным выше кодом, представляет собой вектор-строку из 200 элементов.
в случае randn(2, 200)
код , То, что генерируется, представляет собой
матрица;
SNR — это отношение сигнал/шум,
мощность сигнала,
- мощность шума, и ее соотношение:
существовать matlab середина , Установите соотношение сигнал/шум на
;
% настраивать соотношение сигнал/шум
SNR = 7;
Сигнал
, его мощность
, мощность шума
, Принесите что-то к месту сигнал/шумчиновниксередина :
Рассчитайте амплитуду на основе отношения сигнал/шум
:
написано как matlab коддля :
% в соответствии ссоотношение сигнал/шум вычислить Сигнал Амплитуда
SignalAmplitude = sqrt( 2 * 10^(SNR/10) );
в соответствии с
чиновник ,производить 200 индивидуальный Сигнал, в
Уже найдено ранее;
% в соответствии сAsinωnпроизводить 200 индивидуальный Сигнал
x1 = A * sin( pi * 0.165 * (0:199) );
а потом Сигнали Суперпозиция гауссовского белого шума :
% Сигнал+ Гауссов белый шум
x = x1 + xn;
Чтобы найти функцию автокорреляции, используйте функцию xcorr;
% просить x из Автокорреляционная функция , Длинадля2N-1
y = xcorr(x, x);
просить Сигналвласть :
% власть : Автокорреляционная функция Амплитуда проситьсредний
% Автокорреляционная функция Да 200 индивидуальныйвласть Нова
y = y / 200;
matlab Полный код :
% Очистить предыдущую переменную или память
clear;
% генерировать Гауссов белый шум последовательность , иметь в виду 0 , дисперсия 1
% генерироватьиз Гауссов белый шум последовательность это иметь 200 вектор-строка элементов
xn = randn(1,200);
% настраивать соотношение сигнал/шум
SNR = 7;
% в соответствии ссоотношение сигнал/шум вычислить Сигнал Амплитуда
A = sqrt( 2 * 10^(SNR/10) );
% в соответствии сAsinωnпроизводить 200 индивидуальный Сигнал
x1 = A * sin( pi * 0.165 * (0:199) );
% Сигнал+ Гауссов белый шум
x = x1 + xn;
% просить x из Автокорреляционная функция , Длинадля2N-1
y = xcorr(x, x);
% власть : Автокорреляционная функция Амплитуда проситьсредний
% Автокорреляционная функция Да 200 индивидуальныйвласть Нова
y = y / 200;
%Создать занавес
figure;
%рисовать "выходпоследовательность" изображение , Точки представлены верхними треугольниками.
plot(y);
% открытая сетка
grid on;
Результат выполнения: