通信原理软件实验(3)

实验三 数字调制

        本实验的目的是通过MATLAB的Simulink工具实现对基带信号的数字调制,其中输入的基带信号是第一次实验“数字信源仿真”中产生的NRZ波形,需要产生的调制信号包括2ASK(二进制振幅键控)、2FSK(二进制频率键控)、2PSK(二进制相移键控)和2DPSK(二进制差分相移键控)。

        需要说明的是,本次教程中不会再对Simulink的使用和工程中元件的构造和连线进行细致的讲解,因为这些我已经在第一次软件实验教程中进行了详细的说明,如果读者在看的过程中发现有的操作不会,建议回顾一下第一次软件实验教程:数字信源仿真

        下面直接切入主题。

1.ASK、FSK、PSK仿真框图的搭建

        直接在Simulink中按照实验指导书上的图或下图进行电路的搭建:

        这里有两点需要注意,第一是图中两个正弦波信号产生器的频率需要分别设置为8pi和4pi:

        选中上方的正弦波信号产生器:

        将Frequency一栏中输入8*pi,随后点击Apply和OK按键。

        选中下方的正弦波信号产生器:

        将Frequency一栏中输入4*pi,随后点击Apply和OK按键。

        第二是此时图中的输入信号,即In1模块,只是一个摆设,并没有真正的信号输入,而是需要用第一次软件实验中产生的NRZ波形来将其替代。因此此时点击运行并不能在示波器中观察到有效的信号,关于如何用NRZ波形来替代In模块,会在后文进行讲解。

2.DPSK仿真框图的搭建

        同样按照实验指导书上的图或下图在Simulink中进行电路搭建:

        这里有三点需要注意,第一是图中正弦波信号产生器的频率需要设置为16*pi:

        将Frequency一栏中输入16*pi,随后点击Apply和OK按键。

        第二是图中的In2模块和之前一样,需要用第一次软件实验中产生的NRZ波形来替代。

        第三是图中的In3模块需要用对应NRZ波形的位同步码进行替代。

        下面将讲解如何构造In1、In2和In3模块。

3.输入信号的构造

(1) 基带NRZ波形的构造

        由于需要用到第一次软件实验产生的NRZ波形,一个较为简单的方式就是将第一次实验搭建的框图复制过来,然后将其封装成一个子模块,对外只显示NRZ一个输出端口。

        首先打开第一次软件实验的.slx文件,该文件即是MATLAB中Simulink保存的文件,打开后选中整个框图,用Ctrl + c和Ctrl + v复制到本次实验的.slx文件中,将框图中多余的电路删除掉,只保留NRZ波形产生的电路:

        图中用红框标注的Out1输出口即是我们需要的NRZ输出波形,但此时如果直接将整个模块进行封装,对外会显示4个Input口和6个Output口,这是因为我们在之前电路搭建的过程中,有一些模块的输入输出口没有用到,系统会将所有悬空的端口默认为输入输出口,如上图中用蓝框标出的端口所示。

        如果想要封装后的子模块简洁美观一点,则需要删除多余的输入输出端口。方法就是双击图中的Counter控件进行设置:

        将Output一项选中Hit,将Reset input一项取消勾选,修改完成后点击Apply和OK按键,多余的输入输出口就消失了,此时可能会呈现如下状态:

        图中红线的部分是修改前和修改后Hit端口的位置不同造成的,只需要将红线的端口接到Hit修改后的位置即可。

        由于D Flip-Flop模块笔者没有找到让它的!Q输出端口消失的方法,因此只能将就一下了,选中整个模块,点击菜单栏中的Diagram->Subsystem & Model Reference->Create Subsystem from Selection将它封装成一个子模块:

        封装后应该有两个Out端口,一个是我们需要的NRZ输出,另一个就是刚才所说的D Flip-Flop的!Q输出端,此时如果不确定哪个端口是NRZ输出,可以双击该子模块进去看。

        将封装好的子模块代替In1和In2模块,如此一来NRZ输入信号就构造好了,读者如果不放心的话,可以将该子模块的输出端口接一个示波器,看看是否是NRZ波形。

(2) DPSK中位同步码的构造

        想要构造DPSK中的位同步码,就需要知道基带NRZ输入信号的码元宽度以及相位的延迟,用示波器测量NRZ输入信号:

        从第一次软件实验可知,NRZ输入信号的前4个码分别为“0111”,与上图相对照,发现3个“1”码的持续时间是6s,因此1个码元的宽度是2s,再有第一个“0”码的结束时间是3s,可得该码相位的延迟是1s,通过这些数据来构造DPSK中的位同步码:

        用Pulse Generator模块来代替In3模块,并将其周期Period设置为2s,占空比Pulse Width设置为50%,相位延迟Phase delay设置为1s,修改完成后点击Apply和OK按键。

        上述步骤完成后,全部的电路框图就搭建好了:

        上面部分是ASK、FSK和PSK的产生电路,下面部分是DPSK的产生电路。

4.运行并测试波形

        设置运行时间为50,点击运行按键,便可从示波器中测得波形,关于如何调整Simulink中的示波器让它显示指定通道的波形,笔者也在第一次软件实验教程中进行了阐述,以下分别展示两张两个示波器中测得的波形:

        第一个示波器中测得的输入信号和ASK调制信号波形:

        其中黄色为基带信号,蓝色为ASK调制信号。

        第二个示波器中测得的DPSK相对码和绝对码波形:

        其中蓝色为绝对码,棕色为相对码。

总结

        本次实验到这里就结束了,想要了解后续或之前的通信原理软件实验,可以继续关注本专栏,另实验过程中如有什么不对之处,欢迎留言指正。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用内容,LabVIEW软件平台可以用于通信原理实验中。以下是通信原理实验中可能使用到的LabVIEW程序设计内容: 1. 图像读取方法 LabVIEW可以通过Vision Development Module模块中的函数来读取像。具体步骤如下: - 安装Vision Development Module模块 - 在LabVIEW中创建一个新的VI - 在Block Diagram中右键点击空白处,选择Functions Palette -> Vision -> Image I/O -> Read Image File.vi - 将需要读取的图像路径作为输入,即可读取图像 2. 添加高斯白噪声 可以使用LabVIEW中的随机数生成函数来生成高斯白噪声,并将其添加到图像中。具体步骤如下: - 在Block Diagram中右键点击空白处,选择Functions Palette -> Programming -> Random Number -> Gaussian Random Number.vi - 将生成的高斯白噪声与图像进行加权平均,即可将噪声添加到图像中 3. 信号解调 根据提供的引用内容,可以得知噪声标准差越大,解调出来的信号与标准正弦波差别越大。因此,在信号解调时需要考虑噪声的影响。可以使用LabVIEW中的滤波函数来滤除噪声,具体步骤如下: - 在Block Diagram中右键点击空白处,选择Functions Palette -> Signal Processing -> Filter -> Butterworth Filter.vi - 将需要滤波的信号作为输入,选择合适的滤波器参数,即可滤除噪声 --相关问题--: 1. LabVIEW软件平台还可以用于哪些实验? 2. 如何在LabVIEW中进行数据采集和处理? 3.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值