Could someone please provide me a demo code for cognitive radio network?

3 Ansichten (letzte 30 Tage)
Md Sharif
Md Sharif am 14 Nov. 2014
Kommentiert: Mayank Singhal am 20 Okt. 2015
I need a demo code about how to implement/formulate cognitive radio network in matlab. I have basic knowledge on matlab but dont know how to define different parameters of cognitive radio network in matlab like primary user, secondary user, gain, path-loss, spectrum band, transmitter-receiver parameters etc.

Antworten (1)

MA
MA am 14 Nov. 2014
clc;
close all;
clear all;
%This program is for optimization of spectrum sensing in
%Cognitive radio network.
N=20;
j=1;
tt=[];
err2=[];
Pmi=[];
Pdc=[];
error=[];
err1=[];
K=10;
snr=10;
Qd=0;
Qf=0;
tt=10:0.5:60;
vec=['-+','-o','-v','-d','->','-x','-s','-<','-*','-^'];
for n=1:1:10
s=ones(1,N);
w=randn(1,N);
u=N/2; %Time-delay bandwidth product
for t=10:0.5:60
Qd=0;
Qf=0;
SNR=10^(snr/10); %for linear scale
a=sqrt(2*SNR);
b=sqrt(t);
Pd = marcumq(a,b,u ); % AVG. PROB OF DETECTION(computes the generalized Marcum Q)
Pf = gammainc((t/2),u,'upper');% AVG. PROB OF FALSE ALARM(compute incompelete gamma function)
Pm=1-Pd; %AVG. PROB OF MISSED DETECTION OVER AWGN
for l=n:1:K
Qd=Qd+(factorial(K)*(Pd^l)*((1-Pd)^(K-l))/(factorial(l)*factorial(K-l)));
Qf=Qf+(factorial(K)*(Pf^l)*((1-Pf)^(K-l))/(factorial(l)*factorial(K-l)));
end
Qm=1-Qd;
err=Qf+Qm;
err1=[err1 err];
end
end
l=1;
i=1;
for j=1:1:10
semilogy(tt,err1(i:i+100),vec(l:l+1),'LineWidth',1.5)
i=i+101;
l=l+2;
hold on;
end
grid on;
ylabel('Total Error rate');
xlabel('Threshold');
%----------------------Energy Detection----------------------------------------
n=5;
rel=10000;
tt1=10:0.5:60;
er1=[];
for t=10:0.5:60
Pdc=0;
Pfc=0;
Qd=0;
Qf=0;
Qm=0;
for i=1:1:rel
SNR=10;
snr=10^(SNR/10);
s=ones(1,N);
w=randn(1,N);
vari=var(w); %variance of noise
Es=sum(s.^2);
N02=(Es)/(2*snr);
x1=s+w;
x2=w;
W=1; %Time-delay bandwidth product
E0=(sum(x2.^2))/((W*N02));
E1=(sum(x1.^2))/((W*N02));
if E1>t
Pdc=Pdc+1;
else
end
if E0>t
Pfc=Pfc+1;
else
end
end
Pd=Pdc/rel;
Pf=Pfc/rel;
for l=n:1:K
Qd=Qd+(factorial(K)*(Pd^l)*((1-Pd)^(K-l))/(factorial(l)*factorial(K-l)));
Qf=Qf+(factorial(K)*(Pf^l)*((1-Pf)^(K-l))/(factorial(l)*factorial(K-l)));
end
Qm=1-Qd;
er=Qf+Qm;
er1=[er1 er];
end
hold on;
semilogy(tt1,er1,'*r')
grid on;
ylabel('Total Error rate');
xlabel('Threshold');
legend('n=1','n=2','n=3','n=4','n=5','n=6','n=7','n=8','n=9','n=10','n=5 by modelling');

Kategorien

Mehr zu Signal Reception and Recovery finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by