16PSK和16QAM仿真

16PSK和16QAM仿真
16PSK和16QAM仿真

16QAM和16PSK信号的MATLAB仿真及性能对比

于丹,李亚儒

一.16QAM信号

M进制正交幅度调制信号(MPSK)是由两个正交载波的多电平振幅键控信号叠加而成的,它与MPSK信号的不同之处在于两个支路的多电平幅度序列是相互独立的。

发送机原理图:

接收机原理图:

16QAM信号的仿真过程:

1.产生一个随机的二进制的比特流。

利用randint函数产生代表原始信号的二进制比特序列,此处比特流的长度设为100000,并画出前50个比特的信号图:

2.将二进制比特流转换成对应的十六进制信号

MATLAB 中的16QAM调制器要求输入的信号为0-15这16个值,因此需要将原始的二进制比特流每4个比特转换为相应的16个值,这一步中用到的函数主要包括reshape和bi2de。

3.用16QAM调制器对信号进行调制并画出信号的星座图

利用modem.qammod函数生成16QAM调制器,并对上一步生成的信号进行调制。

4.在16QAM信号中加入高斯白噪声

信号通过awgn信道之后相当于在信号上加入了高斯白噪声,这一步假设Eb/No=15db。

5.画出通过信道之后接收信号的星座图

利用scatterplot函数画出信号的星座图。

6.生成信号眼图

利用eyediagram函数画出经过信道之后接收信号的眼图。

7.16QAM信号的解调

利用demodulate和modem.qamdemod函数生成解调器,对接收到的信号进行解调,并将16进制信号转化成二进制比特流信息。

8.计算误码率

将最终得到的比特流信息和原始发送的比特流信息进行对比,最终计算出误码率。

相应的MATLAB程序代码如下

M=16;

k=log2(M);

n=100000; %比特序列长度

samp=1; %过采样率

x=randint(n,1); %生成随机二进制比特流

stem(x(1:50),'filled'); %画出相应的二进制比特流信号title('二进制随机比特流');

xlabel('比特序列');ylabel('信号幅度');

x4=reshape(x,k,length(x)/k); %将原始的二进制比特序列每4个一组分组,并排列成k行length(x)/k列的矩阵

xsym=bi2de(x4,'left-msb'); %将矩阵转化为相应的16进制信号序列figure;

stem(xsym(1:50)); %画出相应的16进制信号序列title('16进制随机信号');

xlabel('信号序列');ylabel('信号幅度');

y=modulate(modem.qammod(M),xsym); %用16QAM调制器对信号进行调制scatterplot(y); %画出16QAM信号的星座图

text(real(y)+0.1,imag(y),dec2bin(xsym));

axis([-5 5 -5 5]);

EbNo=15; %假设Eb/No=15db;

snr=EbNo+10*log10(k)-10*log10(nsamp); %信噪比

yn=awgn(y,snr,'measured'); %加入高斯白噪声

h=scatterplot(yn,nsamp,0,'b.'); %经过信道后接收到的含白噪声的信号星座图hold on;

scatterplot(y,1,0,'k+',h); %加入不含白噪声的信号星座图title('接收信号星座图');

legend('含噪声接收信号','不含噪声信号');

axis([-5 5 -5 5]);

hold off;

eyediagram(yn,2); %眼图

