?? micro_test1.m
字號:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Part74設(shè)備(無線麥克風(fēng))檢測 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
close all;
echo on;
connections1=[1 0 1 0 0 ];
connections2=[1 1 1 0 1 ];
gold_seq=PN_1(connections1,connections2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AWGN noise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%555%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
val=0.5;
%for snr=0:val:20
for snr=0:val:20
col=(snr+val)/val; % 數(shù)組長度
Ta(col)=0; % 加權(quán)閾值
Tb(col)=0; % 自適應(yīng)雙閾值
Tc(col)=0; % 自適應(yīng)單閾值
Td(col)=0; % 固定閾值
% 檢測概率
Fa(col)=0; % 加權(quán)閾值
Fb(col)=0; % 自適應(yīng)雙閾值
Fc(col)=0; % 自適應(yīng)單閾值
Fd(col)=0; % 固定閾值
% 漏檢概率
Ea(col)=0; % 加權(quán)閾值
Eb(col)=0; % 自適應(yīng)雙閾值
Ec(col)=0; % 自適應(yīng)單閾值
Ed(col)=0; % 固定閾值
for m=1:1:10 % 仿真次數(shù)
to=0.2; % 接收信號的持續(xù)時間
[R,r] = wireless_microphone(to); % 待感知信號
signal_power = 6225.6; % 信號功率
SIGMA=sqrt(6225.6/10^(0.1*snr));
noise = zeros(1,2048);
MU = zeros(1,2048);
noise = normrnd(MU,SIGMA); % 產(chǎn)生AWGN
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% transmitted signal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 假設(shè)主用戶隨機(jī)占用信道
for j=1:1:8 % 改變偽隨機(jī)序列長度,隨機(jī)改變主用戶的占用情況
for k=1:1:8
if (gold_seq(j,k)==1)
xx(1,(length(r)*(k-1)+1):length(r)*k)=r+noise; % 偽隨機(jī)碼為1,主用戶占用信道;
else
xx(1,(length(r)*(k-1)+1):length(r)*k)=noise; % 偽隨機(jī)碼為0,主用戶未占用信道;只有存在噪聲
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Muti-cycles detection %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nn=noise(1,1:2048);
rr=r(1,1:2048);
S=40; % 循環(huán)周期數(shù)S,可改為 20,40,50
[l_noise,threshold]=estimate(nn,S);
l_noise=abs(l_noise); % 噪聲估計值
[l_signal,threshold]=estimate(rr,S);
l_signal=abs(l_signal); % 信號估計值
for ii=1:8
rr(1,1:2048)= xx(1,(2048*(ii-1)+1):2048*ii); % 每 0.2s 就感知一次信道,進(jìn)行多周期循環(huán)檢測
[ll_signal,threshold]=estimate(rr,S);
ll(ii,m)=abs(ll_signal);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 計算自適應(yīng)閾值 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% `
Pfa=0.3; % 虛警概率可改:0.05,0.1,0.2,0.3
aa=sqrt(2*log10(1./Pfa));
th=l_noise*aa;
adap_thres(m)=th;
%m=m+1;
end
th2=mean(l_noise(1,:));
th3=mean(ll_signal(1,:));
snr_avg=(th3.^2)/(th2.^2);
FT=0.3; % 指數(shù)加權(quán)因子FT可改為 0.1,0.3,0.9,1.2
th4=threshold*(sqrt(snr_avg)/th3).^FT;
K=0.2; % 乘性因子K可改為 0.01,0.03,0.1,0.2
th6(1,:)=K*l_noise(1,:)/aa;
ouyany=5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 判決 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[FA,EA,TA]=decisionv(ll,th4,gold_seq); % 加權(quán)閾值的判決
[FB,EB,TB]=decisionv(ll,th6,gold_seq); % 自適應(yīng)雙閾值的判決
[FC,EC,TC]=decisionv(ll,adap_thres,gold_seq); % 自適應(yīng)單閾值的判決
[FD,ED,TD]=decisionv(ll,threshold,gold_seq); % 固定閾值的判決
ouyany=4
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 統(tǒng)計判決結(jié)果 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 虛警概率
Ta(col)=TA/20*8; % 加權(quán)閾值
Tb(col)=TB/20*8; % 自適應(yīng)雙閾值
Tc(col)=TC/20*8; % 自適應(yīng)單閾值
Td(col)=TD/20*8; % 固定閾值
% 檢測概率
Fa(col)=FA/20*8; % 加權(quán)閾值
Fb(col)=FB/20*8; % 自適應(yīng)雙閾值
Fc(col)=FC/20*8; % 自適應(yīng)單閾值
Fd(col)=FD/20*8; % 固定閾值
% 漏檢概率
Ea(col)=EA/20*8; % 加權(quán)閾值
Eb(col)=EB/20*8; % 自適應(yīng)雙閾值
Ec(col)=EC/20*8; % 自適應(yīng)單閾值
Ed(col)=ED/20*8; % 固定閾值
end
[Fa1]=averge(Fa);
[Fb1]=averge(Fb);
[Fc1]=averge(Fc);
[Fd1]=averge(Fd);
[Ea1]=averge(Ea);
[Eb1]=averge(Eb);
[Ec1]=averge(Ec);
[Ed1]=averge(Ed);
[Ta1]=averge(Ta);
[Tb1]=averge(Tb);
[Tc1]=averge(Tc);
[Td1]=averge(Td);
Fa1=sort(Fa1);
Fb1=sort(Fb1);
Fc1=sort(Fc1);
Fd1=sort(Fd1);
Ta1=sort(Ta1);
Tb1=sort(Tb1);
Tc1=sort(Tc1);
Td1=sort(Td1);
Ea1=sort(Ea1);
Eb1=sort(Eb1);
Ec1=sort(Ec1);
Ed1=sort(Ed1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ed_maximum=max(Ed(:));
for n=1:2:41
tao=log(1-Td(n))/log(Ed(n));
Ni(n)=log((1-Fd(n))/Fd(n))*(tao/((((Ed_maximum*((1-Fd(n))^(-1))-1)^(-1))*(tao))-tao)); % 每種SNR下需要實際頻譜感知的次數(shù)
Nj(n)=round(abs(Ni(n)));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% plot detection picture %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1)
snr=0:1:20;
k=1:2:41;
plot(snr,Fa1(k),'-ro',snr,Fb1(k),'--k*',snr,Fc1(k),'-cd',snr,Fd1(k),'b+-')
legend('(1)自適應(yīng)加權(quán)閾值','(2)自適應(yīng)雙門限閾值','(3)自適應(yīng)單門限閾值','(4)固定閾值')
grid on ;
xlabel('SNR/db')
ylabel('Pd')
title('無線麥克風(fēng)信號正確檢測概率圖');
figure(2)
subplot(2,1,1)
plot(xx);
xlabel('時間[s]');
ylabel('幅度[V]');
title('間隙發(fā)送無線麥克風(fēng)信號');
subplot(2,1,2)
bar(ll);
xlabel('時間[s]');
ylabel('檢測估計值');
title('檢測估計值圖');
figure(3)
snr=0:1:20;
k=1:2:41;
plot(snr,Ta1(k),'-ro',snr,Tb1(k),'--k*',snr,Tc1(k),'-cd',snr,Td1(k),'b+-')
legend('(1)自適應(yīng)加權(quán)閾值','(2)自適應(yīng)雙門限閾值','(3)自適應(yīng)單門限閾值','(4)固定閾值')
grid on ;
xlabel('SNR/db')
ylabel('Pf')
title('無線麥克風(fēng)信號虛警概率圖');
figure(4)
snr=0:1:20;
k=1:2:41;
plot(snr,Ea1(k),'-ro',snr,Eb1(k),'--k*',snr,Ec1(k),'-cd',snr,Ed1(k),'b+-')
legend('(1)自適應(yīng)加權(quán)閾值','(2)自適應(yīng)雙門限閾值','(3)自適應(yīng)單門限閾值','(4)固定閾值')
grid on ;
xlabel('SNR/db')
ylabel('Pm')
title('無線麥克風(fēng)信號漏檢概率圖');
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -