基于MATLAB的模拟通信系统的设计
Matlab与通信仿真课程设计报告

Matlab与通信仿真课程设计报告Matlab与通信仿真课程设计报告班级:12通信(1)班姓名:诸葛媛学号:Xb12680129实验⼀S-函数&锁相环建模仿真⼀、实验⽬的1.了解S函数和锁相环的⼯作原理2.掌握⽤S函数建模过程,锁相环载波提取仿真⼆、实验内容1、⽤S函数编写Similink基本模块(1)信源模块实现⼀个正弦波信号源,要求其幅度、频率和初始相位参数可以由外部设置,并将这个信号源进⾏封装。
(2)信宿和信号显⽰模块实现⼀个⽰波器⽊块,要求能够设定⽰波器显⽰的扫描周期,并⽤这个⽰波器观察(1)的信源模块(3)信号传输模块实现调幅功能,输⼊⽤(1)信源模块,输出⽤(2)信宿模块;基带信号频率1KHz,幅度1V;载波频率10KHz,幅度5V实现⼀个压控正弦振荡器,输⼊电压u(t)的范围为[v1,v2]V,输出正弦波的中⼼频率为f0Hz,正弦波的瞬时频率f随控制电压线性变化,控制灵敏度为kHz/V。
输⼊⽤(1)信源模块,输出⽤(2)信宿模块2、锁相环载波提取的仿真(1)利⽤压控振荡器模块产⽣⼀个受10Hz正弦波控制的,中⼼频率为100Hz,频偏范围为50Hz到150Hz的振荡信号,并⽤⽰波器模块和频谱仪模块观察输出信号的波形和频谱。
(2)构建⼀个抑制载波的双边带调制解调系统。
载波频率为10KHz,被调信号为1KHz正弦波,试⽤平⽅环恢复载波并进⾏解调。
(3)构建⼀个抑制载波的双边带调制解调系统。
载波频率为10KHz,被调信号为1KHz正弦波,试⽤科斯塔斯环恢复载波并进⾏解调。
(4)设参考频率源的频率为100Hz,要求设计并仿真⼀个频率合成器,其输出频率为300Hz。
并说明模型设计上与实例3.26的主要区别三、实验结果分析1、⽤S函数编写Similink基本模块(3)为了使S函数中输⼊信号包含多个,需要将其输⼊变量u初始为制定维数或⾃适应维数,⽽在S函数模块外部采⽤Simulink基本库中的复⽤器(Mux)将3⾏的信号矩阵。
基于matlab的ofdm通信系统设计与仿真开题报告

基于matlab的ofdm通信系统设计与仿真开题报告一、选题背景随着通信技术的不断发展,OFDM技术成为了通信系统中广泛应用的一种调制技术。
OFDM技术相对于传统的调频调幅技术具有许多优势,例如对多径衰落的敏感性更低、扩频抗干扰性能更好等等。
因此,在实际应用场景中,OFDM技术得到了越来越广泛的应用。
因此,基于matlab的OFDM通信系统设计与仿真的研究也变得越来越受到人们的关注。
二、研究内容本文拟研究基于matlab的OFDM通信系统设计与仿真技术,研究内容包括以下几个方面:1. OFDM基础本文将首先介绍OFDM技术的基础知识,例如OFDM信号的生成、调制与解调原理等等。
同时,还会介绍OFDM技术的优缺点、应用领域等相关内容,以便更好地理解OFDM 技术在通信系统中的应用。
2. OFDM通信系统设计在了解了OFDM技术的基础知识之后,本文将研究如何基于matlab实现OFDM通信系统的设计。
具体而言,将会介绍OFDM通信系统中不同模块的实现,例如QPSK调制器、加扰器、插零器、IFFT模块、CP插入模块等等。
3. OFDM通信系统仿真通过matlab的仿真工具,可以对OFDM通信系统进行全面的仿真,并得到各种参数的数据。
本文将详细介绍如何进行OFDM通信系统的仿真设计,以及如何评估OFDM通信系统的性能。
三、研究意义随着通信技术的不断发展,OFDM技术正在逐渐成为通信系统中的主流技术之一。
因此,基于matlab的OFDM通信系统设计与仿真技术的研究对于通信系统的研发和应用具有十分重要的意义。
通过本文的研究,可以更好地了解OFDM技术的应用原理、技术优势和性能表现,同时也可以更加深入地理解无线通信系统这一领域。
四、研究方法与流程本文的研究方法主要包括文献调研、matlab仿真、性能评估等方面。
具体研究流程如下:1. 文献调研:在开始研究之前,需要进行大量的文献调研,了解OFDM技术的基础知识、历史发展、应用场景等等。
无线通信原理-基于matlab的ofdm系统设计与仿真