yd=demodulate(modem.qamdemod(M),yn); %此时解调出来的是16进制信号z=de2bi(yd,'left-msb'); %转化为对应的二进制比特流z=reshape(z.',numel(z),1);

[number_of_errors,bit_error_rate] = biterr(x,z) %计算误码率

程序运行结果如下:

number_of_errors =

bit_error_rate =

图1-1

图1-2

图1-3

图1-4

图1-5

二.16PSK信号

多进制相位键控MPSK是利用载波的相位变化来传递信息的调制方式。 发送机原理图:

16PSK接收机原理图:

16PSK信号的仿真:

16PSK信号的仿真过程与16QAM类似,基本流程是相同的,如下所述:

1.产生一个随机的二进制的比特流。

2.将二进制比特流转换成对应的十六进制信号。

3.用16PSK调制器对信号进行调制并画出信号的星座图。

4.在16PSK信号中加入高斯白噪声。

5.画出通过信道之后接收信号的星座图。

6.生成信号眼图。

7.16PSK信号的解调。

8.计算误码率。

仿真过程中所使用的为16PSK调制器和16PSK解调器,并且为了更好的与16QAM信号的调制解调进行对比,在用MATLAB代码实现仿真的时候最好是利用16QAM仿真过程中生成的二进制比特流。这样,使用相同的信号源进行仿真得出的结果更具有对比性。

相应的MATLAB程序代码如下:

stem(x(1:50),'filled'); %随机二进制比特流直接采用16QAM中生成的比特流title('二进制随机比特流');

xlabel('比特序列');ylabel('信号幅度');

x4=reshape(x,k,length(x)/k); %将原始的二进制比特序列每4个一组分组,并排列成k行length(x)/k列的矩阵

xsym=bi2de(x4.’,'left-msb'); %将矩阵转化为相应的16进制信号序列figure;

stem(xsym(1:50)); %画出相应的16进制信号序列title('16进制随机信号');

xlabel('信号序列');ylabel('信号幅度');

y=modulate(modem. pskmod(M),xsym); %用16PSK调制器对信号进行调制scatterplot(y); %画出16PSK信号的星座图

text(real(y)+0.1,imag(y),dec2bin(xsym));

axis([-5 5 -5 5]);

EbNo=15; %假设Eb/No=15db;

snr=EbNo+10*log10(k)-10*log10(nsamp); %信噪比

yn=awgn(y,snr,'measured'); %加入高斯白噪声

h=scatterplot(yn,nsamp,0,'b.'); %经过信道后接收到的含白噪声的信号星座图hold on;

scatterplot(y,1,0,'k+',h); %加入不含白噪声的信号星座图title('接收信号星座图');

legend('含噪声接收信号','不含噪声信号');

axis([-5 5 -5 5]);

hold off;

eyediagram(yn,2); %眼图

yd=demodulate(modem.pskdemod(M),yn); %此时解调出来的是16进制信号z=de2bi(yd,'left-msb'); %转化为对应的二进制比特流z=reshape(z.',numel(z),1);

[number_of_errors,bit_error_rate] = biterr(x,z) %计算误码率

程序运行结果如下:

number_of_errors =

121

bit_error_rate =

0.0012

图2-1

图2-2

图2-3

图2-4

图2-5

三.综合分析:

在对相同的二进制信息比特流进行调制解调仿真的过程中,我们设定两种调制方式下都有Eb/No=15db,在这两个前提条件下,我们来比较16QAM和16PSK 调制方式的性能优劣。

首先看仿真的误码率结果,16QAM的误码率为0,而16PSK的误码率为

0.0012,显然16QAM的误码性能优于16PSK调制信号。而事实上在我们仿真的过程中当设定Eb/No=13db时16QAM的误码率已经为零了。

其次看两种调制方式仿真的星座图,图1-4和图2-4,从图中明显可以看出16QAM信号相邻两个信号的距离大于16PSK相邻两信号之间的距离。

再次看两种调制方式的眼图,由仿真图1-5和图2-5明显可以看出16QAM信号

的眼图优于16PSK的眼图,在图中可以看出当Eb/No=15db时16QAM信号的眼图

还比较清晰,性能比较好。而16PSK 信号的眼图基本闭合,性能不良。

带宽利用率方面,在相同的二进制信息比特流的情况下,16QAM和16PSK信号的带宽利用率相同,均为2/)(log 2M 。

综上所述,16QAM信号的总体性能明显优于16PSK信号。 补充:

本组成员包括于丹和李亚儒,本实验是我们两个人共同合作完成的结果。我们两人之前基本没有使用过MATLAB ,从学习MATLAB 到查找通信资料,到查找以及使用相关的通信工具函数,最终能完成本次实验与我们良好的沟通与合作是分不开的。MATLAB 代码的编写是两人讨论完成的,其中16QAM 部分主要由于丹编写,16PSK 部分主要由李亚儒编写,并且于丹负责完成本次实验报告的初稿,李亚儒负责最后的修订补充。

模拟调制仿真

课程设计报告题目模拟调制仿真

目录 一.原理 (1) 二.编程思想 (2) 三.结果 (3) 四.分析 (5) 五.程序代码 (8)

一.原理 1.1模拟调制原理 模拟调制包括幅度调制(DSB,SSB,AM)和相角调制(频率和相位调制)。在本次设计中主要讨论模拟调制中的幅度调制,幅度调制即用基带调制信号去控制高频载波的幅度,使其按基带信号的规律变化的过程。幅度调制主要有AM调制,DSB调制,SSB调制。他们的调制原理如下,AM调制:AM 是用调制信号去控制高频正弦载波的幅度,使其按调制信号的规律变化的过程;DSB调制:在幅度调制的一般模型中,若假设滤波器为全通网络,调制信号中无直流分量,则输出的已调信号就是无载波分量的双边调制信号,或称抑制载波双边带调制信号;SSB调制:由于 DSB 信号的上、下两个边带是完全对称的,皆携带了调制信号的全部信息,因此从信息传输的角度来考虑,仅传输其中一个边带。 1.2 AM调制 AM信号的时域表示式: 频谱: 调制器模型如图所示: 1.3 DSB调制 DSB信号的时域表示式 频谱: 1.4 相干解调 相干解调器原理:为了无失真地恢复原基带信号,接收端必须提供一个与接收的已调载波严格同步(同频同相)的本地载波(称为相干载波),它与接收的已调信号相乘后,经低 00 ()[()]cos cos()cos AM c c c s t A m t t A t m t t ωωω =+=+ 1 ()[()()][()()] 2 AM c c c c S A M M ωπδωωδωωωωωω=++-+++- ? () m t() m s t c t ⊕

QPSK调制解调的系统仿真实验

第26卷第5期 杭州电子科技大学学报Vol.26,No.5 2006年10月Jo urnal of Ha ngzhou Dianzi Uni versi ty Oct.2006 QPSK 调制解调的系统仿真实验 高雪平1,官伯然1,汪海勇2 (1.杭州电子科技大学电子信息学院,浙江杭州310018;2.电子工业部第五十研究所,上海200063) 收稿日期:2006-09-30 作者简介:高雪平(1981-),女,浙江温州人,在读研究生,电磁场与微波技术.摘要:该文介绍了各种信息技术中信息的传输及通信起着支撑作用,而对于信息的传输,数字通信 已成为重要手段。该文根据当今现代通信技术的发展,对QPSK 信号的调制解调问题进行了分析, 并给出了用美国E LANIX 公司的动态系统设计、仿真和分析软件System View 进行系统仿真的具体 设置,分析了仿真结果,并提出了用FPGA 技术实现这种系统的详细方法。 关键词:四相相移键控信号;调制解调;现场可编程门阵列 中图分类号:TN401 文献标识码:A 文章编号:1001-9146(2006)05-0052-04 0 引 言 近年来,软件无线电作为解决通信体制兼容性问题的重要方法受到各方面的注意。它的中心思想是在通用的硬件平台上,用软件来实现各种功能,包括调制解调类型、数据格式、通信协议等。通过软件的增加、修改或升级就可以实现新的功能,充分体现了体制的灵活性、可扩展性等。其中高性能、高频谱效率的调制解调模块是移动通信系统的关键技术,它的软件化也是实现软件无线电的重要环节。四相相移键控信号(Quardrature Phase-Shift Keying,QPSK)。它具有一系列独特的优点,比如抗干扰能力强,在恒参信道下,QPSK 调制技术与FSK 、2PSK 、ASK 调制技术相比较,不但抗干扰能力强,而且能更经济有效地利用频带,适合回传通道的技术要求,因此被广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。FPGA 器件是20世纪80年代中期出现的一种新的概念。FPGA 器件可反复编程,重复使用,没有前期投资风险,且可以在开发系统中直接进行系统仿真,也没有工艺实现的损耗。所以本文对QPSK 调制解调系统进行深入的原理分析,并用动态系统工具SystemView 进行仿真,提出基于FPGA 的实现方案。 1 QPSK 调制解调的原理 数字相位调制(Phase-Shift Keying,PSK)。是角度调制、恒定幅度数字调制的一种方式,通过改变发送波的相位来实现,除了其输入信号是数字信号以及输出的相位受限制以外,PSK 与传统的相位调制相似,对于经过M=2k 相位调制的数字信号来说,载波信号的相位一般有 m = 2 m M (m=0,1, ,M-1),因此调制信号如: S m (t )=E s g T (t)cos m cos c t-E s g T (t)sin m sin c t

JAVA洗衣机仿真程序实验报告及代码

一.实验题目:用java编写洗衣机仿真程序 二.实验目的: 1.熟悉并掌握洗衣机(全自动)的工作原理和运行过程. 2.学会软件工程设计中的一系列分析研究,对需求分析,可行性研究,软件 模型等有一定的了解,为以后的软件设计工作打下良好的基础。 3.通过的洗衣机仿真系统的编写与学习,加深了对Java这门语言的了解, 对其中的类的设计,类之间的关系,界面的设计(按钮及布局的设计)有了更深的了解与体会,为Java的学习做好准备工作。 三.实验要求: 了解全自动洗衣机的简单工作过程及实现。其中包括,洗衣的方式(标准或是柔和)、洗衣中的水位选择(高水位洗衣、低水位洗衣等)等方面需要在人们将衣服放入洗衣机洗衣服之后手动来选择;并且是必须选择的洗衣参数。当选择了一种洗衣参数后,按下启动按钮,洗衣机就会自动完成洗衣服的整个过程。在满足基本功能以外,还需要尽量考虑外观、造型、节水等方面的设计,符合人机界面的基本要求。 四.实验分析: 1.洗衣机需求分析: 标准清洗:浸泡/清洗/甩干 快速清洗:清洗/甩干 大件衣物(冬衣,牛仔类):浸泡(温水,延长浸泡/清洗(延长筒转时间)/甩干床单,窗帘类:浸泡(温水)/清洗 根据衣物的不同用按钮选择上述洗衣模式即可.其中甩干可选可不选. 尽量设计了一个节水功能,可以实现水回收.在无需甩干时水不流走,余下的水可做其他用途,实现节水. 2.主要的类实现 (1).继承类 (2).包括进水,排水,洗涤,漂洗,甩干等成员函数 (3).水位的选择通过参数传递决定进水函数 (4).其余通过调用筒的转动函数(run)并通过一定的参数控制实现

3.程序设计步骤 ≡≥选择水温 ≡≥放入衣物 ≡≥选择洗衣模式 ≡≥脱水 ≡≥排水 ≡≥烘干 ≡≥关闭 五.设计与实现过程: 1.洗衣机类的部分实现: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Washing extends JApplet{ private JFrame jf; private JButton jb1,jb2,jb3,jb4,jb5,jb6; public static void main(String[] args){ Washing flowTest=new Washing(); flowTest.setSize(270,160); flowTest.go(); //flowTest.show(true); } public void go(){ jf=new JFrame("洗衣机功能模拟器"); Container cp=jf.getContentPane(); cp.setLayout(null); jb1=new JButton("入水"); jb2=new JButton("加衣"); jb3=new JButton("脱水"); jb4=new JButton("排水"); jb5=new JButton("烘干"); jb6=new JButton("关闭"); // Container cp=jf.getContentPane(); // cp.setLayout(new BorderLayout()); jb1.setBounds(10, 10, 80, 80); cp.add(jb1); //指定组件追加到这个容器的末尾。这是一个方便的方法为addImpl。 //注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用验证只有一次,已添加的所有组件后提高效率。 jb2.setBounds(110, 10, 80, 80); cp.add(jb2);

FM调制解调系统设计与仿真

贵州大学明德学院 《高频电子线路》 课程设计报告 题目:模拟角度调制系统 学院:明德学院 专业:电子信息工程 班级: 学号: 姓名:周科远 指导老师:宁阳 2012年1月 1日

《高频电子线路》课程设计任务书 一、课程设计的目的 高频电子线路课程设计是专业实践环节之一,是学习完《高频电子线路》课程后进行的一次全面的综合练习。其目的让学生掌握高频电子线路的基本原理极其构造和运用,特别是理论联系实践,提高学生的综合应用能力。 二、课程设计任务 课程设计一、高频放大器 课程设计二、高频振荡器 课程设计三、模拟线性调制系统 课程设计四、模拟角度调制系统 课程设计五、数字信号的载波传输 课程设计六、通信系统中的锁相环调制系统 共6个课题选择,学生任选一个课题为自己的课程设计题目,独立完成;具体内容按方向分别进行,不能有雷同;任务包括原理介绍、系统仿真、波形分析等;要求按学校统一的课程设计规范撰写一份设计说明书。 三、课程设计时间 课程设计总时间1周(5个工作日) 四、课程设计说明书撰写规范 1、在完成任务书中所要求的课程设计作品和成果外,要撰写课程设计说明书1份。课程设计说明书须每人一份,独立完成。 2、设计说明书应包括封面、任务书、目录、摘要、正文、参考文献(资料)等内容,以及附图或附件等材料。 3、题目字体用小三,黑体,正文字体用五号字,宋体,小标题用四号及小四,宋体,并用A4纸打印。

目录 摘要...................................................................I ABSTRACT .............................................................II 一.课程设计的目的与要求.. (1) 1.1课程设计的目的 (1) 1.2课程设计的要求 (1) 二.FM调制解调系统设计 (2) 2.1FM调制模型的建立 (3) 2.2调制过程分析 (3) 2.3FM解调模型的建立 (4) 2.4解调过程分析 (5) 2.5高斯白噪声信道特性 (6) 2.6调频系统的抗噪声性能分析 (9) 三.仿真实现 (10) 3.1MATLAB源代码 (11) 3.2仿真结果 (15) 四.心得体会 (18) 五.参考文献 (19)

单片机课设(三篇课设均带带仿真图和源程序代码)

12232 LCD PROTEUS仿真(51C) 12232在proteus 里模型用关键字P ,“12232”查不出LCD的,要用1232 查找。 好不容易得到模型,编写程序,一直不能成功。第一个字符正常,后面的就乱了。最后才明白:12232的模型和实物不一样,共4页(这和实物一样),每页只能从地址0开始,水平方向从左往右显示。另外,按实物的程序,仿真中显示是相反的,所以初始化时应改为反向显示,仿真显示才正常。 //12232LCD proteus仿真 //2012 01 20 E:\DPJ_C\12232\12232UV4\12232_2C.C #include #include #include"chr16.h" #define uchar unsigned char #define uint unsigned int #define LCD_DB P0 sbit E2=P3^5; sbit E1=P3^6; sbit A0=P3^7; void WR_Mcom(uchar i) { E1=1; _nop_();

A0=0; _nop_(); _nop_(); LCD_DB=i; _nop_(); _nop_(); E1=0; _nop_(); _nop_(); } void WR_Mdat(uchar i) { E1=1; _nop_(); _nop_(); A0=1; _nop_(); _nop_(); LCD_DB=i; _nop_(); _nop_(); E1=0; _nop_(); _nop_(); } void WR_Scom(uchar i) { A0=0; _nop_(); _nop_(); E2=1; _nop_(); _nop_(); LCD_DB=i; _nop_(); _nop_(); E2=0; _nop_();

基于Matlab模拟通信系统仿真设计

目录 摘要------------------------------------------------------4 第一章课程设计容及要求--------------------------------4 1、课程设计的容-----------------------------------4 2、课程设计的要求-----------------------------------4 第二章通信系统的调制与解调------------------------------5 1、通信系统的概念----------------------------------5 2、调制和解调的概念--------------------------------6 第三章MATLAB软件及功能介绍------------------------------7 1、MATLAB软件简介-----------------------------------7 2、GUI功能简介--------------------------------------7 3、基于MATLAB相关函数介绍---------------------------8 第四章四种模拟信号的调制解调---------------------------10 1、AM的调制与解调---------------------------------10 2、DSB的调制与解调--------------------------------13 3、SSB的调制与解调--------------------------------16 4、FM的调制与解调---------------------------------19 5、GUI界面的设计----------------------------------23 第五章总结与结束语-------------------------------------25 1、各调制解调方式性能分析总结----------------------25

Keil Monitor-51仿真板的制作与使用

Keil Monitor-51仿真板的制作与使用 摘要: 介绍支持Keil C51的Monitor-51仿真板硬件电路及监控程序的生成方法,对使用中常出现的问题给出了解决方法。 关键词: 单片机 C语言仿真板监控程序 MCS-51单片机在我国应用最为广泛、经久不衰。以往单片机应用程序主要用汇编语言编写。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序不但周期长,而且调试和排错也比较困难。为了提高编制单片机应用程序的效率,改善程序的可读性和可移植性,采用高级语言无疑是一种最好的选择。C语言是一种通用的计算机程序设计语言,既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许多以往只能采用汇编语言来解决的问题现在都可以改用C语言解决。德国Keil Software公司多年来致力于单片机C语言编译器的研究。该公司开发的Keil C51是一种专为8051单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言相媲美。 近年来,Keil C51不断升级,目前最高版本为V6.20。高版本的Keil C51编译器,尤其是Keil μVision2 (基于Windows的C51集成编译环境)以其性能优越、使用方便,受到了众多单片机爱好者的欢迎。Keil C51以软件包的形式向用户提供主要包括C51交叉编译器、A51宏汇编器、BL连接定位器等一系列工具和μVision2、软件仿真器dScope51等开发平台。C51具有丰富的函数库,包含100多种功能函数,为用户编程提供了极大的方便。C51程序可以实现与汇编语言的接口,两者相互之间的调用十分方便。 但目前支持高版本Keil C51编程的仿真器不多,且价格较高。为此Keil C51提供了Monitor-51仿真板的制作方法,但无完整的硬件电路图,软件设置也比较繁琐。也有关于自制Monitor-51仿真板的专门讨论,有很多爱好者在制作仿真板时遇到一些问题,当然也有成功者。笔者也是Keil C51的用户,并成功自制了Monitor-51仿真板,有一些心得。本文提供了Monitor-51仿真板的硬件电路,并对其进行了分析,详细说明了监控程序的生成方法,对使用中常出现的问题给出了解决方法。 1 硬件电路 Monitor-51仿真板的硬件资源要求如下: ·5K字节的程序存储空间,用于存放监控程序; ·256字节的外部数据存储单元(系统需要)和可选的5K字节的跟踪缓冲区; ·足够大的外部数据存储空间用于装载完整的用户应用程序; ·串行口及一个用作波特率发生器的内部定时器; ·6字节的堆栈空间,用于用户程序的测试; ·如果用户程序大于64K字节,P1口的部分引脚要用于程序存储空间扩展; ·其它资源均可为应用程序所用。 根据以上要求,笔者设计的Monitor-51仿真板电路原理如图1。 需要说明的是,图1中存放用户程序的32K字节外部数据存储器62256的是将CPU的称为von Neumann接法。此时外部数据存储器在就相当于外部程序存储器,当然监控程序的存放地址空间不能与这种接法的外部数据存储空间相重复。von Neumann接法的另一个作用是调试时可以在用户程序代码中设置断点,监控程序修改用户程序代码在所有的断点处插入ACALL指令。

基于MATLAB的模拟调制系统仿真与测试(AM调制)

闽江学院 《通信原理设计报告》 题目:基于MATLAB的模拟调制系统仿真与测试学院:计算机科学系 专业:12通信工程 组长:曾锴(3121102220) 组员:薛兰兰(3121102236) 项施旭(3121102222) 施敏(3121102121) 杨帆(3121102106) 冯铭坚(3121102230) 叶少群(3121102203) 张浩(3121102226) 指导教师:余根坚 日期:2014年12月29日——2015年1月4日

摘要在通信技术的发展中,通信系统的仿真是一个重点技术,通过调制能够将信号转化成适用于无线信道传输的信号。 在模拟调制系统中最常用最重要的调制方式是用正弦波作为载波的幅度调制和角度调制。在幅度调制中,文中以调幅、双边带和单边带调制为研究对象,从原理等方面阐述并进行仿真分析;在角度调制中,以常用的调频和调相为研究对象,说明其调制原理,并进行仿真分析。利用MATLAB下的Simulink工具箱对模拟调制系统进行仿真,并对仿真结果进行时域及频域分析,比较各个调制方式的优缺点,从而更深入地掌握模拟调制系统的相关知识,通过研究发现调制方式的选取通常决定了一个通信系统的性能。 关键词模拟调制;仿真;Simulink 目录 第一章绪论 (1) 1.1 引言 (1) 1.2 关键技术 (1) 1.3 研究目的及意义 (2) 1.4 本文工作及内容安排 (2) 第二章模拟调制原理 (3) 2.1 幅度调制原理 (3) 2.1.1 AM调制 (4) 第三章基于Simulink的模拟调制系统仿真与分析 (6) 3.1 Simulink工具箱简介 (6) 3.2 幅度调制解调仿真与分析 (8) 3.2.1 AM调制解调仿真及分析 (8) 第四章总结 (12) 4.1 代码 (13) 4.2 总结 (14)

FM调制解调系统设计与仿真

课程设计任务书 学生:专业班级: 指导教师:工作单位: 题目: FM信号的仿真分析 初始条件:调制信号:分别为300Hz正弦信号和三角波信号;载波频率:30kHz;解调方式:同步解调。 要求完成的主要任务: 要求能够熟练应用MATLAB语言编写基本的通信系统的应用程序,进行模拟调制系统,数字基带信号的传输系统的建模、设计与仿真。所有的仿真用MATLAB程序实现,系统经过的信道都假设为高斯白噪声信道。 画出以下三种情况下调制信号、已调信号、解调信号的波形、频谱以及解调器输入输出信噪比的关系曲线;(①调制指数=0.5;②调制指数=1;③调制指数=3) 时间安排:1、2013年12 月19 日,布置课设具体实施计划与课程设计报告格式的要求说明。 2、2013 年12 月19 日至2013 年12 月20 日,方案选择和电路设计。 3、2013 年12 月21 日至2013 年12月25 日,电路调试和设计说明书撰写。 4、2014 年 1 月8 日,上交课程设计成果及报告,同时进行答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要...................................................................................................I ABSTRACT ................................................................................................II 一.通信系统介 (1) 二.FM调制解调系统设计 (3) 2.1MATBLAB简介 (3) 2.2 FM调制模型的建立 (3) 2.3 FM调制仿真结果 (6) 2.4 FM解调模型的建立 (6) 2.5 解调过程分析 (7) 2.6高斯白噪声信道特性 (8) 2.7信噪比分析 (9) 2.8调频系统的抗噪声性能分析 (10) 三.仿真实现 (12) 3.1 MATLAB源代码 (12) 3.2MATLAB仿真结果及分析 (12) 四.心得体会 (14) 五.参考文献 (14)

MATLAB环境下16QAM调制解调仿真程序说明

姓名:Nikey MATLAB环境下16QAM调制及解调仿真程序说明 一、正交调制及相干解调原理框图 正交调制原理框图 相干解调原理框图 二、MQAM调制介绍及本仿真程序的几点说明 MQAM可以用正交调制的方法产生,本仿真中取M=16,即幅度和相位相结合的 16个信号点的调制。 为了观察信道噪声对该调制方式的影响,我们在已调信号中又加入了不同强度的高斯白噪声,并统计其译码误码率。 为了简化程序和得到可靠的误码率,我们在解调时并未从已调信号中恢复载波,而是直接产生与调制时一模一样的载波来进行信号解调。

三、仿真结果图

附源程序代码: main_plot.m clear;clc;echo off;close all; N=10000; %设定码元数量 fb=1; %基带信号频率 fs=32; %抽样频率 fc=4; %载波频率,为便于观察已调信号,我们把载波频率设的较低Kbase=2; % Kbase=1,不经基带成形滤波,直接调制; % Kbase=2,基带经成形滤波器滤波后,再进行调制 info=random_binary(N); %产生二进制信号序列 [y,I,Q]=qam(info,Kbase,fs,fb,fc); %对基带信号进行16QAM调制 y1=y; y2=y; %备份信号,供后续仿真用 T=length(info)/fb; m=fs/fb; nn=length(info); dt=1/fs; t=0:dt:T-dt; subplot(211); %便于观察,这里显示的已调信号及其频谱均为无噪声干扰的理想情况 %由于测试信号码元数量为10000个,在这里我们只显示其总数的1/10 plot(t(1:1000),y(1:1000),t(1:1000),I(1:1000),t(1:1000),Q(1:1000),[0 35],[0 0],'b:'); title('已调信号(In:red,Qn:green)'); %傅里叶变换,求出已调信号的频谱 n=length(y); y=fft(y)/n; y=abs(y(1:fix(n/2)))*2; q=find(y<1e-04); y(q)=1e-04; y=20*log10(y); f1=m/n; f=0:f1:(length(y)-1)*f1; subplot(223); plot(f,y,'r'); grid on; title('已调信号频谱'); xlabel('f/fb'); %画出16QAM调制方式对应的星座图 subplot(224); constel(y1,fs,fb,fc); title('星座图'); SNR_in_dB=8:2:24; %AWGN信道信噪比 for j=1:length(SNR_in_dB) y_add_noise=awgn(y2,SNR_in_dB(j)); %加入不同强度的高斯白噪声 y_output=qamdet(y_add_noise,fs,fb,fc); %对已调信号进行解调 numoferr=0; for i=1:N if (y_output(i)~=info(i)), numoferr=numoferr+1; end; end; Pe(j)=numoferr/N; %统计误码率 end;

模拟通信调制解调技术的仿真实现

南昌工程学院 《通信原理》课程设计 题目模拟通信调制解调技术的仿真实现—— 相角调制——频率调制 课程名称通信系统原理 系院信息工程学院 专业09通信工程 班级一班 学生姓名 学号 设计地点电子信息楼B405 指导教师侯友国 设计起止时间:2012年6月4日至2012年6月15日

目录 一、需求分析 (2) 二、系统总体设计 (2) 三、系统详细设计 (4) 1.解调过程分析 (4) 四、调试与维护 (5) 频率调制的Matlab演示源程序 (5) 六、参考文献 (8) 七、指导教师评阅(手写) (9)

)(K π <

FM系统仿真

FM系统仿真 1.课程设计目的 (1)熟悉MATLAB文件中M文件的使用方法,包括函数、原理和方法的应用。(2)加深对FM信号调制原理的理解。 (3)增强在通信原理仿真方面的动手能力与自学能力。 (4)在做完FM调制仿真之后,在今后遇到类似的问题,学会对所面对的问题进行系统的分析,并能从多个层面进行比较。 2.课程设计要求 (1)掌握课程设计的相关知识、概念清晰。 (2)程序设计合理、能够正确运行。 (3)利用MATLAB软件进行仿真设计。 (4)对FM仿真结果进行分析。 3.相关知识 3.1通信系统 通信的目的是传输信息。通信系统的作用就是将信息从信息源发送到一个或多个目的地。对于任何一个通信系统,均可视为由发送端、信道和接收端三大部分组成(如图3.1.1所示)。 图3.1.1 模拟通信系统一般模型

信息源(简称信源)的作用是把各种信息转换成原始信号。根据消息的种类不同信源分为模拟信源和数字信源。发送设备的作用产生适合传输的信号,即使发送信号的特性和信道特性相匹配,具有抗噪声的能力,并且具有足够的功率满足原距离传输的需求。 信息源和发送设备统称为发送端。 发送端将信息直接转换得到的较低频率的原始电信号称为基带信号。通常基带信号不宜直接在信道中传输。因此,在通信系统的发送端需将基带信号的频谱搬移(调制)到适合信道传输的频率范围内进行传输。这就是调制的过程。 信号通过信道传输后,具有将信号放大和反变换功能的接收端将已调制的信号搬移(解调)到原来的频率范围,这就是解调的过程。 信号在信道中传输的过程总会受到噪声的干扰,通信系统中没有传输信号时也有噪声,噪声永远存在于通信系统中。由于这样的噪声是叠加在信号上的,所以有时将其称为加性噪声。噪声对于信号的传输是有害的,它能使模拟信号失真。在本仿真的过程中我们假设信道为高斯白噪声信道。 调制在通信系统中具有十分重要的作用。一方面,通过调制可以把基带信号的频谱搬移到所希望的位置上去,从而将调制信号转换成适合于信道传输或便于信道多路复用的已调信号。另一方面,通过调制可以提高信号通过信道传输时的抗干扰能力,同时,它还和传输效率有关。具体地讲,不同的调制方式产生的已调信号的带宽不同,因此调制影响传输带宽的利用率。可见,调制方式往往决定一个通信系统的性能。在本仿真的过程中我们选择用调频调制方法进行调制。 调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。而解调是将位于载频的信号频谱再搬回来,并且不失真地恢复出原始基带信号。在本仿真的过程中我们选择用非相干解调方法进行解调。 3.2 FM系统 FM属于角度调制,角度调制与线性调制不同,已调信号频谱不再是原调制信号频谱的线性搬移,而是频谱的非线性变换,会产生与频谱搬移不同的新的频率成分,故又称为非线性调制。FM调制又称为频率调制,与幅度调制相比,角度调制的最突出的优势在于其较高的抗噪声性能,但获得这种优势的代价是角度

Protues仿真赛 仿真模块和程序代码

Protues仿真赛 DA模块(DAC0832) 实例程序(实现0到255八位二进制的模拟电压转换)#include "reg51.h" #define uchar unsigned char #define uint unsigned int #define out P1 sbitdac_cs=P2^0; sbitdac_wr=P2^1; void main() { uchar i=0,k=100; while(1)

{ out=i; dac_cs=0; dac_wr=0; dac_cs=1; dac_wr=1; i++; if(i>255) i=0; while(--k); } } ADC0804模块与红外测距传感器GP2D12

实例程序(将红外测距显示的距离化成P1口的八位二进制) uint adc0804() //adc0804读取数据并送入P1口,read=1991/(read+3)-7为距离传感器的计算公式 { wr = 0; read = P1; delayms(10); wr=1; delayms(10); read=1991/(read+3)-7; return read; } LCD1602模块初始化

#include #include #define uint unsigned int #define uchar unsigned char sbit LCD_RS=P2^0; //lcd1602数据、命令选择端sbit LCD_EN=P2^2; //lcd1602使能线 void LCD_init(void) //LCD初始化 { LCD_EN=0; write_cmd(0x38); write_cmd(0x0c); write_cmd(0x06); write_cmd(0x01); } void write_cmd(uchar com) //写命令到LCD { LCD_RS=0; P0=com; delayms(5); LCD_EN=1;

实验一(模拟调制系统调制及解调模拟)

实验一:模拟调制系统调制及解调模拟 实验要求: 1、 学生按照实验指导报告独立完成相关实验的内容; 2、 上机实验后撰写实验报告,记录下自己的实验过程,记录实验心得。 3、 以电子形式在规定日期提交实验报告。 实验指导 一、线性调幅 1. 普通调幅 原理介绍: 普通调幅 即:AM 幅度调制 ,常规双边带幅度调制(Double-SideBand Modulation Passband) 其中输入信号是u(t),输出信号是y(t),y(t)是个实信号,若u(t)=0cos u t Ω,则有 0()(())cos(2) ()(cos())cos(2)c c c a c a c y t u t U f t y t U m t f t u m U απθαπθ=++=+Ω+= ① 其中,α是输入信号的偏移,c f 是载波频率,θ是初始相位(设θ=0),c U 是载波幅度,a m 是调制指数。传输载波时,α=1;不传输载波时,α=0。 ()(1cos )cos ()cos cos()cos()22 c a c a a c c c c y t U m t t m m y t U t t t ωωωω=+Ω=++Ω+-Ω ② 由②得出,幅度调制的结果含有:载波c ω、上边带()c ω+Ω、下边带()c ω-Ω的

成分,双边带幅度调制的输出包含了载频高端和低端的频率成分。 参数说明: DSB AM Modulator Passband(双边带频带幅度调制器)的主要参数 DSB AM Demodulator Passband(双边带频带幅度解调器)的主要参数 系统仿真框图: 本例中信源是一个幅度为0.7,频率为8HZ的正弦信号。

雷达系统仿真matlab代码

% ======================================================================= ====================% % 该程序完成16个脉冲信号的【脉压、动目标显示/动目标检测(MTI/MTD)】 % ======================================================================= ====================% % 程序中根据每个学生学号的末尾三位(依次为XYZ)来决定仿真参数,034 % 目标距离为[3000 8025 9000+(Y*10+Z)*200 8025],4个目标 % 目标速度为[50 0 (Y*10+X+Z)*6 100] % ======================================================================= ====================% close all; %关闭所有图形 clear all; %清除所有变量 clc; % ======================================================================= ============% % 雷达参数 % % ======================================================================= ============% C=3.0e8; %光速(m/s) RF=3.140e9/2; %雷达射频 1.57GHz Lambda=C/RF;%雷达工作波长 PulseNumber=16; %回波脉冲数 BandWidth=2.0e6; %发射信号带宽带宽B=1/τ,τ是脉冲宽度 TimeWidth=42.0e-6; %发射信号时宽 PRT=240e-6; % 雷达发射脉冲重复周期(s),240us对应1/2*240*300=36000米最大无模糊距离 PRF=1/PRT; Fs=2.0e6; %采样频率 NoisePower=-12;%(dB);%噪声功率(目标为0dB) % ---------------------------------------------------------------% SampleNumber=fix(Fs*PRT);%计算一个脉冲周期的采样点数480; TotalNumber=SampleNumber*PulseNumber;%总的采样点数480*16=; BlindNumber=fix(Fs*TimeWidth);%计算一个脉冲周期的盲区-遮挡样点数; %====================================================================== =============% % 目标参数 % %====================================================================== =============% TargetNumber=4;%目标个数 SigPower(1:TargetNumber)=[1 1 1 0.25];%目标功率,无量纲 TargetDistance(1:TargetNumber)=[3000 8025 15800 8025];%目标距离,单位m 距离参数为[3000 8025 9000+(Y*10+Z)*200 8025] DelayNumber(1:TargetNumber)=fix(Fs*2*TargetDistance(1:TargetNumber)/C); % 把目标距离换算成采样点(距离门) fix函数向0靠拢取整 TargetVelocity(1:TargetNumber)=[50 0 204 100];%目标径向速度单位m/s 速度参数为[50 0 (Y*10+X+Z)*6 100]

matlab、lingo程序代码22-随机模拟与系统仿真

随机模拟与系统仿真 一. 随机现象的模拟 例: 超市出口有若干个收款台,两项服务:收款、装袋。顾客的到达的时间间隔是随机的;因顾客购买的货物量不同,所以服务时间的长短是随机的。 模拟这些随机现象,即利用计算机产生一系列数,每重复这一过程,产生的数列都不同,但是数列的构成服从一定的规律(概率分布),称这些数为随机数。 1. 随机变量及其分布 随机事件:在一定条件下有可能发生的事件, 其全体记为Ω 。 概率:随机事件A ∈ Ω发生的可能性的度量 P(A), 0 ≤P(A) ≤ 1. 定义: 在Ω的σ-集合类F 上的实值函数,P: ω → P(ω), ω ∈ F , 满足: 1. 非负性:P(ω)≥0, 2. 规范性:P(Ω)=1, 3. 可列可加性:对 ω =U A i ?Ω, {A i }是两两不相容的事件,则 P(ω)= ∑P(A i ) , 称P 为F 上的概率测度. 随机变量: 称在Ω上定义的实值函数 ξ :A → ξ (A) 为随机变量。 离散型: ξ ∈{a k ;k=1,2,…(,n)}, 连续型: ξ ∈(a, b) . 随机变量的分布函数:F(x):=P(ξ

单服务排队系统MATLAB仿真程序

单服务台系统MATLAB仿真 学号:1040408115 姓名:缪晨 一、引言 排队是日常生活中经常遇到的现象。通常,当人、物体或是信息的到达速率大于完成服务的速率时,即出现排队现象。排队越长,意味着浪费的时间越多,系统的效率也越低。在日常生活中,经常遇到排队现象,如开车上班、在超市等待结账、工厂中等待加工的工件以及待修的机器等。总之,排队现象是随处可见的。排队理论是运作管理中最重要的领域之一,它是计划、工作设计、存货控制及其他一些问题的基础。Matlab是MathWorks公司开发的科学计算软件,它以其强大的计算和绘图功能、大量稳定可靠的算法库、简洁高效的编程语言以及庞大的用户群成为数学计算工具方面的标准,几乎所有的工程计算领域,Matlab都有相应的软件工具箱。选用Matlab软件正是基于Matlab的诸多优点。二、排队模型 三.仿真算法原理 (1)顾客信息初始化 根据到达率λ和服务率μ来确定每个顾客的到达时间间隔和服务时间间隔。服务间隔时间可以用负指数分布函数exprnd()来生成。由于泊松过程的时间间隔也服从负指数分布, 故亦可由此函数生成顾客到达时间间隔。需要注意的是exprnd()的输入参数不是到达率λ和服务率μ 而是平均到达时间间隔1/λ

和平均服务时间1/μ。 根据到达时间间隔,确定每个顾客的到达时刻. 学习过C 语言的人习惯于使用FOR循环来实现数值的累加, 但FOR循环会引起运算复杂度的增加而在MATLAB 仿真环境中, 提供了一个方便的函数cumsum() 来实现累加功能读者可以直接引用 对当前顾客进行初始化。第1 个到达系统的顾客不需要等待就可以直接接受服务其离开时刻等于到达时刻与服务时间之和。 (2)进队出队仿真 在当前顾客到达时刻,根据系统内已有的顾客数来确定是否接纳该顾客。若接纳则根据前一顾客的离开时刻来确定当前顾客的等待时间、离开时间和标志位;若拒绝,则标志位置为0. 流程图如下:

相关文档
最新文档