西安电子科技大学
随机信号实验 课程实验报告
实验名称 实验一 RC无源低通滤波器设计与测量及分析
实验二模拟调制--SSB信号产生与分析
实验三 2ASK 调制信号 FPGA 产生与分析实验
文章全部内容图片,已上传至知乎平台,搜索同名文章即可!
一、实验目的
1、掌握 2ASK 调制的原理及实现方法。
2、掌握通过 FPGA 实现 2ASK 调制的方法。
4、掌握通过 Modelsim 仿真波形及示波器实测波形的方法。
二、实验仪器
1、PC 一台
2、Quartus II 11.0
3、双踪示波器
4、XSRP 软件无线电平台
5、FPGA 下载器 1 个
三、实验内容
1、学习、研究 ASK 调制在 FPGA 中的实现方法。
2、将 FPGA 的下载文件(*.sof)下载到 XSRP 平台,通过示波器实测 2ASK
调制解调过程中各节点信号波形,并记录波形。
3、读懂 FPGA_2ASK 实验例程代码,按照实验要求在 Quartus II 中编写 2ASK 调制程序,通过 Modelsim 仿真和下载到硬件实测两种方式观测并记录各节点波形。四、方案设计
ASK 调制功能设计
将“FPGA 实验资料”中的“实验程序”文件夹下“ASK_kf”文件复制到 1.3 步中自己新建的文件夹中,在 Quartus II 中打开该工程,点击顶层文件“twoask”所示学生实验框架,学生在该框架下完成后续设计步骤 。
1、2ASK 调制原理
振幅键控是指利用载波的振幅变化来传递数字基带信号。在 2ASK 中,载波的振幅只有两种状态,分别对应基带信号的“0”和“1”。2ASK 信号的一般表达式为:
𝑒2𝐴𝑆𝐾(𝑡) = 𝑠(𝑡)𝑐𝑜𝑠𝜔𝑐𝑡 (1-1)
其中 s(t)为数字基带信号,𝑐𝑜𝑠𝜔𝑐𝑡为载波。其信号波形如图 1-1 所示:
图 3-1 2ASK 信号波形
产生 2ASK 信号的方法通常有相乘器法和键控法两种。原理框图如图 1-2 所示:
图 3-2 2ASK 调制原理框图
2、FPGA 设计原理及各模块介绍
图 3-3 2ASK 调制电路组成框图
图 3-4 2ASK 调制的 FPGA 程序框图
五、实现过程及仿真验证
5.1分频模块
图 3-5 分频模块设计图
完成分频模块设计
5.1.1按原理 5.1 节设计分频器 4分频(4 分频、6 分频、10 分频)将系统时钟 sys_clk 分频,作为载波产生模块的时钟,则载波频率为 sys_clk/(分频值 4*一个载波周期的存储点数 8)(Hz)。载波频率=(26/32=0.8125MHz)(sys_clk=26MHz)
5.1.2 按原理 5.1 节设计分频器32分频(分频值应设置为上步中 4*8 的整数倍)将系统时钟分频,作为 m 序列产生模块的时钟,则基带码元速率为(sys_clk=26MHz/b=(26/32=0.8125MHz)(bit/s)。
5.1.3设计 textbench 文件,在 modelsim 验证分频模块的功能,记录分频模块的输入输出波形。(textbench 文件设计及 modelsim 仿真方法参考附件“FPGA 基本开发流程”第五章“modelsim 仿真”)
图 3-6分频器仿真波形
仿真波形分析:由上图可知 clk4out, clk6out, clk10out,分别是对原clk信号的4分频,6分频,10分频。
且m 序列产生模块的时钟为clk32out为32分频。
5.2载波产生
图 3-7 载波产生
载波产生模块示意图如上图所示,其中 clock 为载波采样时钟,q[2:0]为计数器输出,q[7:0]输出为载波信号。载波产生模块由一个计数器和一个 ROM 构成,其中 ROM 中存储着一个载波周期的样点值,则计数器的进制设置为一个载波周期包含的样点数。本实验中一个载波周期取八个样点,计数器设置为八进制计数器, ROM 和计数器均可使用 IP 核实现。
5.2.1采样点的选择——ROM内部取值
对于该部分,我们采用matalab编程的方式,对一个正弦信号采样,并分别选取其(0、Π/4、Π/2、Π3/4、Π、Π5/4、Π3/2、Π7/4)位置的点对应的值乘以256+128,作为我们放入ROM中的值。因为quartus中的ROM不区分大小写,因此我们对其每个输出值加127,相当于输出值加上直流分量。
5.1完成载波产生模块设计
5.2.1将一个载波周期用 8 个样点均匀抽样(要取不同样点数,将下步中计数器改为相应进制计数器即可),将抽样值存储在 ROM 中。
5.2.2 设计 8 进制计数器,将计数器的输出作为上步中 ROM 的读地址,将步骤中分频器 a 的输出时钟作为计数器的计数时钟,计数器计数使 ROM 循环输出载波周期。
图 3-8 8 进制计数器
5.2.3设计 textbench 文件,在 modelsim 验证载波产生模块的功能,记录载波产生模块的输入输出波形。
图 3-9 载波生成模块
图 3-10 载波生成模块 仿真波形
仿真分析:在counter计数器模块不断产生ROM内存储数据的地址,然后ROM的输出端输出其对应的ROM内存储的值,然后最终随clock的变化,生成sin_out序列,即sin_out[7:0]为该模块的输出波形。
5.3m 序列产生模块
图 3-11 M 序列产生模块端口示意图
m 序列是最长线性反馈移位寄存器序列的名称。它是由带线性反馈的移位寄存器产生的周期最长的序列,一个 n 级的线性反馈移位寄存器产生的 m 序列周期为(2𝑛 − 1),周期中包含除全“0”状态之外的所有可能状态。线性反馈移位寄存器原理框图如下图所示:
图 3-12 线性反馈移位寄存器原理框图
图中各级移存器的状态用𝑎𝑖表示,𝑎𝑖=0 或 1,i 为整数。反馈线状态用𝑐𝑖表示,𝑐𝑖 = 1表示此线接通,参与反馈,反之表示断开。可知反馈线的连接状态不同就可能改变此移位寄存器输出序列的周期。现用特征多项式来表示𝑐𝑖的取值:
𝑓(𝑥) = 𝑐0 + 𝑐1𝑥 + ⋯ 𝑐𝑛𝑥𝑛 (1-2)
式中𝑥𝑖存在仅代表𝑐i取值为 1,x 本身无实际意义,例如𝑓(𝑥) = 1 + 𝑥 + 𝑥4表示𝑐0 = 𝑐1 = 𝑐4 = 1,其余𝑐i=0。能够产生 m 序列的特性多项式称为本原多项式, 常用本原多项式
图 3-13 常用本原多项式表
5.3完成 m 序列产生模的设计
5.3.1 按原理 5.3 节设计 m 序列产生模块,要求产生不同长度的 m 序列。
5.3.2 设计 textbench 文件,在 modelsim 验证 m 序列产生模块的功能,记录 m 序列产生模块的输入输出波形。
图 3-14 M序列发生器仿真波形
仿真分析:在该仿真波形中,clk32_out为输入的32分频后的时钟的波形,m_sequence即为M序列,从M序列的波形仿真中,我们可以清楚的看出,该M序列各个部分具有不同的长度,其满足设计要求。该序列为0101010111000011000101011001100101111
5.4键控开关
5.4.1完成键控开关模块设计
图 3-15 键控开关端口示意图
设计思路:对于该键控开关,对其进行设计一个选择判断器。键控开关示意图图上图所示,其中 a1[7:0]端输入载波信号,a 端输入基带码元,当 a端信号为 1 时,载波信号通过,如果 a端信号为 0 时,载波信号不能通过。模块的输出端 f[7:0]输出 2ASK 已调信号。
5.4.1 编写 verliog 代码实现键控开关的功能。
图 3-16 键控开关波形仿真示意图
仿真分析:a1[7:0]端输入载波信号,a端输入基带码元,m_sequence的输入仿真波形为 m_sequence(M序列), 当m_sequence 信号为 1 时,载波信号通过,如果 m_sequence 信号为 0 时,载波信号不能通过。模块的输出端f[7:0]输出 2ASK 已调信号,two_ask[7:0]为输出的仿真波形。由此可知,该开关键控模块可以实现该功能。
5.5 DA 输出模块
图 3-17 DA 输出模块端口示意图
DA 输出模块的作用是将并行的两路信号 dac_in0_i 与 dac_in0_q 转为符合硬件 DAC 芯片输入格式的串行信号,同时产生符合硬件 DAC 芯片工作要求的时序。
DA 输出模块端口示意图如上图所示,实验中要在示波器观测的数据分别从dac_in0_i[7:0]端和 dac_in0_q[7:0]端输入,其中 dac_in0_i[7:0]端对应 CH1 口,dac_in0_q[7:0]端对应 CH2 口。本实验 dac_in0_i[7:0]端接键控开关输出,即2ASK 调制信号,dac_in0_q[7:0]端可接其它需要观察的信号。
硬件DAC 芯片时序图如下图 1-14 所示:
图 3-18 DAC 芯片时序图
图中RESET 信号可以一直置为低电平。SELECT 信号为选择信号,当其为 1 时DAC 芯片被写入 dac_in0_i 路的信号,当其为 0 时 DAC 芯片被写入 dac_in0_q 路的信号。CLOCK 与 WRITE 信号可以是同一个信号,WRITE 信号上升沿时往 DAC 芯片内写入数据。图 1-13 中输出端口 dac_sel 对应 SELECT 信号,dac_clk 与 dac_wr 对应CLOCK/WRITE 信号,dac_reset 对应 RESET 信号,dac_data 对应 DATA,r_ref_c端为预留的其他硬件时钟模块的使能信号,始终置 0 即可,学生做实验时可不必理会。
5.6扩展输出口
图 3-19 扩展输出端口
扩展输出口对应平台的 EXT 口,实验中将该端口与 m 序列产生模块输出端连接。也可以观察其它二电平的信号。
六、实验结果验证
6.1仿真验证
将上述模块按图 1-3 连接构成 2ASK 调制系统,设计 textbench 文件modelsim 仿真实现 2ASK 调制,观测记录各模块输出波形。
图 3- 20 2ASK键控仿真验证
波形分析:m_sequence的输入仿真波形为 m_sequence(M序列), 当m_sequence 信号为 1 时,载波信号sin_out[7:0]通过,如果 m_sequence 信号为 0 时,载波信号sin_out[7:0]不能通过。模块的输出端输出 2ASK 已调信号,two_ask[7:0]为输出的仿真波形。由此可知,该开关键控模块可以实现该功能。
6.2例程功能验证
打开“FPGA 实验资料”中的“实验程序”文件夹下学生下载的 sof 文件,将其中的 ask.sof 文件夹拷贝到自己新建的文件夹中。(FPGA 下载操作参考附件“FPGA 基本开发流程”第六章“程序下载方法”)
开启 XSRP 硬件平台和示波器,下载该 sof 文件到硬件中。
下载完成后,按下示波器的“Autoset”按钮,观察 CH1(ASK 已调信号)和 EXT(M 序列)的波形并记录。
图3-21 验证 CH1(ASK 已调信号)和 EXT(M 序列)的波形
6.3示波器结果验证
下载程序,用示波器观测 2ASK 信号与基带码元时域波形,分析 2ASK信号的频谱并记录。
图3-22 示波器验证波形
结果分析:从示波器波形来看,该2ASK键控调制模块可以实现依据m_sequence的输入仿真波形为 m_sequence(M序列), 来实现当m_sequence 信号为 1 时,载波信号sin_out[7:0]通过,如果 m_sequence 信号为 0 时,载波信号sin_out[7:0]不能通过的功能。
图 3-23 2ASK信号时域和频域波形
频谱分析:由示波器可知,我们得到2ASK主瓣频谱宽度为0.8MHZ,而我们设置的载波频率为 sys_clk/(分频值 4*一个载波周期的存储点数 8)(Hz)。载波频率=(26/32=0.8125MHz)(sys_clk=26MHz)。因此,我们可以认为的得到的仿真波形的正确性。
由示波器可知,我们得到M序列频谱宽度为0.8MHZ,而我们设置的载波频率为 sys_clk/(分频值 4*一个载波周期的存储点数 8)(Hz)。载波频率=(26/32=0.8125MHz)(sys_clk=26MHz)。因此,我们可以认为的得到的仿真波形的正确性。
七、心得体会
这个实验让我们掌握了2ASK 调制的原理及实现方法,通过 FPGA 实现 2ASK信号 调制产生的方法,掌握通过 Modelsim 仿真波形及示波器实测波形的方法,理论和实践相结合,让我们获得了一定的动手设计操作实验的能力。
在这次实验中,我主要负责2ASK键控FPGA调制信号产生的实验,在该实验中需要借助大二学习的数字逻辑电路和verliog语言的知识,由于学习时间过久,部分知识已经被遗忘,因此在整个过程中,其流程的实现难度还是特别大的。
遇到的问题和解决:在这次的实验中遇到的问题首先是quartus的安装问题,因为一直没有找到和合适的安装途径浪费了大量的时间。然后是整个工程设计的过程中,因为涉及到大二过程中学习到的数字电路的知识,因此需要花费一定的时间去学习,且2ASK键控实验是在通信原理的数字频带传输章节部分学习,需要花费一定的时间去自行学习。进而就是在quartus的使用过程中存在的各种文件路径和与modelsim之间联合调试仿真过程中的各种问题,quartus使用的过程中不太容易上手,但是上手使用之后,也会变的较为容易,对于这些种种问题,大都是采取网络上自己慢慢寻求解答的方式。剩下的就是在2ASK键控设计过程中verliog语言的编写的问题,这部分问题主要还是通过不断的调试和学习解决。此外,在仿真的testbench文件的编写过程中,后续待整个工程文件搭建好之后,可以用quartus生成整个文件的verliog文件,然后可以对整个工程的部分器件进行仿真。
在整个实验的过程中,我学会了一种处理工程问题的思路:
① 首先就是要了解整个工程的设计思路,和设计原理有一个清晰明了的整体把握。
② 其次,就是将整个工程的设计分割成不同的模块和部分,然后进行循序渐进的模块设计,并且逐个处理待解决的问题,然后进行仿真分别验证模块的设计的正确性。
③ 各个细分模块的拼接与完成,将第二步设计的模块进行拼接,然后进行整个工程的仿真与验证。
最后,感谢老师和助教学长、学姐的辛勤指导,帮助我在遇到了各种问题之后仍能独立自主的完成2ASK调制信号FPGA产生与分析实验。
实验一 RC无源低通滤波器设计与测量及分析
- 实验目的:
设计一个截止频率为15.9kHz的RC无源低通滤波器
- 实验器材:
1、5.1k电阻3个;
2、1000pF电容3个;
3、6800pF电容2个;
4、5600pF电容2个;
5、万用表一台;
6、通用面包板一个;
7、信号发生器;
8、示波器;
9、同轴电缆线若干。
- 实验原理:
为了创建无源低通滤波器,我们需要将电阻元件与电抗元件组合在一起。换句话说,我们需要一个由电阻器和电容器组成的电路。如下图所示:
图1-1 电路设计原理图
其截止频率为fc=12πRC ,由此公式,只要选择合适的电阻电容进行串并联,就可以获得这个截止频率。
四、实验步骤:
- 根据实验要求设计RC滤波器,并计算其性能参数。
- 在面包板上按照自己设计的图连接好电路
- 打开信号发生器和示波器,将信号发生器连接至RC滤波器的输入,示波器连接至RC滤波器的输出级。
- 在信号发生器上调整信号的幅度为2Vpp,然后依次调整频率为5KHz,8KHz,10KHz,15KHz,15.9KHz,16.2KHz,25KHz,50KHz,75KHz,然后依次记录原信号时域波形,正弦波输入信号经过滤波器后对应的输出信号的时域、频域波形图,并根据输入、输出信号幅度,分析计算滤波器传输系数
- 输入信号为重复频率等于10KHz的半占空比的方波,记录对应的输入、输出信号时域、频域波形图。
- 关闭实验仪器,清理桌面。
- 实验结果:
- 实验前设计:
图1-2 实验设计分析图
电路图和计算如上图,计算的截止频率fc为15.908KHz,和预设的截止频率基本一致,误差在允许的范围之内。
- MATLAB仿真结果:
1、系统传输函数H(jw):
图1-3:传输函数的幅频和相频响应
可以通过上图确定通带和阻带
图1-4:传输函数的通带和阻带
通带:下降3db带宽时,即w<10^5rad时定义为通带
阻带:取它下降15db时的值,即w>5.5x10^5rad时可认为是阻带
过渡带:通带和阻带之间即为过渡带
- 分别选择不同信号区间的三个频率信号进行实验(本实验选用5KHz,8KHz,10KHz,15KHz,15.9KHz,16.2KHz,25KHz,50KHz,75KHz的频率,幅度均为1V的信号进行实验)
(1)输入为5KHz的输入输出信号的时域和频域图:
图1-5:左图为5KHz信号滤波前后的时域波形,右图为滤波前后的频域波形
图1-6:输入信号与输出信号的自相关函数
传输系数=UoUi =0.953/1=0.953
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为5Khz,输出信号相较于输入信号幅度降低,为原来的0.953,可知仿真结果正确。
输入为8KHz的输入输出信号的时域和频域图:
图1-7:左图为8KHz信号滤波前后的时域波形,右图为滤波前后的频域波形
图1-8:输入信号与输出信号的自相关函数
其传输系数=UoUi =0.89/1=0.89
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为8Khz,输出信号相较于输入信号幅度降低,为原来的0.89,可知仿真结果正确。
- 输入为10KHz的输入输出信号的时域和频域图:
图1-9:10KHz信号滤波前后的时域波形
图1-10为滤波前后的频域波形
图1-11:输入信号与输出信号的自相关函数
传输系数=UoUi =0.89/1=0.81
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为10Khz,输出信号相较于输入信号幅度降低,为原来的0.81,可知仿真结果正确。
(4)输入为15KHz的输入输出信号的时域和频域图:
图1-12:左图为15KHz信号滤波前后的时域波形
图1-13:滤波前后的频域波形
图1-14:输入信号与输出信号的自相关函数
传输系数=UoUi =0.72/1=0.71
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为15Khz,输出信号相较于输入信号幅度降低,为原来的0.71,可知仿真结果正确。
(5)输入为15.9KHz的输入输出信号的时域和频域图:
图1-15:左图为15.9KHz信号滤波前后的时域波形
图1-16滤波前后的频域波形
图1-17:输入信号与输出信号的自相关函数
传输系数=UoUi =0.704/1=0.704,可以发现,当信号频率处在15.9KHz时,即理论上的截止频率时,其传输系数≈0.707,其误差在允许的范围之内
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为15.9Khz,输出信号相较于输入信号幅度降低,为原来的0.704,可知仿真结果正确。
(6)输入为16.2KHz的输入输出信号的时域和频域图:
图1-18:左图为16.2KHz信号滤波前后的时域波形
图1-19滤波前后的频域波形
图1-20:输入信号与输出信号的自相关函数
传输系数=UoUi =0.697/1=0.697
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为16.2Khz,输出信号相较于输入信号幅度降低,为原来的0.697,可知仿真结果正确。
(7)输入为25KHz的输入输出信号的时域和频域图:
图1-21:左图为25KHz信号滤波前后的时域波形
图1-22:滤波前后的频域波形
图1-23:25KHz输入信号与输出信号的自相关函数
传输系数=UoUi =0.51/1=0.51
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为25Khz,输出信号相较于输入信号幅度降低,为原来的0.51,可知仿真结果正确。
(8)输入为50KHz的输入输出信号的时域和频域图:
图1-24 50KHz信号滤波前后的时域波形
图1-25 滤波前后的频域波形
图1-26:输入信号与输出信号的自相关函数
传输系数=UoUi =0.30/1=0.30
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为50Khz,输出信号相较于输入信号幅度降低,为原来的0.30,可知仿真结果正确。
(9)输入为75KHz时的输入输出信号的时域和频域图:
图1-27: 75KHz信号滤波前后的时域波形
图1-28滤波前后的频域波形
图1-29:输入信号与输出信号的自相关函数
传输函数=UoUi =0.20/1=0.20
正弦信号的频域波形为冲击函数,且输入输出信号频域所在位置仍为75Khz,输出信号相较于输入信号幅度降低,为原来的0.20,可知仿真结果正确。
- 实测数据
- 输入为5KHz的原波形和滤波后波形及频谱
图1-30:5KHz信号的时域频域波形
图1-31滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为5KHz,和仿真设置相同。
(2)输入为8KHz的原波形和滤波后波形及频谱
图1-32:8KHz信号的时域频域波形,
图1-33滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为8KHz,和仿真设置相同。
(3)输入为10KHz的原波形和滤波后波形及频谱
图1-34:10KHz信号的时域频域波形
图1-35滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为10KHz,和仿真设置相同。
(4)输入为15KHz的原波形和滤波后波形及频谱
图1-36:15KHz信号的时域频域波形
图1-37滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为15KHz,和仿真设置相同。
(5)输入为15.9KHz的原波形和滤波后波形及频谱
图1-38:15.9KHz信号的时域频域波形
图1-39滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为15.9KHz,和仿真设置相同。
(6)输入为16.2KHz的原波形和滤波后波形及频谱
图1-40:16.2KHz信号的时域频域波形
图1-41:滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为16.2KHz,和仿真设置相同。、
(7)输入为25KHz的原波形和滤波后波形及频谱
图1-42:25KHz信号的时域频域波形
图1-43滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为25KHz,和仿真设置相同。
(8)输入为50KHz的原波形和滤波后波形及频谱
图1-44:50KHz信号的时域频域波形
图1-45滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为50KHz,和仿真设置相同。
(9)输入为75KHz的原波形和滤波后波形及频谱
图1-46:75KHz信号的时域和频域波形
图1-47滤波后信号的时域和频域波形
频谱图上可以读出此时调制信号的频域为75KHz,和仿真设置相同。
(10)输入方波滤波前后的时域波形和频域波形:
图1-48:10KHz方波信号的时域和频域波形
图1-49滤波后信号的时域和频域波形
五、实验分析
(1)实验结果
通过上述实验结果,对比通过仿真出的结果如下:
频率 传输系数 | 5KHz | 8KHz | 10KHz | 15KHz | 15.9KHz | 16.2KHz | 25KHz | 50KHz | 75KHz |
仿真的Uo/Ui | 0.953 | 0.89 | 0.81 | 0.71 | 0.704 | 0.697 | 0.51 | 0.30 | 0.20 |
实验的Uo/Ui | 0.95 | 0.88 | 0.83 | 0.72 | 0.70 | 0.67 | 0.51 | 0.29 | 0.20 |
(2)实验结果分析
在这次实验中我们首先对RC滤波器进行理论分析,并确定了我们所设计RC滤波器各个器件的参数,并且进行MATLAB仿真,得出系统的幅频特性, 以及不同频率输入信号对应的输出的时域、频域波形图,并对仿真结果进行分析。
进而我们根据幅频特性曲线分析确定通带范围、阻带范围以及过渡带范围,然后在每个带内选择3个点进行测量,在示波器上调出9个频率对应的输入、输出信号的时域波形和频域波形即幅频特性。
由上述表格我们清楚的可以看出,仿真结果和实验结果有着一致性,其误差在允许的范围之内
在这次RC滤波器设计过程中,15.9khz为我们要设置的截止频率,此刻输出为输入的0.707倍,而我们仿真和实际得到的输出输入比分别为0.704和0.70,因此,我们的实验设计是正确的。
对于方波而言,其傅里叶变换的波形为它的奇次谐波分量,即10KHz,30KHz,50KHz......因为10KHz<15.9KHz,因此该滤波器只对10KHz这个波形没有太大影响,经过实践也可从它的波形中看出,只有第一个谐波分量没有被抑制,其他谐波分量均被抑制,到高频部分仅剩下了噪声。
不足之处:
在这次设置的输入频率过程中,输入频率间隔不太合理,8Khz、10Khz,已经进入过渡带,部分分量被滤除导致输出/输入降低,而且后续设置的输入频率仍在过度带之中,对应的频率未被全部滤除。因此,在本次实验过程中,为了尽可能体现RC滤波器的低通滤波特性,应尽可能的多设置几个较小的输入频率,使其完全落在通带之内,并尽可能多设置几个较大的频率使其完全落在阻带内。
(3)误差分析:
①仪器的精确度不高,存在一些测量的误差
②读数的偏差。因为示波器的电压会在一定的范围内跳动,引起一些读数的偏差
③电路元器件老化,使得它们和理论计算结果有偏差
④实验室会有噪声的干扰
六、心得体会
掌握了RC无源低通滤波器的基本理论以及RC无源低通滤波器的分析方法,掌握获得通信系统性能和指标的获取方法,具备信息系统测试与调试的基本技能,能综合利用自己的所学的基础理论知识,按实验需求选择研究路线,设计可行的实验方案,并通过实验过程中不断的调试,分析,验证最终得到我们所期待的结果。
理论与实践的结合看似仅是理论研究向实际应用的迁移,但是实际上往往存在一定的难度与沟壑,同时他也要求你对理论知识是真正清楚明白的了解,而并非不求甚解,有时实验方案设计过程中遇到的难题,并非是工程能力的不足,而很有可能是理论知识掌握不足,实验设计这类工作往往还有触类旁通的效果,不断提升着自己的理论迁移到实际的能力。
实验二、模拟调制--SSB信号产生与分析
一、实验目的
1、掌握 SSB 调制的原理及其调制信号的产生方法。
2、掌握通过 MATLAB 产生 SSB 信号及发送到示波器观测的方法。
4、对SSB信号与VSB信号的特性进行分析和比较。
二、实验设备
1、PC 一台
2、Matlab2020a
3、双踪示波器
4、XSRP 软件无线电平台
三、实验内容
1、在MATLAB中按实验要求仿真实现SSB调制,调制信号加噪后分析其特性。
2、在MATLAB中根据已学知识仿真实现DSB调制,分析其调制以及加噪后特性,并与DSB对比,加深对于DSB、SSB模拟调制的理解。
3、将在MATLAB中产生的信号输出到DA,通过示波器实测波形(时域和频域)。
四、实验原理
1、SSB调制的原理及其调制信号的产生方法
由通信原理已学知识可知,DSB调制虽然相较于AM调制节省了载波功率,功率利用率提高了,但是它的频带宽度仍然是调制信号的两倍,与AM信号带宽相同。由于DSB信号的上、下两个边带是完全对称的,它们都携带了调制信号的全部信息,因此传输其中一个边带即可。
只传输DSB信号中的一个边带的通信方式称为单边带通信。SSB信号的产生方法通常有滤波法和相移法。
1.1滤波法形成SSB信号
产生SSB信号最直观的方法是让双边带信号通过一个边带滤波器,保留所需要的一个边带,滤除另一个边带。这就需要将滤波器 设计成如图1所示的理想低通特性 或理想高通特性 ,
图 2-1 理想滤波器
即可分别取出下边带信号频谱 或上边带信号频谱 ,如图2所示。
图 2-1 SSB频域图形
滤波法形成SSB信号的技术难点是,由于一般调制信号都具有丰富的低频成分,经调制后得到的DSB信号的上下边带之间很窄,这就要求单边带滤波器在载频 附近具有陡峭的截止特性,才能有效地抑制无用的一个边带。这就使得滤波器的设计和制作很困难,有时甚至难以实现。为此在工程中往往采用多级调制滤波的方法。
1.2相移法形成SSB信号
设单频调制信号为 ,载波为 ,两者相乘得到DSB信号的时域表达式为
保留上边带,则有
保留下边带,则有
将上、下边带合并起来可以写成
式中的 可以看成是 相移 ,而幅度大小保持不变。实际上这一过程叫做希尔伯特变换,记为“ ”,即
所以调制信号为任意信号下的SSB信号的时域表达式
由上式可以画出单边带调制相移法的模型,如图3所示。
相移法形成SSB信号的困难在于宽带相移网络的制作,该网络要求对调制信号 的所有频率分量都必须严格相移 ,这一点即使近似达到也是十分困难的。
图 2-2 单边带频移法模型图
SSB信号的实现比AM、DSB要复杂,但SSB调制方式在传输信息时,不仅可以节省发射功率,而且它所占用的频带宽度为 ,只有AM、DSB的一半,目前已经成为短波通信中一种重要的调制方式。
2、MATLAB产生 SSB 信号及发送到示波器观测的方法
本实验需要用到MATLAB软件进行软件仿真,实验用到的主要函数包括:awgn()、xcorr()、sum()、length()、fft()、fftshift()、abs()、plot()、mean()、var()等等。
实验另一部分要求为软硬结合,即将MATLAB产生的信号发送到示波器进行波形、频谱分析。具体方法时将信号数据通过网络接口下载到 XSRP 硬件平台,该过程是将 MATLAB 产生的数据文件通过网络接口将数据下载到 XSRP 平台, 然后通过示波器观察测量硬件平台输出的实际信号。
五、实验步骤
1、MATLAB仿真
1.1设置采样频率Fc=5MHz,调制信号频率FM=50KHz,幅度为am=6V,载波频率Fc=500KHz,幅度为bm=1V。
1.2产生调制信号和载波信号,分析图形是否符合参数。
图 2-3 调制信号时域波形(FM=50KHz,am=6V)
图4是采样频率Fc=5MHz,调制信号频率FM=50KHz,幅度为6V的调制信号时域波形,T=2*10^(-4)/10=2*10^(-5)s,F=1/T=50KHz,幅度为6V,符合设计
图 2-4 调制信号频谱图(FM=50KHz,am=6V)
图5是采样频率Fc=5MHz,调制信号频率FM=50KHz,幅度为am=6V的调制信号频谱图,读图发现确实产生了50KHz的信号,符合设计。
图 2-5 载波信号时域波形(Fc=500KHz,bm=1V)
图6是载波信号频率Fc=500KHz,幅度为bm=1V的调制信号时域波形,T=2*10^(-5)/10=2*10^(-6)s,F=1/T=500KHz,幅度为1V,符合设计
图 2-6 载波信号频谱图(Fc=500KHz,bm=1V)
图7是载波信号频率Fc=500KHz,幅度为bm=1V的调制信号频谱图,读图发现确实产生了500KHz的载波信号,符合设计。
1.3分别按公式产生保留下边带和保留上边带的SSB信号以及DSB信号,加噪后分析他们的波形、频谱、功率谱、自相关函数、均值、方差并比较。
图 2-7 USB信号时域波形
图8为按照公式 产生的USB已调信号时域波形,读图可知T=2*10^(-5)/11=1.818*10^(-6)s,FUSB=1/T=550KHz,与原理设计的上边带550KHz相吻合。
图 2-8 USB信号频谱图
图9为仿真产生的USB信号频谱图,读图发现USB信号频率为550KHz,符合设计要求。
图 2-9 LSB信号时域波形
图10为按照公式 产生的LSB已调信号时域波形,读图可知T=2*10^(-5)/9=2.22*10^(-6)s,FUSB=1/T=450KHz,与原理设计的上边带450KHz相吻合。
图 2-10 LSB信号频谱图
图11为LSB已调信号频谱图,读图可知确实产生了450KHz的已调上边带信号。
图 2-11 DSB信号时域波形
图 2-12 DSB信号频谱图
为了直观比较DSB与SSB的关系以及验证产生的SSB已调信号的正确性,我们利用公式 产生了DSB信号及其频谱,读图可以知道DSB已调信号包含两种频率,分别是上边带550KHz以及下边带450KHz,通过图13我们清楚地看到看到DSB信号是双边带信号调制,与图9、图11相比,证明了我们产生的SSB信号是正确的。
图 2-13 USB信号功率谱
图 2-14 USB信号自相关函数
图14与图15是利用MATLAB函数计算得来的USB已调信号功率谱与自相关函数,符合理论预期。
图16与图17是加噪后,信噪比为10dB的USB已调信号时域波形以及频谱图,读图发现USB已调时域波形已经收到了干扰,波形与未加噪时相比已经产生了较大变化,在减小信噪比后我们会发现波形受干扰程度持续加大,在频谱图方面,由于加的是高斯噪声,噪声与已调信号混杂在一起且分布在整个频域上,与未加噪时的频谱图相比,变化是比较明显的。
图 2-15 加噪USB时域波形(信噪比=10dB)
图 2-16 加噪USB频谱图(信噪比=10dB)
1.4分别设置不同参数,改变调制信号与载频的频率、幅度,按上述步骤产生各级信号并分析参数变化对输出信号的影响,分析最终产生的加噪SSB信号特性。
设置采样频率Fc=5MHz,调制信号频率FM=10KHz,幅度为am=10V,载波频率Fc=100KHz,幅度为bm=4V。
由于上边带信号USB与下边带信号LSB只是截取方式不同,其他特性并无差异,为节省篇幅,以下只从上边带信号USB来代表SSB调制信号。
图 2-17 USB信号时域波形 Fc=100KHz,bm=4V,FM=10KHz,am=10V
图 2-18 USB信号频谱图 Fc=100KHz,bm=4V,FM=10KHz,am=10V
图18与图19为调制信号频率FM=10KHz,幅度为am=10V,载波频率Fc=100KHz,幅度为bm=4V,根据公式产生的USB已调信号,读图发现,已调信号频率110KHz,符合预期,参数改变后相应的频率、幅值发生了变化,频谱图幅值也变大了。
图20与图21为加噪后,信噪比为10dB时的已调信号时域波形以及频谱图。产生的干扰是比较明显的,时域上表现为平滑波形的改变,频域上表现为幅值很低的、分布于整个频域的底噪。
图 2-19加噪USB时域波形(信噪比=10dB)Fc=100KHz,bm=4V,FM=10KHz,am=10V
图 2-20加噪USB频谱图(信噪比=10dB)Fc=100KHz,bm=4V,FM=10KHz,am=10V
图 21已调信号自相关函数Fc=100KHz,bm=4V,FM=10KHz,am=10V
图 2-22 USB信号功率谱 Fc=100KHz,bm=4V,FM=10KHz,am=10V
图22与图23为改变调制信号与载波信号后已调信号的自相关函数与功率谱,与理论结果一致。
2、软硬结合
信号数据通过网络接口下载到 XSRP 硬件平台,设置采样频率Fc=30.72MHz,调制信号频率FM=50KHz,幅度为am=6V,载波频率Fc=500KHz,幅度为bm=1V。
经过实验我们发现信号数据下载到硬件平台的过程中可能存在一定程度的幅度衰减,但在频率上是一致的,考虑到本实验主要针对SSB调制方式的验证,幅度上的衰减是可以接受的,载波对于调制信号的搬移在频域上是可以完整反映出来的。
图 2-23实测调制信号时域波形
图 2-24实测调制信号频谱图
由图2-24以及图2-25可知,实测信号幅度产生了约1/3的衰减,从频谱图上可r以读出此时调制信号的频域为50KHz,和仿真设置相同。
图 2-2-25实测载波信号时域波形
图 2-26实测载波信号频谱图
由图2-26以及图2-27可知,实测载波信号幅度产生了约1/10的衰减,从频谱图上可以读出此时调制信号的频域为500KHz,和仿真设置相同。
图 2-27实测USB信号时域波形
图 2-28实测USB信号频谱图
由图2-28以及图2-29可知,实测信号幅度产生了约1/10的衰减,从频谱图上可以读出此时调制信号的频域为555.6KHz,与仿真结果基本相同,调制信号确实发生了频谱搬移,并且保留了550KHz的上边带。
图 2-29实测加噪USB信号时域波形 信噪比=10dB
图 2-30实测加噪USB信号频谱图 信噪比=10dB
由图2-30以及图2-31可知,实测信号幅度产生了约1/2的衰减,从频谱图上可以读出此时调制信号的频域为543.5KHz,与仿真结果基本相同,调制信号确实发生了频谱搬移,并且时域波形与图28相比受噪声干扰较严重。
六、实验分析
MATLAB仿真
通过编写程序并运行后,成功得到FM=50KHz,幅度为6V的调制信号以及Fc=500KHz,幅度=1V的载波信号。根据SSB信号产生方式,我们选择了移相法,并利用公式进行了设置,得到了SSB信号。但仅从时域上是很难分辨出究竟是不是SSB已调信号,需要与DSB进行比对并结合频域分析。已知调制实际上是对调制信号进行了频谱搬移,而DSB调制是对调制信号的上下边带都进行了搬移,所以DSB已调信号会在频域显示上下两个边带。进而又根据公式产生了DSB调制信号,通过将SSB与DSB调制信号的频谱进行对比分析,我们确实得到了F=550KHz的USB已调信号以及F=450KHz的LSB已调信号。
继续改变调制信号以及载波信号的参数,如参数设置为FM=10KHz,幅度=10V,Fc=100KHz,幅度=4V,利用上述方法,我们又得到了F=110KHz的USB已调信号以及F=90KHz的LSB已调信号。MATLAB产生SSB信号的移相法得到了验证。
在此基础上我们对已调信号又进行了加噪处理,利用MATLAB函数添加了高斯白噪声,并对前后的信噪比进行了对比分析。
利用MATLAB自带的函数功能,我们又分别求了已调信号的功率谱以及自相关函数,与预期结果相同。
模拟调制SSB、AM、DSB等系列调幅信号之间的对比分析
DSB信号的频带宽度是SSB信号的频带宽度的2倍,且DSB信号的制度增益是SSB信号的2倍,但是由于两者的输出信噪比相同,因此两者的抗噪声性能相同。AM信号与DSB,SSB信号相比从频谱上可以看出会有载频的存在,也因此会由大量的功率用于此,功率利用率较低,且AM信号的抗噪声性能最差。
综上所述,SSB调制的优点是功率利用率和频带利用率都较高,抗噪声性能均优于AM,而且带宽只有AM、DSB的一半。
软硬结合(示波器)
我们在进行软硬结合时发现信号频率能够与仿真结果保持较好的一致性,但信号幅度总是会有较大程度衰减,在多次尝试后仍有这种状况出现,我们初步认定为DA_OUT文件中的一些初始设定问题。
(七)实验收获
在这次模拟调制-SSB信号的产生和分析实验过程中,我们通过对ssb调制信号原理的学习,并且利用matlab进行仿真分析,掌握了 SSB 调制的原理及其调制信号的产生方法,掌握了通过 MATLAB 产生 SSB 信号及发送到示波器观测的方法。并且不断通过将SSB信号与DSB信号的特性进行分析和比较,对SSB信号的调制原理和整个模拟调制更加清晰明了。
对于MATLAB的应用,其更多的是对一些函数功能的了解和应用,matlab作为一个封装好的巨大函数工具箱,虽然十分便利,但是这种便利的前提是你要对他的函数有清晰的了解;其次是软硬结合,在这个过程中我们遇到了较大的阻力,不过通过不断学习也最终调试成功。
到目前为止我们大多知识都是通过理论学习来完成的,理论掌握了很多,却很难应用到实际中去,在以后的学习生活中,我们要注意将理论与仿真、与实际的结合,既可以锻炼自己的动手能力,又可以提升自己分析问题的能力,还可以对知识有更加直观深刻的理解。
在这次的随机信号的实验过程中,我们不仅掌握了将理论转化为实际的一些能力,同时也锻炼了自己解决问题的能力,而且也更懂得了小组合作的精神和工程设计的基本思想。
最后,感谢老师和助教学长、学姐的辛勤付出,感谢我的组员的辛勤付出。