天天看點

【能量檢測】基于認知無線電的能量檢測算法的matlab仿真

1.軟體版本

matlab2021a

2.本算法理論知識

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

3.部分核心代碼

clc;
clear;
close all;

%選擇信道模型
sel = 1;%1:高斯信道;0:萊斯信道
SNR = 10;%信噪比
%生成bpsk調制信号
fs=100;
%采樣頻率
fc=30;
%載頻
fo=fs/20;
%碼率
L=4000;
%信号樣本
t = (0:L-1)*1/fs;
xn=cos(8*pi*fc*t);%産生最為簡單的BPSK信号      
if sel == 1
y = AWGN(xn,SNR);%高斯信道
else
c = rayleighchan(1/fs,0.001);%rayleigh信道
y = filter(c,xn);  
end
% chan = rayleighchan(Ts,fd,tau,pdb)
% Ts  :采樣時間,如果考慮基帶信号,這個和接收機要處理的資料速率是一樣的,要考慮過采樣的影響
% fd  :就是Doppler頻偏,以Hz為機關,與速率的換算關系為v×fc/c,fc是載頻
figure(1)
subplot(121);plot(t,y);title('産生的BPSK信号');
%進行能量檢測
NFFT = 2^nextpow2(L);
Y = fft(y,NFFT)/L;%第一步,進行FFT變換
f = fs/2*linspace(0,1,NFFT/2);
subplot(122);plot(f,2*abs(Y(1:NFFT/2)),'r-*');title('能量檢測效果');
%計算能量
Po = sum(abs(Y).^2);
%進行判決,分為data fusion 和 decision fusion兩種方法
%本部分是檢測算法的


      

4.仿真結論

5.參考文獻