选择式合并输出载噪比累积概率分布曲线matlab仿真代码
时间: 2023-08-06 13:03:51 浏览: 142
以下是一个简单的选择式合并输出载噪比累积概率分布曲线的MATLAB仿真代码:
```
%% 选择式合并输出载噪比累积概率分布曲线
clear all; close all; clc;
% 信道参数
SNRdB = 0:2:20; % 信噪比范围
SNR = 10.^(SNRdB/10); % 将信噪比转化为线性单位
N = length(SNR); % 信噪比范围的长度
% 接收机参数
M = 4; % 星座点数
d = sqrt(M)-1; % 星座点之间的距离
threshold = d^2; % 判决门限
% 仿真参数
numOfBits = 1e6; % 要仿真的比特数
% 仿真
for i=1:N
% 高斯白噪声
n = randn(1, numOfBits);
noise = n./sqrt(SNR(i));
% 发送QPSK符号
data = randi([0, M-1], [1, numOfBits]);
s = pskmod(data, M);
% 接收
r = s + noise;
% 判决
x = r./sqrt(SNR(i));
y = x .* conj(s);
z = y >= threshold;
% 计算误码率
BER(i) = sum(abs(data-(z*3))./2)/numOfBits;
end
% 绘制载噪比累积概率分布曲线
semilogy(SNRdB, BER, 'r-o', 'LineWidth', 2);
grid on;
title('选择式合并输出载噪比累积概率分布曲线');
xlabel('信噪比 (dB)');
ylabel('误码率');
```
这个代码使用了QPSK星座图,但是你可以根据需要进行修改。
阅读全文