威望0
积分7946
贡献0
在线时间763 小时
UID1
注册时间2021-4-14
最后登录2024-11-21
管理员
- UID
- 1
- 威望
- 0
- 积分
- 7946
- 贡献
- 0
- 注册时间
- 2021-4-14
- 最后登录
- 2024-11-21
- 在线时间
- 763 小时
|
[mw_shl_code=applescript,true]%QPSK调制的数字通信系统通过AWGN信道后的误符号率和误比特率
%发射端信息比特采用格雷编码
%基带脉冲采用矩形脉冲,每个脉冲的抽样点数为8
%接收端采用匹配滤波器进行相干解调
clc;
nSamp = 8; %矩形脉冲取样点数
numSymb = 1000000; %每种SNR下传输的符号数
M=4; %PSK为4相位,即QPSK,有四种符号类型
SNR=-3:0.5:3; %信噪比范围
grayencod=[0 1 3 2];%所采用的格雷码数组
for ii=1:length(SNR)
msg=randsrc(1,numSymb,[0:3]); %产生发送符号(数字信号),是一个1000000位的数组,元素随机在0~3之间
msg_gr=grayencod(msg+1); %进行格雷编码映射,0、1、2、3分别对应0、1、3、2
msg_tx=pskmod(msg_gr,M); %进行4符号(4相位)PSK调制(QPSK)
msg_tx=rectpulse(msg_tx,nSamp); %矩形脉冲成型
[Pxx,f]=periodogram(msg_tx,Nfft,Fs,window,Noverlap,'dflag');
msg_rx=awgn(msg_tx,SNR(ii),'measured');%通过awgn信道
msg_rx_down=intdump(msg_rx,nSamp); %匹配滤波相干解调
msg_gr_demod=pskdemod(msg_rx_down,M);%QPSK解调
[dummy graydecod]=sort(grayencod); %dummy是grayencod的排序结果,graydecod是dummy中对应元素在grayencod中的位置索引
graydecod = graydecod-1;
msg_demod=graydecod(msg_gr_demod+1);%进行格雷解码映射,0、1、3、2分别对应0、1、2、3
[errorBit BER(ii)]=biterr(msg,msg_demod,log2(M));%errorBit为错误比特个数,BER(ii)为误比特率,log2(M)表示每个码元由2个bit组成
[errorSym SER(ii)]=symerr(msg,msg_demod);%errorSym为错误码元个数,SER(ii)为误比特率
end
scatterplot(msg_tx(1:100))
title('发射信号星座图')
xlabel('同向分量')
ylabel('正交分量')
scatterplot(msg_rx(1:100))
title('接收信号星座图')
xlabel('同向分量')
ylabel('正交分量')
figure
semilogy(SNR,BER,'-ro',SNR,SER,'-r*')
legend('BER','SER')
title('QPSK在AWGN信道下的性能')
xlabel('信噪比(dB)')
ylabel('误符号率和误比特率')
[/mw_shl_code] |
|