matlab仿真 信道(下)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第四章内容,有兴趣的读者请阅读原书)

之前的内容还剩下simulink的仿真过程。

3.simulink中的AWGN模块仿真

系统框图如图所示,TX和RX 模块需要单独实现

可以通过双击元件来设置元件的参数

Random Integer Generator:

Bit to Integer Converter:

data mapper

QPSK Modulator Baseband

Ideal Rectangular Pulse Filter

Integrate and Dump

完成对一个符号的抽样数据并进行累加

积分清除模块只完成了对数据的累加,没有归一化,需要用增益模块对累加的数据进行归一化

Gain

个人的理解为,积分清除模块只是实现了累加,但是8个采样点的累加并不能反映当前脉冲的情况,只有将8个采样点求平均才能反映脉冲,乘上1/8也就是归一化。

QPSK Demodulator Baseband

Data Mapper

Integer to Bit Converter

与Tx相同,将Rx的两个输出端口名称分别改为Bit,Symbol

注意:这里输入大写的SNR会报错,无视报错点击OK

SER模块

BER模块同理

这里我们已经完成了模型文件的建立,将文件命名为ex7.mdl进行保存

注意:这里记得以slx文件形式再保存一份模型文件,因为仿真后mdl文件将无法修改!

接下来编写如下的脚本程序

Matlab 复制代码
clear all
snr=-3:3;%信噪比的范围
SimulationTime=10;%仿真结束时间
for ii=1:length(snr)
    SNR=snr(ii);%赋值给AWGN信道模块中的SNR
    sim('ex7');%运行仿真模型
    ber(ii)=BER(1);%保存本次仿真得到的BER
    ser(ii)=SER(1);%保存本次仿真的到的SER
end
figure
semilogy(snr,ber,'-ro',snr,ser,'-r*')
legend('BER','SER')
title('QPSK在AWGN信道下的性能')
xlabel('信噪比(db)')
ylabel('误符号率和误比特率')

将脚本程序和ex7文件放在同一个文件夹中,确保脚本程序能控制ex7文件

运行脚本文件,

运行结果如下:

4.simulink中的多径衰落信道模块仿真

由于书中的所采用的瑞利衰落信道元件可能在2021年的版本中已经删除,所以书中的方法可能不可以使用

相关推荐
fengfuyao9851 小时前
基于MATLAB的HHT变换完整实现(含EMD分解与三维时频谱生成)
开发语言·算法·matlab
Deep-w1 小时前
【MATLAB】基于 MATLAB 的直流电动机双闭环调速系统建模与仿真
开发语言·算法·matlab
T.i.s21 小时前
论文复现8
matlab·fmcw
海神之光1 天前
【语音识别】基于matlab语音MFCC特征提取CNN深度学习语音识别【含Matlab源码 14470期】
matlab
Evand J1 天前
【自适应滤波】基于新息协方差匹配的自适应CKF目标跟踪 MATLAB 实战——在目标跟踪、雷达定位、组合导航和传感器融合等问题
人工智能·matlab·目标跟踪
三行数学2 天前
Matlab之父克利夫·莫勒尔逝世
开发语言·matlab
AI Dog2 天前
MathHub数学建模交流社区
数学建模·matlab
机器学习之心2 天前
基于投影寻踪动态聚类的多指标综合评价方法(PPDC),实验文档+MATLAB代码
matlab·数据挖掘·聚类
ji198594432 天前
局部线性嵌入(LLE)算法 MATLAB 实现
算法·机器学习·matlab
Evand J2 天前
【代码介绍】自适应R的AEKF(自适应扩展卡尔曼滤波)和经典EKF比较,MATLAB例程|三维非线性系统
开发语言·matlab·ekf·自适应·自适应滤波