概述
自適應濾波理論在統(tǒng)計信號處理中占據(jù)非常重要的地位,在通信、控制、雷達等領域獲得廣泛應用。自適應濾波器的基本目標,是通過某種方式對參數(shù)θ(k)進行調(diào)整,使濾波器輸出盡可能使得包含參考信號的某個特定目標函數(shù)達到最小化。
在實時信號處理中,我們希望濾波器在實現(xiàn)濾波、平滑或預測等任務中,能夠跟蹤和適應系統(tǒng)或環(huán)境的動態(tài)變化,這需要濾波器的參數(shù)可以隨時間做簡單的變化或更新,因為復雜的運算不符合實施快速處理的要求。
【自適應濾波算法】系列將介紹常用的匹配濾波器、維納濾波器、Kalman濾波、LMS算法和RLS算法。參考書籍推薦《現(xiàn)代信號處理》和《自適應濾波算法與實現(xiàn)》。
我們從最基礎的匹配濾波器開始。
1. 匹配濾波器的概念
在濾波器設計中,遵循兩種最優(yōu)設計準則:
使濾波器的輸出達到最大的信噪比,稱為匹配濾波器;
使輸出濾波器的均方估計誤差為最小,稱為Wiener濾波器。
考慮接收信號模型:

線性連續(xù)時間濾波器
從接收機的角度看,接收信號y(t)是已知發(fā)送信號s(t)經(jīng)過信道傳播后得到,n(t)為信道傳播過程中引入的零均值平穩(wěn)噪聲。在實際系統(tǒng)中,我們希望進入基帶的接收信號yo(t)信號質(zhì)量盡可能好,于是通過設計濾波器的沖擊響應函數(shù)h(t),使得濾波器輸出的信噪比最大。
根據(jù)信號與系統(tǒng)的知識,我們可以得到濾波器的輸出可以表示為:
濾波器在t=To時刻的輸出信噪比定義為:
根據(jù)Parseval定理:
則輸出信號可以寫作:
于是輸出信號在t=To的瞬時功率:
輸出噪聲的平均功率:
令Pn(w)是加性噪聲n(t)的功率譜密度,則輸出噪聲的功率譜密度為:
于是,輸出噪聲的平均功率可以寫成:
因此,得到信噪比:
再應用柯西-施瓦茨不等式:
得到:
將上式中等號成立時的濾波器傳遞函數(shù)記作Hopt(w),并利用柯西-施瓦茨不等式取等號的條件,則有:
于是,我們可以得到輸出最大信噪比為:
在白噪聲情況下,其功率譜密度Pn(w)=1,故濾波器傳遞函數(shù)可以簡化為:
因此有|Ho(w)|=|S*(w)=|S(w)|,當濾波器達到最大輸出信噪比時,濾波器的幅頻特性|H(w)|與信號s(t)的幅頻特性|S(w)|相等。
通過對上式兩邊做IFFT,得到:
即:匹配濾波器的沖激響應ho(t)是信號s(t)的一鏡像信號。
2. 匹配濾波器的性質(zhì)
匹配濾波器在很多工程問題中有重要應用,其性質(zhì)概括如下:
性質(zhì)1:在所有線性濾波器中,匹配濾波器輸出的信噪比最大,且SNRmax=2Es/(No),與輸入信號的波形以及加性噪聲的分布特性無關。
性質(zhì)2:匹配濾波器輸出信號在t=To時刻的瞬時功率達到最大。
性質(zhì)3:匹配濾波器輸出信噪比達到最大的時刻To,應該選取等于原信號的持續(xù)時間T。
性質(zhì)4:匹配濾波器對波形相同而幅值不同的時延信號具有適應性。
性質(zhì)5:匹配濾波器對頻移信號不具有適應性。
局限性:在匹配濾波器中,接收機必須已知并存儲信號的精確結構或功率譜,并且積分區(qū)間必須與信號取非零值的區(qū)間同步,但顯然在實際系統(tǒng)中,原信號在傳輸過程中發(fā)生傳播延遲,并伴隨相偏和頻偏,信號區(qū)間和積分區(qū)間無法精確同步而造成誤差,匹配濾波難以實現(xiàn)。
3. 匹配濾波器示例
MATLAB示例: 在原點放置一個各向同性天線元件(0;0;0)。然后,在距離發(fā)射機約7公里處放置一個RCS(雷達截面積)為1平方米、不動的目標,位置為(5000;5000;10)。將工作(載波)頻率設置為10 GHz。模擬單基地雷達的發(fā)送和接收,計算發(fā)射機到目標的距離和角度。
產(chǎn)生一個時長25us、脈沖頻率為10 kHz的矩形脈沖波形。利用雷達方程確定探測目標所需的峰值功率。該目標在發(fā)射機工作頻率和增益的最大不模糊距離下,RCS為1平方米。信噪比基于非相干檢測期望的誤檢率10-6。
在接收端收集回波,并通過匹配濾波器提升信噪比。
matlab示例代碼:
```
antenna = phased.IsotropicAntennaElement('FrequencyRange',[5e9 15e9]);
transmitter = phased.Transmitter('Gain',20,'InUseOutputPort',true);
fc = 10e9;
target = phased.RadarTarget('Model','Nonfluctuating',...
'MeanRCS',1,'OperatingFrequency',fc);
txloc = [0;0;0];
tgtloc = [5000;5000;10];
transmitterplatform = phased.Platform('InitialPosition',txloc);
targetplatform = phased.Platform('InitialPosition',tgtloc);
[tgtrng,tgtang] = rangeangle(targetplatform.InitialPosition,...
transmitterplatform.InitialPosition);
waveform = phased.RectangularWaveform('PulseWidth',25e-6,...
'OutputFormat','Pulses','PRF',10e3,'NumPulses',1);
c = physconst('LightSpeed');
maxrange = c/(2*waveform.PRF);
SNR = npwgnthresh(1e-6,1,'noncoherent');
lambda = physconst('LightSpeed')/target.OperatingFrequency;
Ts = 290;
dbterms = db2pow(SNR - 2*transmitter.Gain);
Pt = (4*pi)^3*physconst('Boltzmann')*Ts/waveform.PulseWidth/target.MeanRCS/(lambda^2)*maxrange^4*dbterms;
transmitter.PeakPower = Pt;
radiator = phased.Radiator('PropagationSpeed',c,...
'OperatingFrequency',fc,'Sensor',antenna);
channel = phased.FreeSpace('PropagationSpeed',c,...
'OperatingFrequency',fc,'TwoWayPropagation',false);
collector = phased.Collector('PropagationSpeed',c,...
'OperatingFrequency',fc,'Sensor',antenna);
receiver = phased.ReceiverPreamp('NoiseFigure',0,...
'EnableInputPort',true,'SeedSource','Property','Seed',2e3);
mfilter = phased.MatchedFilter(...
'Coefficients',getMatchedFilter(waveform),...
'GainOutputPort',true);
wf = waveform();
[wf,txstatus] = transmitter(wf);
wf = radiator(wf,tgtang);
wf = channel(wf,txloc,tgtloc,[0;0;0],[0;0;0]);
wf = target(wf);
wf = channel(wf,tgtloc,txloc,[0;0;0],[0;0;0]);
wf = collector(wf,tgtang);
rx_puls = receiver(wf,~txstatus);
[mf_puls,mfgain] = mfilter(rx_puls);
Gd = length(mfilter.Coefficients)-1;
mf_puls=[mf_puls(Gd+1:end); mf_puls(1:Gd)];
subplot(2,1,1)
t = unigrid(0,1e-6,1e-4,'[)');
rangegates = c.*t;
rangegates = rangegates/2;
plot(rangegates,abs(rx_puls))
title('Received Pulse')
ylabel('Amplitude')
hold on
plot([tgtrng, tgtrng], [0 max(abs(rx_puls))],'r')
subplot(2,1,2)
plot(rangegates,abs(mf_puls))
title('With Matched Filtering')
xlabel('Meters')
ylabel('Amplitude')
hold on
plot([tgtrng, tgtrng], [0 max(abs(mf_puls))],'r')
hold off
```

接收脈沖匹配濾波
-
濾波器
+關注
關注
162文章
8392瀏覽量
185238 -
模型
+關注
關注
1文章
3687瀏覽量
51944 -
濾波算法
+關注
關注
2文章
95瀏覽量
14302
原文標題:自適應濾波算法(一):匹配濾波器
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于AccelDSP的自適應濾波器設計
基于粒子群算法的自適應LMS濾波器設計及可重構硬件實現(xiàn)
用FPGA實現(xiàn)數(shù)字匹配濾波器的優(yōu)化方法
擴頻通信中匹配濾波器的FPGA設計
改進的LMS算法自適應濾波器的DSP實現(xiàn)
怎么理解匹配濾波器
自適應濾波器的作用、原理以及相關應用
LMS自適應濾波器的算法原理和應該如何實現(xiàn)
WCDMA系統(tǒng)中匹配濾波器的FPGA實現(xiàn)
自適應濾波算法介紹之匹配濾波器的基本原理和應用示例
評論