% QPSK
clear
clc
close all
sample_nums=100000;
BER_AWGN=[];
SNR_db = 0:1:20;
m=1;
for SNR=0:1:20
%发送序列
sent_bits = randi([0,1], sample_nums,1);
%调制,发送信号
modulated_bits=pskmod(sent_bits,4,pi/4,'InputType','bit');
%AWGN
sigma = (10^(-SNR/10));
awgn=complex(sqrt(sigma/2)*randn(length(modulated_bits),1),sqrt(sigma/2)*randn(length(modulated_bits),1));
%通过AWGN信道
modulated_bits_awgn=modulated_bits+awgn;
%通过rayleigh信道
gaussian_real = randn(length(modulated_bits),1);
gaussian_image = randn(length(modulated_bits),1);
channel_gain = sqrt(1/2)*(gaussian_real + 1i*gaussian_image);% 计算复数信道增益
% awgn解调
recieved_bits=pskdemod(modulated_bits_awgn,4,pi/4,'OutputType','bit');
BER_AWGN(m)=bit_error_rate(sent_bits,recieved_bits);
% 瑞利解调
receive_signal=modulated_bits.*channel_gain+awgn;
modulated_bits_rayleigh=receive_signal./channel_gain;
recieved_bits_rayleigh=pskdemod(modulated_bits_rayleigh,4,pi/4,'OutputType','bit');
BER_rayleigh(m)=bit_error_rate(sent_bits,recieve
瑞利信道QPSK调制与解调
Matlab在信息与通信领域应用
最新推荐文章于 2024-11-19 16:22:29 发布

最低0.47元/天 解锁文章
1239

被折叠的 条评论
为什么被折叠?



