当前位置:文档之家› MATLAB QPSK调制与解调

MATLAB QPSK调制与解调

实验名称:QPSK调制与解调
一、实验目的:
1、学会QPSK调制与解调系统的构成
2、学会QPSK调制与解调系统的各模块的构建
3、学会误码率与误符号率的统计方法以及Matlab算法
二、实验原理:
1、QPSK:四进制绝对相移键控,也称为多进制数字相位调制,利用载波的四种不同相位状态来表征数字信息的调制方式。

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

调制与解调系统的构成:
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 信道模型,接收信号可以分别表示为
α就是当噪声功率归一化为1(0均值,方差为1)时,根据信噪比关系而计算出来的信号平均幅度
I I I r s n α=+Q Q Q
r s n α=+22210log 10^10s s n n v SNR SNR v sqrt v v ⎛⎫⎛⎫⎛⎫=⇒=* ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭
(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 各个模块的设计
s
v α=
(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对其调制和解调进行了编程和编译仿真,得到的结论和理论上是一致的。

相关主题