%%%%%%%%%%%%%%%%%%%%%%%%% 参数表 %%%%%%%%%%%%%%%%%%%%%%%%
clear;clc;close all;
N = 1e3; %符号数目
M = 4; %M元调制
S_L = 2^nextpow2(N); %取 2 的幂次数长度数据
Frq_smp = 1000; %信号频率 (Hz)
S_T = 2; %信号周期 (s)
Fs = 100; %每个符号采样次数
Offset = pi/6; %相位误差
% %%%%%%%%%%%%%%%%%%%%%%%%% 产生二进制信号 %%%%%%%%%%%%%%%%%%%%%%%%
Tst_S_In_Q = randi(4,1,S_L); %产生随机信号
Tst_S_In_B = randi(2,1,S_L);
% Tst_S_In = xlsread('Tst_S_In.xlsx');
[S_QPSK_Out,S_QPSK_PHOF_Out] = Fuc_QPSK(Tst_S_In_Q,Offset); %QPSK调制
[S_BPSK_Out,S_BPSK_PHOF_Out] = Fuc_BPSK(Tst_S_In_B,Offset);
%%%%%%%%%%%%%%%%%%%%%%%%% 相位估计 %%%%%%%%%%%%%%%%%%%%%%%%
%矩估计
S_Out_L_Q = length(S_QPSK_PHOF_Out);
S_Out_L_B = length(S_BPSK_Out);
nBlock = 1e5; %采样点数量
S_Sum_Out_AR = 0;
S_Sum_Out = 0;
if(S_Out_L_Q<nBlock)
error('积分块划分数量大于信号长度!');
end
% 为后面采样计算做准备
T_Span = uint64(S_Out_L_Q/nBlock);
%---------------------------------------------------------------%
for SNR = 5:30
%只通过高斯信道,此时的幅度衰减是常数
S_AWGN_N_Out = awgn(S_QPSK_PHOF_Out,SNR,'measured');
%通过瑞利信道与高斯信道
S_RAYLE_N_Out = RAYLE_Chan(S_QPSK_PHOF_Out);
S_AWGN_N_RAYLE_Out = awgn(S_RAYLE_N_Out,SNR,'measured');
%瑞利与高斯信道角度输出
S_Avg_AR(SNR-4) = Phase_Est(S_AWGN_N_RAYLE_Out,S_QPSK_Out,nBlock);
%高斯信道角度输出
S_Avg(SNR-4) = Phase_Est(S_AWGN_N_Out,S_QPSK_Out,nBlock);
end
figure('name','QPSK信道分析');
hold on;
plot((1:26),S_Avg,'r*-');
plot((1:26),S_Avg_AR,'g--o');
hold off;
xlabel('EbNo/dB');ylabel('平均相位/rad');
legend('信道衰减恒定','通过瑞利与高斯信道误差');
%---------------------------------------------------------------%
for SNR = 5:30
%只通过高斯信道,此时的幅度衰减是常数
S_AWGN_N_Out_B = awgn(S_BPSK_PHOF_Out,SNR,'measured');
%通过瑞利信道与高斯信道
S_RAYLE_N_Out_B = RAYLE_Chan(S_BPSK_PHOF_Out);
S_AWGN_N_RAYLE_Out_B = awgn(S_RAYLE_N_Out_B,SNR,'measured');
%瑞利与高斯信道角度输出
S_Avg_AR_B(SNR-4) = Phase_Est(S_AWGN_N_RAYLE_Out_B,S_BPSK_Out,nBlock);
%高斯信道角度输出
S_Avg_B(SNR-4) = Phase_Est(S_AWGN_N_Out_B,S_BPSK_Out,nBlock);
end
figure('name','BPSK信道分析');
hold on;
plot((1:26),S_Avg_B,'r*-');
plot((1:26),S_Avg_AR_B,'g--o');
hold off;
xlabel('EbNo/dB');ylabel('平均相位/rad');
legend('信道衰减恒定','通过瑞利与高斯信道误差');
%-----------------------------------------------------------%
figure('name','瑞利与高斯信道下调制分析');
hold on;
plot((1:26),S_Avg_AR,'r*-');
plot((1:26),S_Avg_AR_B,'b--o');
hold off;
xlabel('EbNo/dB');ylabel('平均相位/rad');
legend('QPSK','BPSK');
%-----------------------------------------------------------%
%固定信噪比
SNR = 15;
%只通过高斯信道,此时的幅度衰减是常数
S_AWGN_N_Out = awgn(S_QPSK_PHOF_Out,SNR,'measured');
%采样间隔向量
block = 1e3:5e2:1e5;
b_len = length(block);
for n_b = 1:b_len
Smp_Cache(n_b)=Phase_Est(S_AWGN_N_Out,S_QPSK_Out,block(n_b));
end
figure('name','采样点分析');
plot(block,Smp_Cache,'r');title('采样点与平均相位之间的关系');
xlabel('Smp/B');ylabel('平均相位/rad');
%%%%%%%%%%%% 调试显示代码 %%%%%%%%%%%%%%%%%%%
% figure('Name','测试信号的产生');
% subplot(211);
% plot(Tst_S_In);%axis([0,520,-1.2,1.2]);
% title('原始信号');% xlabel('');
% subplot(212);
% plot(real(S_QPSK_PHOF_Out(10:700)),'b');title('调制后的信号');
% hold on; plot(sout2,'r');
想躺平的不倒翁
- 粉丝: 12
- 资源: 7
最新资源
- 白色清爽风格的企业网站模板下载.rar
- 白色清新大气的商务企业网站模板下载.rar
- 白色清新风格的HTML5个人简历模板.zip
- 白色清新风格的电商家具商城整站网站源码下载.zip
- 白色清新风格的多用途企业网站模板.rar
- 白色清新风格的工艺品展览馆企业网站模板下载.zip
- 白色清新风格的房地产官网模板下载.zip
- 白色清新风格的工作商务网页CSS模板下载.zip
- 白色清新风格的家具装修设计模板下载.zip
- 白色清新风格的家居公司网站模板下载.zip
- 白色清新风格的陌上花开博客模板下载.zip
- 白色清新风格的家政服务企业网站模板下载.zip
- 白色清新风格的律师法律企业网站模板.zip
- 白色清新风格的皮包设计网站模板下载.zip
- 白色清新风格的甜品网上商城模板.zip
- 白色清新风格的食谱烹饪HTML网站模板.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