matlab代码 qpsk误码率性能曲线
时间: 2023-07-10 18:27:48 浏览: 113
以下是一个简单的 MATLAB 代码示例,用于绘制 QPSK 调制的误码率性能曲线:
```matlab
% 设置参数
EbNo_dB = 0:2:10; % 信噪比范围(dB)
EbNo = 10.^(EbNo_dB/10); % 信噪比范围
M = 4; % 调制阶数
k = log2(M); % 每个符号的比特数
nBits = 1e6; % 要传输的比特数
% 生成随机比特序列
txBits = randi([0 1], 1, nBits);
% QPSK 调制
txBits_I = 2*txBits(1:2:end) - 1;
txBits_Q = 2*txBits(2:2:end) - 1;
txSig = txBits_I + 1i*txBits_Q;
% 添加高斯白噪声
for ii = 1:length(EbNo)
noise = sqrt(1/(2*EbNo(ii)))*randn(1, nBits/k);
rxSig = txSig + noise;
% QPSK 解调
rxBits_I = (real(rxSig) >= 0);
rxBits_Q = (imag(rxSig) >= 0);
rxBits = reshape([rxBits_I; rxBits_Q], 1, []);
% 计算误码率
ber(ii) = sum(xor(rxBits, txBits))/nBits;
end
% 绘制误码率性能曲线
semilogy(EbNo_dB, ber, 'bo-');
grid on;
xlabel('Eb/No (dB)');
ylabel('Bit Error Rate');
title('QPSK Error Performance');
```
这个代码将生成一个 Eb/No vs. BER 曲线,显示 QPSK 调制的误码率性能。
阅读全文