无线通信原理-基于matlab的ofdm系统设计与仿真基于matlab的ofdm系统设计与仿真摘要OFDM即正交频分复用技术,实际上是多载波调制中的一种。
其主要思想是将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到相互正交且重叠的多个子载波上同时传输。
该技术的应用大幅度提高无线通信系统的信道容量和传输速率,并能有效地抵抗多径衰落、抑制干扰和窄带噪声,如此良好的性能从而引起了通信界的广泛关注。
本文设计了一个基于IFFT/FFT算法与802.11a标准的OFDM系统,并在计算机上进行了仿真和结果分析。
重点在OFDM系统设计与仿真,在这部分详细介绍了系统各个环节所使用的技术对系统性能的影响。
在仿真过程中对OFDM信号使用QPSK 调制,并在AWGN信道下传输,最后解调后得出误码率。
整个过程都是在MATLAB环境下仿真实现,对ODFM系统的仿真结果及性能进行分析,通过仿真得到信噪比与误码率之间的关系,为该系统的具体实现提供了大量有用数据。
- 1 -第一章 ODMF系统基本原理1.1多载波传输系统多载波传输通过把数据流分解为若干个子比特流,这样每个子数据流将具有较低的比特速率。
用这样的低比特率形成的低速率多状态符号去调制相应的子载波,构成了多个低速率符号并行发送的传输系统。
在单载波系统中,一次衰落或者干扰就会导致整个链路失效,但是在多载波系统中,某一时刻只会有少部分的子信道会受到衰落或者干扰的影响。
图1,1中给出了多载波系统的基本结构示意图。
图1-1多载波系统的基本结构多载波传输技术有许多种提法,比如正交频分复用(OFDM)、离散多音调制(DMT)和多载波调制(MCM),这3种方法在一般情况下可视为一样,但是在OFDM中,各子载波必须保持相互正交,而在MCM则不一定。
1.2正交频分复用OFDM就是在FDM的原理的基础上,子载波集采用两两正交的正弦或余弦函sinm,tcosn,t数集。
基于MATLAB的MIMO-OFDM通信系统的仿真

基于MATLAB的MIMO-OFDM通信系统的仿真0 引言5G技术的逐步普及,使得我们对海量数据的存储交换,以及数据传输速率、质量提出了更高的要求。
信号的准确传播显得越发重要,随之而来的是对信道模型稳定性、抗噪声性能以及低误码率的要求。
本次研究通过构建结合空间分集和空间复用技术的MIMO信道,引入OFDM 技术搭建MIMO-OFDM 系统,在添加保护间隔的基础上探究其在降低误码率以及稳定性等方面的优异性能。
1 概述正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术通过将信道分成数个互相正交的子信道,再将高速传输的数据信号转换成并行的低速子数据流进行传输。
该技术充分利用信道的宽度从而大幅度提升频谱效率达到节省频谱资源的目的。
作为多载波调制技术之一的OFDM 技术目前已经在4G 中得到了广泛的应用,5G 技术作为新一代的无线通信技术,对其提出了更高的信道分布和抗干扰要求。
多输入多输出(Multi Input Multi Output,MIMO)技术通过在发射端口的发射机和接收端口的接收机处设计不同数量的天线在不增加频谱资源的基础上通过并行传输提升信道容量和传输空间。
常见的单天线发射和接收信号传输系统容量小、效率低且若出现任意码间干扰,整条链路都会被舍弃。
为了改善和提高系统性能,有学者提出了天线分集以及大规模集成天线的想法。
IEEE 806 16 系列是以MIMO-OFDM 为核心,其目前在欧洲的数字音频广播,北美洲的高速无线局域网系统等快速通信中得到了广泛应用。
多媒体和数据是现代通信的主要业务,所以快速化、智能化、准确化是市场向我们提出的高要求。
随着第五代移动通信5G 技术的快速发展,MIM-OFDM 技术已经开始得到更广泛的应用。
本次研究的MIMO-OFDM 系统模型是5G的关键技术,所以对其深入分析和学习,对于当下无线接入技术的发展有着重要的意义。
(完整版)基于matlab的通信系统仿真毕业论文

