BPSK系统发送端仿真设计项目
项目介绍
本项目是一个基于MATLAB环境开发的二进制相移键控(BPSK)系统发送端仿真模型。该项目实现了数字化发射机的核心流程,包括信源生成、符号映射、基带脉冲成型以及载波调制。通过该仿真,用户可以深入理解数字信号从抽象的二进制比特流转化为可在物理信道传输的正弦载波信号的完整演变过程,并能通过多维度的可视化图表观察信号的时频特性。
功能特性
- 随机信源生成:自动产生指定长度的随机二进制序列作为输入数据。
- 双极性BPSK映射:实现逻辑电平与实数信号幅度的转换,将码元映射为双极性电平。
- 高倍率过采样:通过符号插值提高采样频率,为后续数字信号模拟连续特征提供基础。
- RRC脉冲成型:采用平方根升余弦滤波器进行带宽限制,在抑制频谱外溢的同时遵循物理层的码间串扰(ISI)准则。
- 载波上变频调制:将基带信号搬移至高频载波(余弦波)上,生成最终的射频输出信号。
- 多维度评估:内置功率谱密度估计、星座图分析及多阶时域波形对比功能。
实现逻辑与过程说明
系统的具体实现步骤严格遵循数字通信系统的发射机链路设计:
- 参数初始化:首先定义系统核心参数。设置待传输比特数为1000,符号速率为1000 symbols/sec。通过设置每个符号采样点数(SPS)为20,计算出系统采样率为20kHz。设定载波频率为4kHz,并配置根升余弦滤波器的滚降系数为0.35、延迟长度为10个符号。
- 信源产生与映射:利用随机函数生成0和1构成的比特序列。根据BPSK调制原理,执行映射逻辑:将比特0转换为幅值-1,将比特1转换为幅值+1。
- 基带脉冲成型处理:
- 信号插值:在每个映射后的符号之间填充(sps-1)个零点,增加信号采样频率。
- 滤波器设计:使用rcosdesign函数设计平方根升余弦滤波器系数。
- 卷积滤波:通过filter函数实现信号与滤波器系数的卷积,使原始的方波脉冲变为平滑的基带波形,减少频谱占据宽度。
- 载波调制:根据系统采样率建立高精度时间轴。生成4kHz的余弦载波信号,将其与成型后的基带信号进行逐点相乘(点乘运算),实现抑制载波双边带调制(DSB-SC型)。
- 结果可视化:
- 时域展示:绘制原始比特、基带脉冲和射频波形对比图。为了展现基带信号的准确性,代码计算了滤波器引入的群时延并进行了补偿。
- 星座图分析:提取基带信号的最佳抽样点(避开滤波器暂态),在I-Q平面展示符号分布。
- 频域分析:采用Welch法进行功率谱密度(PSD)估计,展示信号的频率分布和主瓣宽度。
关键函数与算法分析
- rcosdesign:这是系统的核心算法之一,用于生成根升余弦滤波器系数。其滚降系数决定了带宽利用率与时域过冲之间的平衡。
- upsample:实现符号间的零点填充,这是数字脉冲成型的前提,能够有效提升处理的时间分辨率。
- pwelch:使用Kaiser窗函数的Welch功率谱估计方法。相比于直接傅里叶变换,该算法能提供更平滑、更准确的功率谱曲线,方便观察带外抑制表现。
- 采样点补偿逻辑:由于卷积滤波会产生延迟(延迟量等于滤波器跨度的一半),系统在绘制基带波形采样点时,精确计算了起始偏移量,确保采样点位于脉冲的峰值位置。
使用方法
- 在MATLAB环境中打开并运行仿真脚本。
- 程序将自动执行所有计算流程,无需人工干预。
- 运行结束后,系统将弹出三个标准的分析窗口:波形对比图、星座图以及功率谱密度图。
- 用户可以通过修改脚本顶部的系统参数(如载波频率、滚降系数等)来观察不同通信环境下的信号特征变化。
系统要求
- MATLAB R2016b 或更高版本。
- 必须安装信号处理工具箱(Signal Processing Toolbox),以便支持rcosdesign、pwelch及upsample等核心通信处理函数。