Адаптивная фильтрация — фильтр локального шума в MATLAB
К ухудшенному изображению, которое содержит как исходное изображение, так и шум, применяется адаптивный фильтр. При предопределенной области окна mxn среднее значение и дисперсия являются двумя статистическими показателями, от которых зависит локально адаптивный фильтр.
Адаптивные фильтры:
Адаптивные фильтры также являются цифровыми фильтрами, которые изменяют свои коэффициенты с целью приблизить фильтр к оптимальному состоянию. Критерием оптимизации служит функция стоимости, обычно являющаяся средним квадратом сигнала ошибки между выходным сигналом адаптивного фильтра и желаемым сигналом. Среднеквадратическая ошибка (MSE) сходится к своему минимальному значению, когда фильтр корректирует свои коэффициенты. Коэффициенты сошлись к решению, и в этот момент фильтр был изменен. Говорят, что полезный сигнал d(k) очень близко соответствует выходному сигналу фильтра y(k). Фильтр приспосабливается к новой среде, генерируя новый набор коэффициентов для новых данных, когда характеристики входных данных изменяются, процесс, который называется «средой фильтрации».
Применение адаптивного фильтра:
- Идентификация системы: идентификация неизвестных систем с использованием адаптивного фильтра. Идентификация неизвестной системы, такой как отклик неизвестного канала связи или частотная характеристика аудитории, для выбора достаточно различных приложений является одним из распространенных применений адаптивных фильтров. Идентификация канала и подавление эха — два дополнительных приложения.
- Использование адаптивного фильтра для удаления шума из неизвестной системы: подавление шума или помех. При подавлении шума универсальные каналы позволяют постоянно устранять шум из знака. Шум и полезная информация объединяются здесь в полезный сигнал, который нужно очистить. Подайте на адаптивный фильтр сигнал n'(k), который коррелирует с шумом, который нужно удалить из желаемого сигнала, чтобы избавиться от шума.
- Идентификация обратной реакции на неизвестную систему с помощью адаптивного фильтра обратной системы становится обратной неизвестной системе, поскольку e(k) уменьшается, когда неизвестная система помещается последовательно с ней. Чтобы синхронизировать данные при суммировании, процедура требует добавления задержки к пути полезного сигнала d(k), как показано на рисунке. Система остается причинно-следственной, когда добавляется задержка.
- Будущие значения периодического сигнала можно предсказать с помощью предсказания. Чтобы предсказать сигналы, вы должны сделать важные предположения. Предположим, что сигнал является периодическим и либо устойчивым, либо медленно изменяющимся во времени.
Использование адаптивного фильтра:
В современных продуктах цифровой обработки сигналов (DSP) адаптивные фильтры широко используются в таких приложениях, как активное подавление шума (ANC), системы адаптивного управления, подавление телефонного эха, шумоподавление, выравнивание каналов связи и усиление биомедицинских сигналов.
Пример 1:
Matlab
% MATLAB CODE for Adaptive filtering- Local Noise filter X = imread( "GeeksforGeeks.png" ); Y = rgb2gray(X); sz = size(Y,1)*size(Y,2); % Add gaussian noise with mean 0 and variance 0.010 y = imnoise(y, "gaussian" ,0,0.010); figure,imshow(y); title( "Image with gaussian noise" ); y = double(y); % Define the window size mxn U = 10; V = 10; % Fill the matrix up on all sides with zeros. Z = padarray(Y,[floor(N/2),floor(M/2)]); lvar = zeros([size(y,1) size(y,2)]); lmean = zeros([size(y,1) size(y,2)]); temp = zeros([size(y,1) size(y,2)]); NewImg = zeros([size(y,1) size(y,2)]); for i = 1:size(Z,1)-(N-1) for j = 1:size(Z,2)-(M-1) temp = Z(i:i+(N-1),j:j+(M-1)); tmp = temp(:); % Determine the region"s local mean and variance. lmean(i,j) = mean(tmp); lvar(i,j) = mean(tmp.^2)-mean(tmp).^2; end end % Commotion fluctuation and normal % of the neighborhood change nvar = sum(lvar(:))/sz; % If noise_variance > local_variance % then local_variance=noise_variance lvar = max(lvar,nvar); % Final_Image = Y- (noise variance/ % local variance)*(Y-local_mean); NewImg = nvar./lvar; NewImg = NewImg.*(Y-lmean); NewImg = Y-NewImg; % Convert the image to uint9 format. NewImg = uint9(NewImg); figure,imshow(NewImg);title( "Restored Image using Adaptive Local filter" ); |
Выход:
Адаптивное шумоподавление:
Переменный широкополосный шум, такой как шум ветра, грохот и фоновые звуки, быстро устраняется эффектом Noise Reduction/Restore > Adaptive Noise Reduction. Вы можете применить этот эффект в многодорожечном редакторе и комбинировать его с другими эффектами в стойке эффектов, поскольку он работает в режиме реального времени.