创新实践报告报告题目:基于matlab的通信系统仿真学院名称:信息工程学院*名:***班级学号:***师:**二O一四年十月十五日目录一、引言 (3)二、仿真分析与测试 (4)2.1 随机信号的生成 (4)2.2信道编译码 (4)2.2.1 卷积码的原理 (4)2.2.2 译码原理 (5)2.3 调制与解调 (5)2.3.1 BPSK的调制原理 (5)2.3.2 BPSK解调原理 (6)2.3.3 QPSK调制与解调 (7)2.4信道 (8)2.4.1 加性高斯白噪声信道 (8)2.4.2 瑞利信道 (8)2.5多径合并 (8)2.5.1 MRC方式 (8)2.5.2 EGC方式 (9)2.6采样判决 (9)2.7理论值与仿真结果的对比 (9)三、系统仿真分析 (11)3.1有信道编码和无信道编码的的性能比较 (11)3.1.1信道编码的仿真 (11)3.1.2有信道编码和无信道编码的比较 (12)3.2 BPSK与QPSK调制方式对通信系统性能的比较 (13)3.2.1调制过程的仿真 (13)3.2.2不同调制方式的误码率分析 (14)3.3高斯信道和瑞利衰落信道下的比较 (15)3.3.1信道加噪仿真 (15)3.3.2不同信道下的误码分析 (15)3.4不同合并方式下的对比 (16)3.4.1 MRC不同信噪比下的误码分析 (16)3.4.2 EGC不同信噪比下的误码分析 (16)3.4.3 MRC、EGC分别在2根、4根天线下的对比 (17)3.5理论数据与仿真数据的区别 (17)四、设计小结 (19)参考文献 (20)一、引言现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。
这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。
在这种迫切的需求之下,MATLAB应运而生。
基于matlab光纤通信演示系统设计

光纤通信作为一种高速、高带宽的通信方式,在现代通信领域中得到了广泛的应用。
为了更好地理解光纤通信系统的原理和工作方式,以及为了展示光纤通信系统的性能,我们设计了一套基于Matlab的光纤通信演示系统。
1. 系统概述光纤通信演示系统由光源模块、光纤传输模块、光探测模块和信号处理模块四个部分组成。
光源模块用于产生光信号,光纤传输模块用于模拟光信号在光纤中的传输过程,光探测模块用于接收光信号,信号处理模块用于对接收到的光信号进行处理和分析。
2. 光源模块光源模块采用LED或激光二极管作为光源,通过电流调节控制光信号的强度和频率。
在Matlab中,我们可以模拟电流调节过程,并生成相应的光信号波形。
3. 光纤传输模块光纤传输模块包括光纤和光纤传输系统模型。
在实际光纤通信系统中,光信号在光纤中传输会受到衰减和色散等影响。
在Matlab中,我们可以建立光纤传输系统模型,模拟光信号在光纤中的传输过程,并观察信号在传输过程中的变化。
4. 光探测模块光探测模块采用光电二极管或光电探测器接收光信号,并将光信号转化为电信号。
在Matlab中,我们可以模拟光信号到电信号的转换过程,并得到相应的电信号波形。
5. 信号处理模块信号处理模块包括信号放大、滤波、解调等处理过程。
在Matlab中,我们可以对接收到的电信号进行数字信号处理,包括滤波、解调、误码率分析等处理,最终得到解调后的信号波形和信号质量分析结果。
通过以上演示系统的设计,我们可以清晰地了解光纤通信系统的工作原理和性能特点,加深对光纤通信技术的理解和认识。
我们也可以通过Matlab模拟和分析光纤通信系统的性能,为实际系统的设计和优化提供参考和支持。
基于Matlab的光纤通信演示系统设计不仅可以帮助我们更好地理解光纤通信技术,还可以为光纤通信系统的设计、优化和性能分析提供有力的工具和支持。
通过不断的探索和实践,光纤通信技术将会在未来的通信领域中发挥越来越重要的作用,为人类社会的发展和进步做出贡献。
毕业设计(论文)基于matlab的数字基带通信系统仿真

