MATLAB QPSK调制与解调

更新时间:2024-04-23 21:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验名称:QPSK调制与解调

一、 实验目的:

1、学会QPSK调制与解调系统的构成

2、学会QPSK调制与解调系统的各模块的构建 3、学会误码率与误符号率的统计方法以及Matlab算法

二、实验原理:

1、QPSK:四进制绝对相移键控,也称为多进制数字相位调制,利用载波的四种不同相位状态来表征数字信息的调制方式。

2、QPSK的调制方法有正交调制方式(双路二相调制合成法或直接调相法)、相位选择法、插入脉冲法。 调制与解调系统的构成:

AWGN 产生器n c s r I I ? b b 0, 1 序 列 产生器 QPSK 映射 sQ n s r Q QPSK 反映射 判决器 AWGN 产生器 比较器 误比特 统计 误符号 统计 3、各模块的实现方法:

(1)、信源的产生:使用randint(m,n,2) 函数产生一个m行n列的随机二进制数列

(2)、QPSK符号映射 :将产生的0,1比特流按照QPSK调制方式进行映射,本实验采用π/4 QPSK的调制方式,图为:

(3)、AWGN信号产生:AWGN产生器就是产生满足均值为0,方差为1的高斯白噪声。实验中使用randn(m,n)函数产生一个m行n列的高斯噪声序列。

(4)、信号幅度控制:根据AWGN信道模型,接收信号可以分别表示为

10000111rI??sI?nIrQ??sQ?nQα就是当噪声功率归一化为1(0均值,方差为1)时,根据信噪比关系而计算出来的信号平均幅度

?vs2??2?SNR??SNR?10log?2??vs?sqrt?vn?10^????10????vn?

??vs(5)、QPSK反映射及判决 :对接收到的信号在4种可能的四种信号向量[(1,0), (0,1), (-1,0), (0,-1)]上投影(即进行点积)。投影最大的值所对应的信号向量就是所发送信号的符号值,然后恢复出比特流

(6)、误码率及误符号率统计:

误码率:将检测出来的比特流和发送的原始比特流进行比较,统计出出现错误的比特数

误符号率:将检测出来的比特流变成两组,构成符号,和发送端符号映射后的符号流进行比较,只要符号中任错一bit,就算该符号出错。统计出现错误的符号数 三、 实验内容:

1、建立QPSK的Matlab仿真模型

2、对仿真模型中各个组成部分进行函数设计和功能仿真

randn('seed',10);mark=randn(1,LENGTH);

subplot(2,2,1);plot(mark);title('watermarc:Gaussian noise');

3、成型滤波器的设计

4、带限信道中的QPSK调制解调 四、实验步骤:

1、开机,设置好本次仿真目录

2、进入matlab环境,设置工作路径和目录

3、按照实验方法,一步步进行QPSK各个模块的设计

(1)、Bit流产生:

global p p=0.5;产生随机二进制序列 (2)、QPSK符号映射:

[m_qpsk1,m_qpsk2]=qpsk_modulation(s_qpsk); figure(2),判断所在的相限。 (3)、AWGN噪声产生:

编写实部部信号和虚部信号的幅值语句。 (4)、产生QPSK调制后+AWGN的符号流: 通过平方根升余弦滤波器滤波得到QPSK实部输出信号的10个周期。

(5)、反映射和判决:

plot(10*log10(abs(power_qpsk(1:(length(power_qpsk)+1)/2)))-max(10*log10(abs(power_qpsk(1:(length(power_qpsk)+1)/2)))))

(6)、SER和BER统计,曲线绘制,分析 : 把数据通过循环控制分别求出错误的bit数和符号数,与总的bit数和符号数相比,得出BER和SER,再与理论值比较。

五、出现问题及解决方案

qpsk_modulation函数调用出现错误,修改后没有问题。 六、实验心得

通过研究对QPSK的调制和解调原理,以及利用

MATLAB对其调制和解调进行了编程和编译仿真,得到的结论和理论上是一致的。

本文来源:https://www.bwwdw.com/article/978p.html

Top