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年的版本中已经删除,所以书中的方法可能不可以使用

相关推荐
yongui4783410 小时前
基于MATLAB/Simulink的单机带负荷仿真系统搭建
网络·matlab
ぁず11 小时前
MATLAB中函数的详细使用
matlab
桃源学社(接毕设)14 小时前
基于MATLAB的运动模糊图像修复方法研究(LW+源码+讲解+部署)
图像处理·深度学习·计算机视觉·matlab·毕业设计·图像滤波去噪
Evand J2 天前
【MATLAB例程】水下机器人长基线(LBL)定位,用于三维轨迹,使用EKF滤波,融合LBL和IMU,4个锚点(长基线基站数=4),附下载链接
开发语言·matlab·机器人
Aiah.2 天前
数字图像处理(一)
开发语言·计算机视觉·matlab·数字图像处理
躺平都躺不明白2 天前
数学建模-线性规划(LP)
数学建模·matlab
rit84324993 天前
基于粒子滤波的运动目标跟踪MATLAB实现
人工智能·matlab·目标跟踪
stbomei3 天前
基于 MATLAB 的信号处理实战:滤波、傅里叶变换与频谱分析
算法·matlab·信号处理
我找到地球的支点啦3 天前
Matlab系列(005) 一 归一化
人工智能·机器学习·matlab·信息与通信
yueyuebaobaoxinx3 天前
MATLAB 与 Simulink 联合仿真:控制系统建模与动态性能优化
开发语言·matlab·性能优化