基于matlab的数字基带通信系统仿真1.课程设计的目的(1)增加对仿真软件的认识,学会对各种软件的操作和使用方法(2)加深理解数字基带通信系统的概念(3)初步掌握系统的设计方法,培养独立工作能力2.设计方案论证2.1数字基带传输系统在数字传输系统中,其传输的对象通常是二进制数字信号,它可能是来自计算机、电传打字机或其它数字设备的各种数字脉冲,也可能是来自数字终端的脉冲编码调制(PCM)信号。
这些二进制数字信号的频带范围通常从直流和低频开始,直到某一频率m f ,我们称这种信号为数字基带信号。
在某些有线信道中,特别是在传输距离不太远的情况下,数字基带信号可以不经过调制和解调过程在信道中直接传送,这种不使用调制和解调设备而直接传输基带信号的通信系统,我们称它为基带传输系统。
而在另外一些信道,特别是无线信道和光信道中,数字基带信号则必须经过调制过程,将信号频谱搬移到高频处才能在信道中传输,相应地,在接收端必须经过解调过程,才能恢复数字基带信号。
我们把这种包括了调制和解调过程的传输系统称为数字载波传输系统。
数字基带传输系统的模型如图 1所示,它主要包括码型变换器、发送滤波器、信道、接收滤波器、均衡器和取样判决器等部分。
图1 数字基带传输系统模型1.2 数字基带信号1.2.1数字基带信号波形对不同的数字基带传输系统,应根据不同的信道特性及系统指标要求,选择不同的数字脉冲波形。
原则上可选择任意形状的脉冲作为基带信号波形,如矩形脉冲、三角波、高斯脉冲及升余弦脉冲等。
但实际系统常用的数字波形是矩形脉冲,这是由于矩形脉冲纤数字传输系统中的线路传输码型。
此外,CMI 码和曼彻斯特码一样都是将一位二进制码用一组两位二进制码表示,因此称其为1B2B 码。
(5)4B/3T 码4B/3T 码是1B/1T 码的改进型它把4 个二进制码元变换为3个三进制码元。
显然,在相同信息速率的条件下,4B/3T 码的码元传输速率要比1B/1T 码的低,因而提高了系统的传输效率。
基于Matlab的通信系统的实验仿真设计

