天天看點

認知無線電----能量檢測法原理介紹及MATLAB實作

認知無線電

随着無線通信的快速發展,使用者對通信品質的要求越來越高,同時無線裝置的大幅度增長,使得頻譜資源顯得更加重要。認知無線電(Cognitive Radio, CR)技術被當作解決頻譜資源緊張、提高頻譜使用率的強有力的技術,是下一代通信技術的重要組成成分。頻譜感覺是認知無線電技術實作的關鍵技術,通過頻譜感覺技術來感覺信道中的頻譜空洞,使得認知使用者可以利用頻譜空洞進行資訊的傳輸,進而緩解了頻譜資源緊張與通信業務需求之間的沖突。

這裡簡單介紹頻譜感覺的比較經典的一種方法——能量檢測方法(Energy Detection,ED)。

能量檢測方法原理介紹

信号的檢測問題可以看作是二進制假設問題

x ( t ) = { n ( t )           ,       H 0 s ( t ) + n ( t ) ,      H 1 x\left( t \right)=\left\{ \begin{aligned} & n\left( t \right)\ \ \ \ \ \ \ \ \ ,\ \ \ \ \ {{H}_{0}} \\ & s\left( t \right)+n\left( t \right),\ \ \ \ {{H}_{1}} \\ \end{aligned} \right. x(t)={​n(t)         ,     H0​s(t)+n(t),    H1​​

其中, s ( t ) s\left( t \right) s(t)表示信号, n ( t ) n\left( t \right) n(t)表示噪聲,其方差可以設為 σ 2 {{\sigma }^{2}} σ2, H i {{H}_{i}} Hi​, i = 0 , 1 i=0,1 i=0,1表示不同假設。

在觀測時間 T T T中,計算接收信号的能量與門限 t h th th進行比較,如果大于門限 t h th th的話,則判為 H 1 {{H}_{1}} H1​,即有信号;否則判為 H 0 {{H}_{0}} H0​,即無信号。

在實際中一般采用的數字信号,那麼接收信号可以表示為

x ( i ) = { n ( i )           ,       H 0 s ( i ) + n ( i ) ,       H 1 ,       i = 1 , 2 , ⋯   , N x\left( i \right)=\left\{ \begin{aligned} & n\left( i \right)\ \ \ \ \ \ \ \ \ ,\ \ \ \ \ {{H}_{0}} \\ & s\left( i \right)+n\left( i \right),\ \ \ \ \ {{H}_{1}} \\ \end{aligned} \right.,\ \ \ \ \ i=1,2,\cdots ,N x(i)={​n(i)         ,     H0​s(i)+n(i),     H1​​,     i=1,2,⋯,N

其中, N N N表示的是樣本點數。那麼檢驗統計量 D D D可以表示為

D = ∑ i x 2 ( i ) D=\sum\limits_{i}^{{}}{{{x}^{2}}\left( i \right)} D=i∑​x2(i)

可以證明,該檢驗統計量服從高斯分布,具體為

H 0 : D   ~ N o r m a l ( N σ 2 , 2 N σ 4 ) H 1 : D   ~ N o r m a l ( N ( σ 2 + σ s 2 ) , 2 N ( σ 2 + σ s 2 ) 2 ) \begin{aligned} & {{H}_{0}}:D\tilde{\ }Normal\left( N{{\sigma }^{2}},2N{{\sigma }^{4}} \right) \\ & {{H}_{1}}:D\tilde{\ }Normal\left( N\left( {{\sigma }^{2}}+\sigma _{s}^{2} \right),2N{{\left( {{\sigma }^{2}}+\sigma _{s}^{2} \right)}^{2}} \right) \\ \end{aligned} ​H0​:D ~Normal(Nσ2,2Nσ4)H1​:D ~Normal(N(σ2+σs2​),2N(σ2+σs2​)2)​

其中, σ s 2 \sigma _{s}^{2} σs2​表示信号的平均功率。

對于恒虛警檢測來說,當信号不存在的時候可以通過虛警機率 P f {{P}_{f}} Pf​來确定檢測門限 t h th th,這是由于在 H 0 {{H}_{0}} H0​的假設條件下,檢驗統計量 D D D服從高斯分布,虛警機率

P f = P ( D > t h ∣ H 0 ) {{P}_{f}}=P\left( D>th|{{H}_{0}} \right) Pf​=P(D>th∣H0​)

那麼可以得到

P f = Q ( t h − N σ 2 2 N σ 4 ) {{P}_{f}}=Q\left( \frac{th-N{{\sigma }^{2}}}{\sqrt{2N{{\sigma }^{4}}}} \right) Pf​=Q(2Nσ4

​th−Nσ2​)

其中, Q ( x ) = 1 2 π ∫ x + ∞ e − t 2 / 2 d t Q\left( x \right)=\frac{1}{\sqrt{2\pi }}\int_{x}^{+\infty }{{{e}^{-{{t}^{2}}/2}}dt} Q(x)=2π

​1​∫x+∞​e−t2/2dt

那麼檢測門限 t h th th可以通過上式進行計算

t h = σ 2 ( N + 2 N Q − 1 ( P f ) ) th={{\sigma }^{2}}\left( N+\sqrt{2N}{{Q}^{-1}}\left( {{P}_{f}} \right) \right) th=σ2(N+2N

​Q−1(Pf​))

同樣,在 H 1 {{H}_{1}} H1​的假設條件下,可以利用歸一化的方法得到,檢驗統計量 D D D也服從高斯分布,那麼檢測機率可以表示為

P d = P ( D > t h ∣ H 1 ) = Q ( t h − N ( σ 2 + σ s 2 ) 2 N ( σ 2 + σ s 2 ) 2 ) {{P}_{d}}=P\left( D>th|{{H}_{1}} \right)=Q\left( \frac{th-N\left( {{\sigma }^{2}}+\sigma _{s}^{2} \right)}{\sqrt{2N{{\left( {{\sigma }^{2}}+\sigma _{s}^{2} \right)}^{2}}}} \right) Pd​=P(D>th∣H1​)=Q⎝⎛​2N(σ2+σs2​)2

​th−N(σ2+σs2​)​⎠⎞​

将門限 t h th th帶入,可以求的系統的檢測機率。

當然能量也可以使用歸一化的能量進行判決。此外,還有采用多個門限進行判決,提高檢測機率,這裡就不再叙述。

下面根據恒虛警檢測的原理,通過仿真虛警機率 P f {{P}_{f}} Pf​和檢測機率 P d {{P}_{d}} Pd​之間的關系.

認知無線電----能量檢測法原理介紹及MATLAB實作

從圖中可以看出,随着信噪比的增加,相同虛警機率的條件下,檢測機率越大,這也是和實際相符合的,即信道條件越好越容易檢測出信号。

代碼如下:

clear;
close all;
clc;
T = 50;
Fs = 100;
N =Fs*T; %采樣點數
Mc = 1000; %蒙特卡洛實驗次數
Pf =(0.01:0.02:1).^2; %虛警機率
SNR_db(1) = -25;
SNR_db(2) = -20;
SNR_db(3) = -15;
for i = 1:3
    SNR(i) = power(10,SNR_db(i)/10);
end

for i=1:length(Pf)
    for m=1:3
        s_awgn = 0;
        for kk = 1:Mc
            t = ((kk-1)*N+1:kk*N)/Fs;              %時間軸
            x = randi([0 1],1,100)*2-1;
            xx = rectpulse(x,N/100);
            x = xx.*sin(2*pi*10*t);
            ps = sum(abs(x).^2)/length(x);
            noise = randn(1,N);
            noise = noise-mean(noise);
            noise_awgn = sqrt(ps/SNR(m))*noise/std(noise);
            
            %高斯信道
            re_sig = x + noise_awgn; %接收信号
            
            th(i) = ps/SNR(m)*(N+sqrt(2*N)*sqrt(2)*erfcinv(2*Pf(i))); %門限值
            power(i) = sum(re_sig.^2); %接收信号能量
            
            if power(i) > th(i)
                s_awgn = s_awgn + 1; %進行判決
            end
        end
        Pd_sim_awgn(m,i) = s_awgn/Mc;   %仿真高斯檢測機率
    end
end
figure
hold on;
plot(Pf,Pd_sim_awgn(1,:),'*-b',Pf,Pd_sim_awgn(2,:),'*-r',Pf,Pd_sim_awgn(3,:),'*-g');
grid on
legend('SNR=-20dB','SNR=-15dB', 'SNR=-10dB');
title ('不同信噪比的檢測對比')
xlabel('Pf');
ylabel('Pd');
           

參考文獻

[1]H. Urkowitz, “Energy detection of unknown deterministic signals,” in Proceedings of the IEEE, vol. 55, no. 4, pp. 523-531, April 1967, doi: 10.1109/PROC.1967.5573.

[2]潘建國,翟旭平.基于能量檢測的頻譜感覺方法[J].上海大學學報(自然科學版),2009,15(01):54-59.