clear
clc
fc=1.0e7;
fs=6e7;
fd=2.5e6;
Ac=1;
f1=5.5e6;
f2=8.5e6;
f3=11.5e6;
f4=14.5e6;
deltaF = 1.5e6;
min = -2;
max = 16;
delta = 1;
nSymb = 1000;
nLoop = 50;
saveC20 = zeros(length(min:delta:max),8);
saveC21 = zeros(length(min:delta:max),8);
saveC40 = zeros(length(min:delta:max),8);
saveC41 = zeros(length(min:delta:max),8);
saveC42 = zeros(length(min:delta:max),8);
saveC60 = zeros(length(min:delta:max),8);
iSNR = 0;
for i=min:delta:max
iSNR = iSNR+1;
disp(i)
for k=1:nLoop
d2 = randi([0 2],1,nSymb);
d4 = randi([0 4],1,nSymb);
s1 = ask2(d2,fd,fc,fs,Ac);
s2 = ask4(d4,fd,fc,fs,Ac);
s3 = fsk2(d2,fd,f2,f3,fs,Ac);
s4 = fsk4(d4,fd,f1,f2,f3,f4,fs,Ac);
s5 = psk2(d2,fd,fc,fs,Ac);
s6 = psk4(d4,fd,fc,fs,Ac);
ss1 = awgn(s1,i,'measured');
ss2 = awgn(s2,i,'measured');
ss3 = awgn(s3,i,'measured');
ss4 = awgn(s4,i,'measured');
ss5 = awgn(s5,i,'measured');
ss6 = awgn(s6,i,'measured');
sigLocal = sig_gen(nSymb,fd,fc,fs);
hh1 = ss1.*sigLocal; % 2ASK
hh2 = ss2.*sigLocal; % 4ASK
hh3 = ss3.*sigLocal; % 2FSK
hhh3 = hh3.*sig_gen(nSymb,fd,deltaF,fs);
hh4 = ss4.*sigLocal; % 4FSK
hhh4 = hh4.*sig_gen(nSymb,fd,deltaF,fs);
hh5 = ss5.*sigLocal; % 2PSK
hh6 = ss6.*sigLocal; % 4PSK
m20 = [mean(hh1.*hh1) mean(hh2.*hh2) mean(hh3.*hh3) mean(hh4.*hh4) mean(hh5.*hh5) mean(hh6.*hh6) ...
mean(hhh3.*hhh3) mean(hhh4.*hhh4)];
m21 = [mean(hh1.*conj(hh1)) mean(hh2.*conj(hh2)) mean(hh3.*conj(hh3)) mean(hh4.*conj(hh4)) mean(hh5.*conj(hh5)) mean(hh6.*conj(hh6))...
mean(hhh3.*conj(hhh3)) mean(hhh4.*conj(hhh4))];
m40 = [mean(hh1.*hh1.*hh1.*hh1) mean(hh2.*hh2.*hh2.*hh2) mean(hh3.*hh3.*hh3.*hh3)...
mean(hh4.*hh4.*hh4.*hh4) mean(hh5.*hh5.*hh5.*hh5) mean(hh6.*hh6.*hh6.*hh6) ...
mean(hhh3.*hhh3.*hhh3.*hhh3) mean(hhh4.*hhh4.*hhh4.*hhh4)];
m41 = [mean(hh1.*hh1.*hh1.*conj(hh1)) mean(hh2.*hh2.*hh2.*conj(hh2)) mean(hh3.*hh3.*hh3.*conj(hh3))...
mean(hh4.*hh4.*hh4.*conj(hh4)) mean(hh5.*hh5.*hh5.*conj(hh5)) mean(hh6.*hh6.*hh6.*conj(hh6)) ...
mean(hhh3.*hhh3.*hhh3.*conj(hhh3)) mean(hhh4.*hhh4.*hhh4.*conj(hhh4))];
m42 = [mean(hh1.*hh1.*conj(hh1).*conj(hh1)) mean(hh2.*hh2.*conj(hh2).*conj(hh2)) mean(hh3.*hh3.*conj(hh3).*conj(hh3))...
mean(hh4.*hh4.*conj(hh4).*conj(hh4)) mean(hh5.*hh5.*conj(hh5).*conj(hh5)) mean(hh6.*hh6.*conj(hh6).*conj(hh6)) ...
mean(hhh3.*hhh3.*conj(hhh3).*conj(hhh3)) mean(hhh4.*hhh4.*conj(hhh4).*conj(hhh4))];
m60 = [mean(hh1.*hh1.*hh1.*hh1.*hh1.*hh1) mean(hh2.*hh2.*hh2.*hh2.*hh2.*hh2) mean(hh3.*hh3.*hh3.*hh3.*hh3.*hh3)...
mean(hh4.*hh4.*hh4.*hh4.*hh4.*hh4) mean(hh5.*hh5.*hh5.*hh5.*hh5.*hh5) mean(hh6.*hh6.*hh6.*hh6.*hh6.*hh6) ...
mean(hhh3.*hh3.*hhh3.*hhh3.*hhh3.*hhh3) mean(hhh4.*hhh4.*hhh4.*hhh4.*hhh4.*hhh4)];
c20 = m20;
c21 = m21;
c40 = m40-3*m20.^2;
c41 = m41-3*m21.*m20;
c42 = m42-abs(m20).^2-2*m21.^2;
c60 = m60-15.*m40.*m20+30.*m20.^3;
saveC20(iSNR,:) = saveC20(iSNR,:)+c20;
saveC21(iSNR,:) = saveC21(iSNR,:)+c21;
saveC40(iSNR,:) = saveC40(iSNR,:)+c40;
saveC41(iSNR,:) = saveC41(iSNR,:)+c41;
saveC42(iSNR,:) = saveC42(iSNR,:)+c42;
saveC60(iSNR,:) = saveC60(iSNR,:)+c60;
end
saveC20(iSNR,:) = saveC20(iSNR,:)/nLoop;
saveC21(iSNR,:) = saveC21(iSNR,:)/nLoop;
saveC40(iSNR,:) = saveC40(iSNR,:)/nLoop;
saveC41(iSNR,:) = saveC41(iSNR,:)/nLoop;
saveC42(iSNR,:) = saveC42(iSNR,:)/nLoop;
saveC60(iSNR,:) = saveC60(iSNR,:)/nLoop;
end
figure
% |C42| {2ask 4ask 4psk 2fsk 4fsk } {2psk}
plot(min:delta:max,abs(saveC42(:,1)),'-b^',...
min:delta:max,abs(saveC42(:,2)),'-b*',...
min:delta:max,abs(saveC42(:,3)),'-bo',...
min:delta:max,abs(saveC42(:,4)),'-bp',...
min:delta:max,abs(saveC42(:,5)),'-bd',...
min:delta:max,abs(saveC42(:,6)),'-b>'),grid on
xlabel('SNR(dB)')
ylabel('C42')
legend('2ASK','4ASK','2FSK','4FSK','2PSK','4PSK');
figure
% |C40|/|C42|{2ask 4ask 4psk} {2fsk 4fsk}
plot(min:delta:max,abs(saveC40(:,1))./abs(saveC42(:,1)),'-b^',...
min:delta:max,abs(saveC40(:,2))./abs(saveC42(:,2)),'-b*',...
min:delta:max,abs(saveC40(:,3))./abs(saveC42(:,3)),'-bo',...
min:delta:max,abs(saveC40(:,4))./abs(saveC42(:,4)),'-bd',...
min:delta:max,abs(saveC40(:,6))./abs(saveC42(:,6)),'-b>'),grid on
xlabel('SNR(dB)')
ylabel('fx1')
legend('2ASK','4ASK','2FSK','4FSK','4PSK');
figure
% |C41|/|C42| {2ask 4ask} {4psk}
plot(min:delta:max,abs(saveC41(:,1))./abs(saveC42(:,1)),'-b^',...
min:delta:max,abs(saveC41(:,2))./abs(saveC42(:,2)),'-bd',...
min:delta:max,abs(saveC41(:,6))./abs(saveC42(:,6)),'-b*'),grid on
xlabel('SNR(dB)')
ylabel('fx2')
legend('2ASK','4ASK','4PSK');
figure
% |C40|/|C42|
plot(min:delta:max,abs(saveC40(:,7))./abs(saveC42(:,7)),'-b^',...
min:delta:max,abs(saveC40(:,8))./abs(saveC42(:,8)),'-b*'),grid on
xlabel('SNR(dB)')
ylabel('fx3')
legend('2FSK','4FSK');
save 1
没有合适的资源?快使用搜索试试~ 我知道了~
高阶累积量实现的调制系统识别仿真含门限和识别率附matlab代码
共32个文件
m:26个
png:4个
mat:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 133 浏览量
2022-06-25
14:22:34
上传
评论 1
收藏 5.24MB ZIP 举报
温馨提示
1.版本:matlab2019a,不会运行可私信 2.领域:【雷达图像】 3.内容:基于高阶累积量实现的调制系统识别仿真含门限和识别率附matlab代码 4.适合人群:本科,硕士等教研学习使用
资源推荐
资源详情
资源评论
收起资源包目录
【雷达图像】基于高阶累积量实现的调制系统识别仿真含门限和识别率附matlab代码 上传版本.zip (32个子文件)
【雷达图像】基于高阶累积量实现的调制系统识别仿真含门限和识别率附matlab代码 上传版本
门限大小确定
ask2.m 345B
C60.m 619B
3.png 9KB
sig_gen.m 279B
psk2.m 327B
4.png 7KB
psk4.m 764B
cumb.m 4KB
ask4.m 317B
fsk2.m 495B
fsk4.m 852B
1.mat 5.05MB
cuma.m 5KB
2.png 9KB
识别率
ask2.m 328B
FX1.m 537B
C60.m 619B
main1.mat 182KB
judge.m 1KB
FX1a.m 424B
C42.m 377B
main1.m 3KB
sig_gen_deltaf.m 303B
sig_gen.m 271B
psk2.m 314B
psk4.m 748B
main2.m 3KB
ask4.m 297B
fsk2.m 482B
fsk4.m 842B
FX2.m 615B
1.png 9KB
共 32 条
- 1
资源评论
天天Matlab科研工作室
- 粉丝: 3w+
- 资源: 7259
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功