通信系统仿真课程设计报告 题 目: 基于 Matlab 的通信系统仿真 班 级: 姓 名: 学 号: 指导老师: 一、系统综述 利用 Matlab 仿真软件,完成如图所示的一个基本的数字通信系统
信号源产生 0、1等概分布的随机信号,映射到 16QAM 的星座图上,同时一路信号已经被分成了实部和虚部,后边的处理建立在这两路信号的基础上
实部、虚部信号分别经过平方根升余弦滤波器,再加入高斯白噪声,然后通过匹配滤波器(平方根升余弦滤波器)
最后经过采样,判决,得到 0、1 信号,同原信号进行比较,给出 16QAM 数字系统的误码
图4产生0、1信号调制低通星座图AW GN以SNR为参数图1低通(匹配滤波)实部图虚部图图2解调匹配滤波器输出波形(实部/虚部)星座图图30、1信号BER比较图图5 系统框图 二、系统实现 1、随机信号的产生 利用 Matlab 中自带的函数 randint 来产生 n*k 随机二进制信号
源程序如下: M = 16; k = log2(M); % 每个符号的比特数 n = 6000; % 输入码元的长度 fd=1; fc=4*fd; fs=4*fc; xEnc = randint(n*k,1); %产生长度为 n*k 的随机二进制信号 plot(xEnc); 2、星座图映射 将随机二进制信号映射到 16QAM 星座图上
每四个 bit 构成一个码子,具体实现的方法是,将输入的信号进行串并转换分成两路,分别叫做 I 路和 Q 路
再把每一路的信号分别按照两位格雷码的规则进行映射,这样实际上最终得到了四位格雷码
为了清楚说明,参看表 1
表 1 两位格雷码的映射规律 两位 0、1 码 映射后(按格雷码) 0 0 -3 0 1 -1 1 1 1 1 0 3 16QAM 调制模块程序如下: function [ gPsk,map ] = qam_modu