we21543 we21543
爱生活爱旅游,喜欢吃喝玩乐的朋友可以关注我或者加我微信好友聊天分享旅游经历,有兴趣的朋友还可以一起结伴出游哦。
关注数: 65 粉丝数: 62 发帖数: 2,115 关注贴吧数: 10
求MATLAB大神修改添加下画图程序 %pi/4-DQPSK调制解调系统的蒙特卡罗仿真 clc clear N = 10000; %仿真量大小 EbN0_indB = -2 : 0.5 : 12; %仿真的信噪比点 EbN0 = 10.^(EbN0_indB/10); %dB转换为自然值 times = 50; %仿真次数 err_rate = zeros(length(EbN0),times); for ii = 1 : length(EbN0) for i = 1 : times r = rand(1,2*N); source = r>0.5; %产生二进制信源 b = 1 - 2*source; %改变为反极性 bI = zeros(1,N); %同相支路 I = zeros(1,N); bQ = zeros(1,N); %正交支路 Q = zeros(1,N); delta = zeros(1,N); %载波相位差 for n = 1 : N %串并变换 bI(n) = b(2*n); bQ(n) = b(2*n-1); if n == 1 %差分编码 I(n) = (bI(n)*bI(n) - bQ(n)*bQ(n))/sqrt(2); Q(n) = (bQ(n)*bI(n) + bI(n)*bQ(n))/sqrt(2); else I(n) = (I(n-1)*bI(n) - Q(n-1)*bQ(n))/sqrt(2); Q(n) = (Q(n-1)*bI(n) + I(n-1)*bQ(n))/sqrt(2); end end Eb_x = cov(I); %信号能量 Eb_y = cov(Q); sigma_x = sqrt(Eb_x/(2*EbN0(ii))); %根据信噪比计算噪声方差 sigma_y = sqrt(Eb_y/(2*EbN0(ii))); noise_x = randn(1,N)*sigma_x; %高斯噪声产生 noise_y = randn(1,N)*sigma_y; w = I + noise_x; %AWGN信道传输 z = Q + noise_y; errornum_x = 0; %错误数 errornum_y = 0; for n = 1 : N %差分译码 if n == 1 x(n) = w(n)*w(n) + z(n)*z(n); y(n) = z(n)*w(n) - w(n)*z(n); else x(n) = w(n)*w(n-1) + z(n)*z(n-1); y(n) = z(n)*w(n-1) - w(n)*z(n-1); end if x(n) <= 0 %判决x result_x(n) = -1; elseif x(n) > 0 result_x(n) = 1; end if y(n) <= 0 %判决y result_y(n) = -1; elseif y(n) > 0 result_y(n) = 1; end if result_x(n) ~= bI(n) %计算x错误数 errornum_x = errornum_x + 1; end if result_y(n) ~= bQ(n) %计算y错误数 errornum_y = errornum_y + 1; end if errornum_x + errornum_y >= 100 break end end err_rate(ii,i) = (errornum_x + errornum_y)/(2*n); end end Pb = zeros(1,length(EbN0)); %误码率 for i = 1 : length(EbN0) Pb(1,i) = sum(err_rate(i,:))/times; end % %画图部分 semilogy(EbN0_indB,Pb); title('pi/4-DQPSK蒙特卡洛仿真'); xlabel('Eb/N0(dB)'); ylabel('误码率'); grid on; 请问这程序能不能给出信号图 频域图 星座图 误码率理论值图 小白看不懂。。。
1 下一页