查看“︁最小方均誤差 (數位濾波器)”︁的源代码
←
最小方均誤差 (數位濾波器)
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{Multiple issues| {{Cleanup|time=2023-06-15T09:31:40+00:00}} {{Expert needed|subject=數位訊號處理|time=2023-06-15T09:31:40+00:00}} }} 在有限長度[[数字滤波器|數位濾波器]]的設計中,'''最小平均平方誤差'''(英文:least mean-square error)是所設計的濾波器響應與理想濾波器響應在欲探討的頻段中的最小誤差。由於所設計的數位濾波器的長度不是無限長,所以在設計上和完美的濾波器會存在誤差。是訊號工程師會關心設計的濾波器的響應重點。此平均誤差利用統計學的方均值來計算求得。 == 定義 == <math>MSE\triangleq\frac{1}{f_s}\int\limits_{-f_s/2}^{f_s/2}|R(f)-H_d(f)|^2df</math> 其中<math>R(f)</math>為設計濾波器響應,有k+1項:<math>R(F)=\sum_{n=0}^ks[n]cos(2\pi nF)</math> ,<math>F</math> 表示頻率變數對[[采样率|取樣頻率]]<math>f_s</math>的[[正则化 (数学)|正歸化]]參數: <math>F=\frac{f}{f_s}</math> ,是離散化的頻率(normalized frequency)。此為[[离散时间傅里叶变换|離散時間傅立葉轉換]]表示法 其中<math>H_d(f)=\sum_n h[n]e^{-j2\pi f\over f_s} = H_d(f)=\sum_n h[n]e^{-j2\pi nF}</math> 是理想濾波器的[[离散时间傅里叶变换|離散時間傅立葉轉換]]表示法。 注意此算式中對頻譜的積分上下界,採取正負[[采样率|取樣頻率]]的一半即可。<ref>{{Cite web|first=Dimitris G.|last=Manolakis|first2=Vinay K.|last2=Ingle|date=2011-09-30|script-title=Applied Digital Signal Processing: Theory and Practice|url=https://assets.cambridge.org/97805211/10020/frontmatter/9780521110020_frontmatter.pdf|url-status=no|access-date=2023-06-15|publisher=Cambridge University Press|language=en|archive-date=2018-11-23|archive-url=https://web.archive.org/web/20181123130359/http://assets.cambridge.org/97805211/10020/frontmatter/9780521110020_frontmatter.pdf}}</ref>因為響應函式已經被取樣,會讓信號頻譜具有週期性,其週期就是取樣頻率為<math>f_s</math>。所以探討MSE時,積分範圍採取<math>-\frac{f_s}{2}</math>到<math>\frac{f_s}{2}</math>即可,節省運算量。 另外,此種將函數平方再對變數[[积分|積分]]取平均的算法,類似對變數取<math>L_2</math>[[范数|範數]]。即是對[[向量]]做二維的純量化平均的處理,和另一個設計濾波器做法[[帕克斯-麥克萊倫演算法|Mini-max]]相比,做最佳化較容易,因為這是實函數平方微分後再積分的線性運算 == 有限脈衝響應濾波器的設計應用 == 運用定義,將<math>F</math>取代<math>f</math>做變數變換: <math>F=\frac{f}{f_s}</math> ,<math>dF=\frac{1}{f_s}df </math> <math>\begin{align} MSE & =\int_{-1/2}^{1/2} |R(F)-H_d(F)|^2dF \\ & = \int_{-1/2}^{1/2}|\sum_{n=1}^ks[n]cos(2\pi nF)-H_d(F)|^2dF \\ \end{align}</math> 因為絕對值內函數是以時刻變數構成的實函數,所以可將絕對值平方直接寫成兩個實函數部分相乘。 <math>MSE= \int_{-1/2}^{1/2} \left( \sum_{v=0}^ks[v]cos(2\pi vF)-H_d(F) \right)\left( \sum_{\tau=0}^ks[\tau]cos(2\pi \tau F)-H_d(F) \right) dF</math> 將MSN對s{n]做偏微分, <math>\begin{align} \frac{\partial MSE}{\partial s[n]} & =\int_{-1/2}^{1/2}cos(2\pi nF) \Bigl( \sum_{\tau=0}^k s[\tau]cos(2\pi \tau F)-H_d(F)\Bigr) dF \\ & + \int_{-1/2}^{1/2}\Bigl( \sum_{v=0}^k s[v]cos(2\pi vF)-H_d(F)\Bigr)dF \\ \end{align}</math> 將上式第一個等號後面的兩個<math>\Sigma</math>項合併,因為引數起始值和最末項值相同。 <math>\begin{align} \frac{\partial MSE}{\partial s[n]} & = 2\sum_{\tau=0}^ks[\tau]\int_{-1/2}^{1/2}cos(2\pi \tau F)cos(2\pi nF)dF \\ & - 2\int_{-1/2}^{1/2}H_d(F)cos(2\pi nF)dF, \forall n=0,1,2,...k \\ \end{align}</math> 上式等號右邊的兩項中,都各有將[[餘弦|餘弦函數]]從-1/2[[积分|積分]]到1/2,又因為有兩個自變數係數不同的餘弦函數相乘,整個計算結果要分開討論。 ===<math>R(F)</math>與<math>H_d(F)</math>項次=== <math>R(F)</math>與<math>H_d(F)</math>的項次<math>n</math>與<math>\tau</math>相異或相同,因為函數的[[正交|正交性]],會有不同的積分效果。此可由三角函數的[[积化和差|積化合差]]驗證出來。 <math>\int_{-1/2}^{1/2}cos(2\pi \tau F)cos(2\pi nF)dF = \begin{cases} 0, & n\neq\tau \\ 1/2, & n=\tau, n\neq0 \\ 1, & n=\tau, n=0 \end{cases}</math> 故可得: <math>\begin{align} \frac{\partial MSE}{\partial s[0]} & = 2s[0]\times 1-2\int_{-1/2}^{1/2}H_d(F)\times1 dF=0 ,\forall n=0\\ \frac{\partial MSE}{\partial s[n]} & = s[n]-2\int_{-1/2}^{1/2}cos(2\pi nF)H_d(F)dF = 0, \forall n\neq 0 \\ \end{align}</math> MSE 是設計上濾波器響應函數和理想函數之間的誤差,吾人會希望這個誤差越小越好,即是設計的響應要和理想的響應,在所有時刻n上的趨勢一樣。 故使:<math>{\partial MSE \over\partial s[n]} = 0</math> for all n. 可得: <math>\begin{align} s[0]=\int_{-1/2}^{1/2}H_d(F)dF\\ s[n]=2\int_{-1/2}^{1/2}cos(2\pi nF)H_d(F)dF \\ \end{align}</math> 觀察上式,若我們要得到濾波器的最小方均誤差,則要將理想濾波器頻域響應對餘弦函數做多項式[[点积|內積]]。 最後將<math>s[n]</math>的值帶入<math>h[k]</math>: <math>\begin{cases} h[k]=s[0] \\ h[k+n]=s[n]/2, h[k-n]=s[n]/2, & \text{for }n=1,2,3,...,k \\ h[n]=0, \text{ for }n<0 \text{ and } n\geq N. \end{cases}</math> <math>h[n]</math>即為欲設計的濾波器脈衝響應式。 == 結合權重函數 == 在數位濾波器設計中,可以利用權重函數<math>W(F)</math>去設計定頻段更接近理想值。則MSE則表示為: <math>MSE=\int_{-1/2}^{1/2}W(F)|R(F)-H_d(F)|^2dF=\int_{-1/2}^{1/2}W(F) \Bigl( \sum_{-1/2}^{1/2}s[\tau])cos(2\pi \tau F)-H_d(F) \Bigr) dF</math> MSE對s[n]的微分值為零可改寫為: <math>\frac{\partial MSE}{\partial s[n]}=2\int_{-1/2}^{1/2}W(F)cos(2\pi nF)\biggl(\sum_{tau}^k s[\tau]cos(2\pi \tau F)-H_d(F)\biggr)dF</math> <math>=\sum_{\tau =0}^k s[\tau]\int_{-1/2}^{1/2}W(F)cos(2\pi nF)cos(2\pi \tau F)dF-\int_{-1/2}^{1/2}W(F)H_d(F)cos(2\pi nF)df=0, n\in[0,k]</math> <math>\Rightarrow\sum_{\tau =0}^k s[\tau]\int_{-1/2}^{1/2}W(F)cos(2\pi nF)cos(2\pi\tau F)dF=\int_{-1/2}^{1/2}W(F)H_d(F)cos(2\pi nF)dF</math> 可再將上式寫成矩陣式: <math>\begin{bmatrix} A[0,0] & A[0,1] & A[0,2] & ... & A[0,k]\\ A[1,0] & A[1,1] & A[1,2] & ... & A[1,k] \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ A[k,0] & A[k,1] & A[k,2] & \cdots & A[k,k] \end{bmatrix} \begin{bmatrix} s[0] \\ s[1] \\ \vdots \\ s[k] \end{bmatrix} =\begin{bmatrix} B[0] \\ B[1] \\ \vdots \\ B[k] \end{bmatrix}</math> A矩陣每一行表示不同<math>\tau</math>代表的數值,每一列代表不同n代表的數值;s向量與B向量每一列表示不同n代表的數值。 其中:<math>A[n,\tau]=\int_{-1/2}^{1/2}W(F)cos(2\pi nF)cos(2\pi \tau F)dF, B[n]=\int_{-1/2}^{1/2}W(F)H_d(F)cos(2\pi nF)dF</math> 經由此舉陣式可解出帶有權重函數設計的<math>s[n]</math>。 最後將<math>s[n]</math>帶入<math>h[k]</math>: <math>\begin{cases} h[k]=s[0] \\ h[k+n]=s[n]/2, h[k-n]=s[n]/2, & \text{for }n=1,2,3,...,k \\ h[n]=0, \text{ for }n<0 \text{ and } n\geq N. \end{cases}</math> <math>h[k]</math>即是欲設計的濾波器響應。 == 參考文獻 == {{Reflist}}
该页面使用的模板:
Template:Cite web
(
查看源代码
)
Template:Multiple issues
(
查看源代码
)
Template:Reflist
(
查看源代码
)
返回
最小方均誤差 (數位濾波器)
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息