Скачиваний:
76
Добавлен:
15.06.2014
Размер:
357 Кб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет информатики и радиоэлектроники»

Кафедра радиотехнических систем

Лабораторная работа №7

По теме: «Компьютерное моделирование и обработка

нестационарных сигналов»

Выполнил: Проверил:

ст. гр. 100500 Ходыко Д.Л.

Anonymo U.S.

Минск 2012

Цель работы

  1. Изучение алгоритмов адаптивной обработки сигналов.

  2. Изучение возможностей пакета MatLab для моделирования адаптивных систем.

Результаты выполнения работы

Используя алгоритм синтеза оптимального фильтра Винера, оценить качество желаемой импульсной характеристики в зависимости от порядка адаптивного фильтра.

Код программы:

h = [-2 -4 6 3]; % импульсная характеристика канала связи

N = 32; % порядок рассчитываемого фильтра

r = xcorr(h, N);

r = r(N+1:end); % односторонняя КФ импульсной характеристики канала

R = toeplitz(r); % корреляционная матрица искаженного сигнала

p = zeros(N+1, 1);

k0 = round((N-length(h)) /2) ;

p(k0:k0 + length(h)-1) = fliplr(h); % вектор взаимных корреляций

w = R\p; % коэффициенты оптимального фильтра

subplot(1,2,1)

impz(w) % график импульсной характеристики рассчитанного фильтра

subplot(1,2,2)

impz(conv(h, w) ) % график импульсной характеристики скорректированного канала

Проведем моделирование для разных параметров N: 16, 32, 64

С увеличением порядка фильтра, увеличивается качество фильтрации, т. к. мы получаем импульсную характеристику близкую к единичному импульсу.

Оценить скорость сходимости алгоритма LMS и дисперсию сигнала ошибки в установившемся режиме в зависимости от шага μ.

Код программы:

NoOfData = 8000; % Размерность входной последовательности

Order = 32; % Порядок фильтра

Mu = 0.01; % Размер шага

x = randn(NoOfData, 1) ; % Инициализация входную последователь-ность

h = rand(Order, 1) ; % Инициализация ИХ канала связи

d = filter(h, 1, x) ; %

w = zeros(Order,1) ; % Инициализаия ИХ адаптивного фильтра

...

% LMS алгоритм

for n = Order : NoOfData

D = x(n:-1:n-Order+1) ;

d_hat(n) = w'*D;

e(n) = d(n) - d_hat(n) ;

w = w + Mu*e(n)*D;

w_err(n) = norm(h - w) ;

end

subplot (1,2,1); plot(20*log10(abs(e))) ;

subplot(1,2,2); semilogy(w_err);

Промоделируем для разных значений параметра μ = 0.001, 0.01, 0.03, 0.04, 0.05, 0.07:

Оптимальным значением можно считать: μ = 0.03. При нём минимум ошибки достигается за минимальное время.

Оценка качества идентификации канала связи в зависимости от дисперсии шума и шага μ.

Параметр шага μ = 0.001, 0.01, 0.05, 0.1, 0.5, 1 дисперсия 0 .

Ds = 0.01, 0.5, 1, 3, 5 при μ = 0.08

Соседние файлы в папке 7