混沌通信中QCSK调制matlab代码.docx
《混沌通信中QCSK调制matlab代码.docx》由会员分享,可在线阅读,更多相关《混沌通信中QCSK调制matlab代码.docx(12页珍藏版)》请在冰豆网上搜索。
混沌通信中QCSK调制matlab代码
混沌通信中QCSK调制matlab代码
clearall;
x=randsrc(20,1,[0:
1]);%产生二进制随机码
stairs(x);
axis([0,20,-0.1,1.1]);
title('二进制随机序列');
clc
clear
closeall
%q=99;
%k=[1:
99];
%x(k)=sin(k*pi/q);
x
(1)=0.212345;
fork=1:
99;
x(k+1)=4*x(k)*(1-x(k));
end
plot(x);
legend('混沌信号x');
gridon;%加网格
clc
clear
closeall
%q=99;
%k=[1:
99];
%x(k)=sin(k*pi/q);
x
(1)=0.212345;
fork=1:
99;
x(k+1)=4*x(k)*(1-x(k));
end
y=hilbert(x);
figure
(1)
plot(imag(y));
legend('希尔伯特变换y');
gridon
clc
clear
closeall
%q=99;
%k=[1:
99];
%x(k)=sin(k*pi/q);
x
(1)=0.212345;%x的初植
fork=1:
99;
x(k+1)=4*x(k)*(1-x(k));
end
y=hilbert(x);%x的希尔伯特变换
figure
(1)
plot(imag(y));
gridon
legend('加密后的信号ms');
clc
clear
closeall
%q=99;
%k=[1:
99];
%x(k)=sin(k*pi/q);
x
(1)=0.212345;
fork=1:
99;
x(k+1)=4*x(k)*(1-x(k));
end
y=hilbert(x);%希尔伯特变换
figure
(1)
plot(imag(y));
gridon
legend('加密后的信号ms');
y2=AWGN(imag(y),0.8,1);%imag(y)为已调信号,0.8为信噪比,1为信号功率
figure
(2)
plot(y2);
gridon
legend('加噪声后的调制信号y2');
bs=1;
Eb=1;
Zb=bs.*Eb;%解调出的信号
stem(Zb,'r');
title('解调出的信号Zb')
clc;
x=0:
18;%信噪比的取植范围
xSNR=10.^(x/20);%化成dB形式
fori=1:
length(x);
k=2;
y1(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+k*((1/xSNR(i))^2))));%求k=2的系统理论的误码率
end
semilogy(x,y1);%绘出x和y1的图
fori=1:
length(x)
holdon;
plot(x(i),y1(i),'g*')
end
gtext('QCSK,K=2');%在光标的位置放置给定的文字
fori=1:
length(x);
k=16;
y2(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+k*((1/xSNR(i))^2))));%求k=16的系统理论的误码率
end
semilogy(x,y2);%绘出x和y2的图
fori=1:
length(x)
holdon;
plot(x(i),y2(i),'r.')
end
gtext('QCSK,K=16');
fori=1:
length(x);
k=64;
y3(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+k*((1/xSNR(i))^2))));%求k=64的系统理论的误码率
end
semilogy(x,y3);%绘出x和y3的图
fori=1:
length(x)
holdon;
plot(x(i),y3(i),'b+')
end
gtext('QCSK,K=64');
gridon
xlabel('Eb/No[dB]');
ylabel('BER');
title('QCSK的系统误码率');
clc;
x=0:
18;%信噪比的取植范围
xSNR=10.^(x/20);%化成dB形式
fori=1:
length(x);
k=2;
y1(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+k*((1/xSNR(i))^2))));%求QCSK,k=2的系统理论的误码率
end
semilogy(x,y1);
fori=1:
length(x)
holdon;
plot(x(i),y1(i),'g*')
end
fori=1:
length(x);
k=2;
y2(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+2*k*((1/xSNR(i))^2))));%求DCSK,k=2的系统理论的误码率
end
semilogy(x,y2);
fori=1:
length(x)
holdon;
plot(x(i),y2(i),'r.')
end
gtext('绿色的*表示QCSKK=2;红色的.表示DCSKK=2');
gridon
xlabel('Eb/No[dB]');
ylabel('BER');
title('K=2的系统误码率');
clc;
x=0:
18;%信噪比的取植范围
xSNR=10.^(x/20);%化成dB形式
fori=1:
length(x);
k=16;
y1(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+k*((1/xSNR(i))^2))));%求QCSK,k=16的系统理论的误码率
end
semilogy(x,y1);
fori=1:
length(x)
holdon;
plot(x(i),y1(i),'g*')
end
gtext('QCSK,K=16');
fori=1:
length(x);
k=16;
y2(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+2*k*((1/xSNR(i))^2))));%求DCSK,k=16的系统理论的误码率
end
semilogy(x,y2);
fori=1:
length(x)
holdon;
plot(x(i),y2(i),'r.')
end
gtext('DCSK,K=16');
gridon
xlabel('Eb/No[dB]');
ylabel('BER');
title('K=16时的系统误码率');
clc;
x=0:
18;%信噪比的取植范围
xSNR=10.^(x/20);%化成dB形式
fori=1:
length(x);
k=64;
y1(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+k*((1/xSNR(i))^2))));%求QCSK,k=64的系统理论的误码率
end
semilogy(x,y1);
fori=1:
length(x)
holdon;
plot(x(i),y1(i),'g*')
end
gtext('QCSKK=64');
fori=1:
length(x);
k=64;
y2(i)=1/2*erfc(1/(sqrt(4*1/xSNR(i)+2*k*((1/xSNR(i))^2))));%求DCSK,k=64的系统理论的误码率
end
semilogy(x,y2);
fori=1:
length(x)
holdon;
plot(x(i),y2(i),'r.')
end
gtext('DCSKK=64');
gridon
xlabel('Eb/No[dB]');
ylabel('BER');
title('K=64的系统误码率');