(新)混沌通信中QCSK调制matlab代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
clear all;
x=randsrc(20,1,[0:1]); %产生二进制随机码stairs(x);
axis([0,20,-0.1,1.1]);
title('二进制随机序列');
clc
clear
close all
% q=99;
%k=[1:99];
%x(k)=sin(k*pi/q);
x(1)=0.212345;
for k = 1:99;
x(k+1) =4 * x(k) * (1 - x(k));
end
plot(x);
legend('混沌信号x');
grid on;%加网格
clc
clear
close all
% q=99;
%k=[1:99];
%x(k)=sin(k*pi/q);
x(1)=0.212345;
for k=1:99;
x(k+1)=4*x(k)*(1-x(k)); end
y=hilbert(x);
figure(1)
plot(imag(y));
legend('希尔伯特变换y'); grid on
clc
clear
close all
% q=99;
%k=[1:99];
%x(k)=sin(k*pi/q);
x(1)=0.212345;%x的初植
for k=1:99;
x(k+1)=4*x(k)*(1-x(k)); end
y=hilbert(x);%x的希尔伯特变换figure(1)
plot(imag(y));
grid on
legend('加密后的信号ms');
clc
clear
close all
% q=99;
%k=[1:99];
%x(k)=sin(k*pi/q);
x(1)=0.212345;
for k=1:99;
x(k+1)=4*x(k)*(1-x(k));
end
y=hilbert(x);%希尔伯特变换
figure(1)
plot(imag(y));
grid on
legend('加密后的信号ms');
y2=AWGN(imag(y),0.8,1);%imag(y)为已调信号,0.8为信噪比,1为信号功率figure(2)
plot(y2);
grid on
legend('加噪声后的调制信号y2');
bs=1;
Eb=1;
Zb=bs.*Eb;%解调出的信号stem(Zb,'r');
title('解调出的信号Zb')
clc;
x=0:18;%信噪比的取植范围
xSNR=10.^(x/20);%化成dB形式
for i=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的图
for i=1:length(x)
hold on;
plot(x(i),y1(i),'g*')
end
gtext('QCSK,K=2');%在光标的位置放置给定的文字
for i=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的图
for i=1:length(x)
hold on;
plot(x(i),y2(i),'r.')
end
gtext('QCSK,K=16');
for i=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的图
for i=1:length(x)
hold on;
plot(x(i),y3(i),'b+')
end
gtext('QCSK,K=64');
grid on
xlabel('Eb/No[dB]');
ylabel('BER');
title('QCSK的系统误码率');
clc;
x=0:18;%信噪比的取植范围
xSNR=10.^(x/20);%化成dB形式
for i=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);
for i=1:length(x)
plot(x(i),y1(i),'g*')
end
for i=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);
for i=1:length(x)
hold on;
plot(x(i),y2(i),'r.')
end
gtext('绿色的*表示QCSK K=2;红色的.表示DCSK K=2');
grid on
xlabel('Eb/No[dB]');
ylabel('BER');
title('K=2的系统误码率');
clc;
x=0:18;%信噪比的取植范围
xSNR=10.^(x/20);%化成dB形式
for i=1:length(x);