28 第 期 0 年 3 0
实 验
室
科
学
28 6 出 0年 月 版 0
基于 M tb的通信 系统的实验仿真设计 aa l
刘素 心 王 汝 芳
( 津工 会管理 干部学 院 天
摘
张 广森
天津 300 ) 0 3 0
天津
30 8 中国 民航大 学基础 实验 中心 、 0 10 电子 信息 工程学 院
践学 习环境 , 补传统 硬件 实验 的一些 不足 。 弥
2 概 述 .
后 , 先通 过 同步 电路 捕捉 发 送来 的 P 首 N码 的 准确
相位 , 由此 产生 与发送 来 的 P N码 相 位 完全 一 致 的 接 收用 P N码 , 为 扩 频 解 调 用 的本 地 信 号 , 作 以便
算机 辅助 教学 ( A ) 计 算 机仿 真 教学 等手 段 , C I、 特
别是 利用计 算 机进 行 实 验仿 真 。计 算 机 仿真 实 验 与传统 的硬 件实验 相 比 , 具有 如下优 点 : () 1 广泛 的适应 性和 极好 的灵 活性 ; () 2 有助于 全 面研 究 实际 的设 备 、 系统 ; () 3 建设 开 发周期 短 , 成本 低 。利用 计 算 机 进 行 实验仿 真可作 为 一 种 重要 实 验 教 学手 段 应 用 于
兴趣 和 积极性 , 有利 于提 高学生 理论 联系 实际 的实 践 性 , 利于 引导学 生培养 科学 的工作 和 学 习作 风 有 及创 新能力 , 利于促 进学 生对 整个学 科体 系全 面 有
而 又深入 的理解 。
字编 码 的随机 序列去 调制 载波 , 信号 带 宽远大 于 使 原 始信 号 带 宽 。直 接 序 列 扩 频 的 C M 通 信 系 D A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代通信原理课程设计设计报告课题名称:专业班级:姓名:学号:起止时间: 2007.12.27-2008.01.13重庆交通大学计算机与信息学院目录一、课题内容 (1)二、设计目的 (1)三、设计要求 (1)四、实验条件 (1)五、系统设计 (1)1. 通信系统的原理 (1)2. 所设计子系统的原理 (4)六、详细设计与编码 (5)1. 设计方案 (5)2. 编程工具的选择 (7)3. 编码与测试 (7)4. 编码与调试过程 (13)5. 运行结果及分析 (14)七、设计心得 (21)八、参考文献 (23)一、课题内容基于MATLAB的模拟通信系统仿真-FM和DSB二、设计目的1、综合应用《Matlab原理及应用》、《信号与系统》、《现代通信原理》、《无线通信原理及应用》等多门课程知识,使学生建立通信系统的整体概念;2、培养学生系统设计与系统开发的思想;3、培养学生利用软件进行通信仿真的能力。
三、设计要求1、每3人一组,组内成员进行各自分工,分别完成不同子系统的详细功能;2、对通信系统有整体的较深入的理解,深入理解自己仿真部分的原理的基础,画出对应的通信子系统的原理框图;3、提出仿真方案;4、完成仿真软件的编制;5、仿真软件的演示;6、提交详细的设计报告。
四、实验条件计算机、Matlab软件五、系统设计1.通信系统的原理➢通信系统的一般模型信息源:消息的生成者或来源;发送设备:将信源输出的信号变为适合信道传输的发射信号,且发送信号包含了原始信号的一切信息;信道:传输信号的通道,可以是有线的,也可以是无线的;噪声源:在信道中传输,噪声是绝不可避免的,噪声又可为加性噪声(线性的噪声)和乘性噪声(非线性的噪声),一般我们只考虑加性噪声;接收设备:从接收信号中提取我们所希望的信号,并将其转换成适合输出传感器的形式;受信者:消息接收者。
在通信系统中,按信号参量的取值方式不同可把信号分为两类,即模拟信号和数字信号,再按照信道中传输信号的特征,来分为模拟通信系统和数字通信系统。
下面分别来介绍模拟通信系统与数字通信系统➢模拟通信系统模型调制器:将原始电信号变换成其频带适合信道传输的信号;解调器:在接收端将信道中传输的信号还原成原始的电信号。
➢数字通信系统模型信源编码/译码:主要完成A/D变换、数据压缩、加密等三部分功能;信道编码/译码:数据扩张,增加保镖,提高抗干扰能力等;基带脉冲生成器/抽样判决器:数字基带传输系统的重要部分;数字调制器/解调器: (1) 将数字基带信号的频谱搬移到信道的频带之内,以便于在信道中传输;(2) 便于对信道进行频分复用,从而有效地利用信道的频率资源。
数字解调是数字调制的反过程。
➢模拟通信系统与数字通信系统的比较模拟通信系统和数字通信系统各有自己的一些特点,但相对于模拟通信系统,数字通信系统有许多独特的优点,例如:数字通信系统抗噪能力强、便于加密、易复用也易压缩、易于集成化、便于用计算机处理数字信号、更适合多种数字业务,容易实现多网合一等。
相应地,数字通信系统也有自己的缺点:它需要更宽的传输带宽和较复杂的同步系统等。
2.所设计子系统的原理我所设计的子系统是模拟通信系统,模拟通信系统的主要内容是研究不同信道条件下不同的调制解调方法。
调制可以分为三类,即调幅(AM)、调频(FM)、调相(PM),其中调幅又分为普通调幅(AM)、抑制载波的双边带调幅(DSB)、单边带调幅(SSB)。
基带信号:(1)基带信号是由消息转化而来的原始模拟信号,它的频谱一般从零频附近开始,如语音信号为300~3400Hz;(2)在实际通信系统中,基带信号一般含直流和低频成分,不宜直接传输,这就需要把基带信号变换成其频带适合在信道中传输的信号,并可在接收端进行反变换,完成这种变换和反变换作用的通常是调制器和解调器。
已调信号:它有三个基本特征,即(1)携带有信息;(2)适合在信道中传输;(3)信号的频谱具有带通形式且中心频率远离零频,因而已调信号又称带通信号或频带信号。
模拟通信的主要特点: ● 简单、易于实现 ● 抗干扰能力差 ● 不易于保密通信 ● 设备不易于大规模集成● 不适应飞速发展的计算机通信的要求六、详细设计与编码1.设计方案本次仿真用两种方法-FM 、DSB 分别对模拟输入信号m(t)进行调制与解调,并对它们的仿真结果进行对比,现在分别对这两种仿真提出以下设计方案:(1)FM 设计方案设调制信号为m(t),载波信号为)π2cos(t f c c =,u(t)为调制后的信号,θ为相角向量,dem 为解调后的信号,则:])(π2cos[)(0ττd m k t f t u t f c ⎰+=(2)DSB 设计方案设调制信号为m(t),载波信号为)π2cos(t f c c =,u(t)为调制后的信号,y 为混频后的信号,DEM 为调制后的频谱,dem 为解调后的信号,则:u(t)=m(t)*c(t)U(f)=0.5[M(f-fc)+M(f+fc)]y(t)=u(t)*c(t)Y(f)=0.5M(f)+0.25M(f-2fc)+0.25M(f+2fc)DEM=M(f)dem=IFFT[DEM]2.编程工具的选择本仿真所用的工具软件是MATLAB7.0。
该软件的功能强大,最擅长矩阵处理,并在系统仿真、数字信号处理、图形图像分析、数理统计、通信及自动控制领域得到广泛应用,特别是MATLAB中Simulink在通信上的应用,它可以用来仿真完整的通信系统,同时MATLAB内部有许多与通信有关的函数,这样程序编写方便,也便于观察波形特征。
3.编码与测试(1)FM主函数fm.m%fm.m%频率调制与解调的Matlab演示源程序%可以任意改原调制信号函数m(t)%本例调制信号为m(t)=sinc(100*t)echo offclose allclct0=0.2; %信号的持续时间,用来定义时间向量ts=0.001; %抽样间隔fs=1/ts; %抽样频率%************************************************************** *******fc=300; %载波频率,fc可以任意改变%************************************************************** *******t=[-t0/2:ts:t0/2]; %时间向量kf=100; %偏差常数df=0.25; %所需的频率分辨率,用在求傅里叶变换时,它表示FFT的最小频率间隔%************************************************************** *******m=sinc(100*t); %调制信号,m(t)可以任意更改%************************************************************** *******%************************************************************** *******%求信号m(t)的积分,这是对离散信号求积分的好方法int_m(1)=0;for i=1:length(t)-1int_m(i+1)=int_m(i)+m(i)*ts;end%************************************************************** *******[M,m,df1]=fftseq(m,ts,df); %对调制信号m(t)求傅里叶变换M=M/fs; %缩放,便于在频谱图上整体观察f=[0:df1:df1*(length(m)-1)]-fs/2; %时间向量对应的频率向量u=cos(2*pi*fc*t+2*pi*kf*int_m); %调制后的信号[U,u,df1]=fftseq(u,ts,df); %对调制后的信号u求傅里叶变换U=U/fs; %缩放%************************************************************** *******%法一:不调用子程序env_phas和loweq,直接在主程序中表示%t1=[0:ts:ts*(length(u)-1)];%z=hilbert(u);%yq =z.*exp(-j*2*pi*fc*t1);%dem =(1/(2*pi*kf))*diff(unwrap(angle(yq))*fs);%************************************************************** *******%************************************************************** *******%法二:通过调用子程序env_phas和loweq来实现解调功能[v,phase]=env_phas(u,ts,fc); %解调,求出u的相位phi=unwrap(phase);%校正相位角,使相位在整体上连续,便于后面对该相位角求导dem=(1/(2*pi*kf))*(diff(phi)*fs); %对校正后的相位求导%再经一些线性变换来恢复原调制信号%乘以fs是为了恢复原信号,因为前面使用了缩放%************************************************************** *******disp('按任意键可以看到原调制信号和已调信号的曲线')pausefigure(1)subplot(2,1,1)plot(t,m(1:length(t)))%现在的m信号是重新构建的信号,%因为在对m求傅里叶变换时m=[m,zeros(1,n-n2)]xlabel('时间t')title('原调制信号的时域图')subplot(2,1,2)plot(t,u(1:length(t)))xlabel('时间t')title('已调信号的时域图')disp('按任意键可以看到原调制信号和已调信号的在频域内的图形')pausefigure(2)subplot(2,1,1)plot(f,abs(fftshift(M)))%fftshift:将FFT中的DC分量移到频谱中心xlabel('频率f')title('原调制信号的频谱图')subplot(2,1,2)plot(f,abs(fftshift(U)))xlabel('频率f')title('已调信号的频谱图')disp('按任意键可以看到在无噪声情况下的原调制信号的波形和解调信号的输出情况')pausefigure(3)subplot(2,1,1)plot(t,m(1:length(t)))xlabel('时间t')title('原调制信号的时域图')subplot(2,1,2)plot(t,dem(1:length(t)))xlabel('时间t')title('解调后信号的时域波形')(2)DSB主函数dsb.m%dsb.m%双边带调制与解调的Matlab演示源程序%可以任意改原调制信号函数m(t)%本例调制信号为m(t)=sinc(100*t)echo offclose allclct0=0.2; %信号的持续时间,用来定义时间向量ts=0.001; %抽样间隔fs=1/ts; %抽样频率%************************************************************** *******fc=300; %载波频率,fc可以任意改变%************************************************************** *******t=[-t0/2:ts:t0/2]; %时间向量df=0.25; %所需的频率分辨率%************************************************************** *******m=sinc(100*t); %调制信号,m(t)可以任意更改%************************************************************** *******c=cos(2*pi*fc.*t); %载波信号函数,照原理上它也可以任意更改u=m.*c; %已调信号y=u.*c; %混频信号,用来提取原调制信号的频率[M,m,df1]=fftseq(m,ts,df); %对调制信号m(t)求傅里叶变换M=M/fs; %缩放,便于在频谱图上整体观察[U,u,df1]=fftseq(u,ts,df); %对调制后的信号u求傅里叶变换U=U/fs; %缩放[Y,y,df1]=fftseq(y,ts,df); %对混频后的信号y求傅里叶变Y=Y/fs; %缩放%************************************************************** *******%以下这段程序是专门用来构建在频谱上的滤波器的方法f_cutoff=150; %滤波器的截止频率n_cutoff=floor(150/df1); % 设计的滤波器的带宽f=[0:df1:df1*(length(y)-1)]-fs/2; %频率分量H=zeros(size(f)); %构建滤波器的步骤之一H(1:n_cutoff)=2*ones(1,n_cutoff); %构建滤波器的步骤之一H(length(f)-n_cutoff+1:length(f))=2*ones(1,n_cutoff);%滤波器的频带函数%************************************************************** ******DEM=H.*Y; %经过滤波器后输出信号的频谱dem=real(ifft(DEM))*fs; %ifft为傅里叶反变换函数,滤波器的输出-解调信号%乘以fs是为了恢复原信号,因为前面使用了缩放disp('按任意键可看到混频的效果')pausefigure(1)subplot(3,1,1)plot(f,fftshift(abs(M)))%fftshift:将FFT中的DC分量移到频谱中心title('原调制信号的频谱图')xlabel('频率f')subplot(3,1,2)plot(f,fftshift(abs(U)))title('已调信号的频谱图')xlabel('频率f')subplot(3,1,3)plot(f,fftshift(abs(Y)))title('混频信号的频谱图')xlabel('频率f')disp('按任意键可看到混频器输出的波形的频谱效果')pausefigure(2)subplot(3,1,1)plot(f,fftshift(abs(Y)))title('混频信号的频谱图')xlabel('频率f')subplot(3,1,2)plot(f,fftshift(abs(H)))title('低通滤波器的频谱图')xlabel('频率f')subplot(3,1,3)plot(f,fftshift(abs(DEM)))title('混频信号通过滤波器后的信号的频谱图')xlabel('频率f')disp('按任意键可看到原调制信号和接受信号频谱的比较')pausefigure(3)subplot(2,1,1)plot(f,fftshift(abs(M)))title('原调制信号的频谱图')xlabel('频率f')subplot(2,1,2)plot(f,fftshift(abs(DEM)))title('混频信号通过滤波器后的信号的频谱图')xlabel('频率f')disp('按任意键可看到原调制信号和解调器输出信号对比')pausefigure(4)subplot(2,1,1)plot(t,m(1:length(t)))title('原调制信号的时域图')xlabel('时间t')subplot(2,1,2)plot(t,dem(1:length(t)))title('解调后信号的时域图')xlabel('时间t')(3)FM及DSB中都所用到的子函数fftseq.m%求傅里叶变换的子函数function [M,m,df]=fftseq(m,ts,df)fs=1/ts;if nargin==2 %nargin为输入参量的个数n1=0;elsen1=fs/df;endn2=length(m);n=2^(max(nextpow2(n1),nextpow2(n2)));%nextpow2(n)取n最接近的较大2次幂M=fft(m,n);%M为信号m的傅里叶变换,n为快速傅里叶变换的点数,及为基n-FFT变换m=[m,zeros(1,n-n2)];%构建新的m信号df=fs/n; %重新定义频率分辨率(4)FM中所用到的子函数env_phas.m%求信号相角的子函数,这是调频、调相都要用到的方法function [v,phi]=env_phas(x,ts,f0)if nargout==2 %nargout为输出变量的个数z=loweq(x,ts,f0);%产生调制信号的正交分量phi=angle(z); %angle是对一个复数求相角的函数endv=abs(hilbert(x));%abs用来求复数hilbert(x)的模(5)FM中所用到的子函数loweq.m%产生调制信号的正交分量function x1=loweq(x,ts,f0)t=[0:ts:ts*(length(x)-1)];z=hilbert(x);%希尔伯特变换对的利用---通过实部来求虚部x1=z.*exp(-j*2*pi*f0*t); %产生信号z的正交分量,%并将z信号与它的正交分量加在一起4.编码与调试过程由于通过查阅参考书及网上资料,我所编写的这两种程序基本上不存在语法上的错误,只是要求对程序进行仔细阅读及理解,并在一些地方进行必要改写,且加入我自己的思想,使这两种程序更容易理解。