維納濾波的詳細講解(同為小白,相互取暖)

2021-10-13 17:11:44 字數 863 閱讀 2117

本文主要目的是回顧和鞏固維納濾波的基礎和應用。

一維音訊訊號,帶高斯隨機雜訊。

期望訊號/純淨訊號序列: x(n) 

雜訊訊號序列: v(n)

帶噪訊號序列: y(n)

序列長度:        l

維納濾波器階數:m

訊號是平穩的:也就是說在過去的一段時間和現在的一段時間內,純淨訊號和雜訊的均值、方差等資訊是不變的,這是利用過去資訊估計現在資訊的基礎。

訊號都是零均值的:這有利於計算方差。

ryy_ =xcorr(y,m,'biased');  %這句話計算出來的互相關函式值是2l-1個,關於l對稱,m是階數,也即是相關向量的長度

ryy =ryy_ (l+1:end);  % 這裡從m+1開始,是因為matlab起始序列號是1,而不是0

ryy=toeplitz(ryy);

自相關都得到了,互相關就是在計算相關函式的時候,第二個變數換成其他變數。

ryx =xcorr(y,x,m,'biased');

核心思想是濾波後的訊號與純淨訊號的均方誤差最小:

這就是維納意義下均方誤差最小的fir濾波器。

x是未知的,因此上述濾波器是不可得到的。

而雜訊的自相關向量我們可以預估。

利用假設,ryx=ryy-rvv。

所以,估計的時刻k的輸出就用hw和y來計算得到:

迴圈使用即可得到所有的輸出估計訊號。

這一步可以利用matlab的filter函式完成:

關於線性卡爾曼濾波詳細講解(一)

因為我是做無人機,無人車和無人船這方面的,所以對於資料的處理是離不開濾波的,可能有些人覺得資料能用就行,幹嘛要費勁去處理資料,但是乙個好的資料會讓你的裝置更加穩定甚至對你的控制會更加精確。我們先來說一下什麼是濾波,說白了就是對訊號 觀測量 進行處理,因為我們的觀測量中會存在各種雜訊,可能是電機振動產...

UITableView的詳細講解

1.uitableview的初始化 csharp view plain copy uitableview tableview uitableview alloc initwithframe cgrectmake 0,0,320,420 tableview setdelegate self table...

axios的詳細講解

axios 是乙個基於promise 用於瀏覽器和 nodejs 的 http 客戶端,簡單的理解就是ajax的封裝。特性 1 利用npm安裝 例如vue腳手架專案中使用 npm install axios2 利用cdn 常用 src script 1 get請求 get請求方式一 axios 設定...