MATLAB实现通信系统仿真实例
- 格式:doc
- 大小:109.00 KB
- 文档页数:6
matlab 通信仿真案例
在MATLAB中,通信仿真是一个常见的应用领域,可以用于模拟
和分析数字通信系统的性能。
下面我将从多个角度介绍几个常见的
通信仿真案例。
1. OFDM系统仿真,OFDM(正交频分复用)是一种常见的多载
波调制技术,用于高速数据传输。
你可以使用MATLAB来建立一个基
本的OFDM系统仿真模型,包括信道估计、均衡和解调等模块。
通过
仿真可以分析系统在不同信噪比下的误码率性能,优化系统参数以
及算法设计。
2. 无线通信系统仿真,你可以使用MATLAB建立一个简单的无
线通信系统仿真模型,包括传输信道建模、调制解调、信道编码、
多天线技术等。
通过仿真可以评估系统的覆盖范围、传输速率、抗
干扰能力等性能指标。
3. MIMO系统仿真,MIMO(多输入多输出)技术在无线通信中
得到了广泛应用。
你可以使用MATLAB建立一个MIMO系统仿真模型,包括空间多路复用、信道估计、预编码等。
通过仿真可以分析系统
的信道容量、波束赋形技术对系统性能的影响等。
4. LTE系统仿真,LTE(长期演进)是目前移动通信领域的主流技术之一。
你可以使用MATLAB建立一个LTE系统仿真模型,包括物理层信号处理、上下行链路传输、信道编码解码等。
通过仿真可以评估系统的覆盖范围、传输速率、干扰抑制能力等性能指标。
以上是一些常见的通信仿真案例,通过MATLAB你可以方便地建立仿真模型,分析系统性能,并优化系统设计。
希望这些案例能够帮助到你。
matlab通信仿真实例通信仿真在工程领域中具有广泛的应用,MATLAB作为一种强大的数学建模工具,能够帮助工程师进行通信系统的仿真设计和分析。
在本文中,我们将通过一个具体的MATLAB通信仿真实例来展示如何使用MATLAB进行通信系统的建模和仿真。
首先,我们需要定义一个简单的通信系统,假设我们要设计一个基于QPSK调制的数字通信系统。
我们可以按照以下步骤进行仿真实例的设计:1. 生成随机比特序列:首先我们需要生成一组随机的比特序列作为发送端的输入。
我们可以使用MATLAB的randi函数来生成随机的二进制比特序列。
2. QPSK调制:接下来,我们需要将生成的二进制比特序列进行QPSK调制,将比特序列映射到QPSK星座图上的相应点。
我们可以使用MATLAB的qammod 函数来进行QPSK调制。
3. 添加高斯噪声:在通信信道中,往往会存在各种噪声的干扰,为了模拟通信信道的实际情况,我们需要在信号上添加高斯噪声。
我们可以使用MATLAB的awgn函数来添加高斯噪声。
4. QPSK解调:接收端接收到信号后,需要进行QPSK解调,将接收到的信号映射回比特序列。
我们可以使用MATLAB的qamdemod函数来进行QPSK解调。
5. 比特误码率计算:最后,我们可以计算仿真的比特误码率(BER),用来评估通信系统的性能。
我们可以通过比较发送端和接收端的比特序列来计算比特误码率。
通过以上步骤,我们就可以完成一个基于QPSK调制的数字通信系统的MATLAB仿真实例。
在实际的通信系统设计中,我们可以根据具体的需求和系统参数进行更加复杂的仿真设计,例如考虑信道编码、信道估计等因素,以更加准确地评估通信系统的性能。
MATLAB的强大数学建模和仿真功能,为工程师提供了一个非常有用的工具,可以帮助他们设计和分析各种通信系统。
通过不断的实践和学习,工程师可以更加熟练地运用MATLAB进行通信系统的仿真设计,为通信系统的性能优化提供有力的支持。
% ch3example1A.mclear;f_p=2400; f_s=5000; R_p=3; R_s=25; % 设计要求指标[n, fn]=buttord(f_p,f_s,R_p,R_s, 's'); % 计算阶数和截止频率Wn=2*pi*fn; % 转换为角频率[b,a]=butter(n, Wn, 's'); % 计算H(s)f=0:100:10000; % 计算频率点和频率范围s=j*2*pi*f; % s=jw=j*2*pi*fH_s=polyval(b,s)./polyval(a,s); % 计算相应频率点处H(s)的值figure(1);subplot(2,1,1); plot(f, 20*log10(abs(H_s))); % 幅频特性axis([0 10000 -40 1]);xlabel('频率Hz');ylabel('幅度dB');subplot(2,1,2); plot(f, angle(H_s)); % 相频特性xlabel('频率Hz');ylabel('相角rad');figure(2); freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。
% ch3example1B.mclear;f_p=2400; f_s=5000; R_p=3; R_s=25; % 设计要求指标[n, fn]=ellipord(f_p,f_s,R_p,R_s,'s'); % 计算阶数和截止频率Wn=2*pi*fn; % 转换为角频率[b,a]=ellip(n,R_p,R_s,Wn,'s'); % 计算H(s)f=0:100:10000; % 计算频率点和频率范围s=j*2*pi*f; % s=jw=j*2*pi*fH_s=polyval(b,s)./polyval(a,s); % 计算相应频率点处H(s)的值figure(1);subplot(2,1,1); plot(f, 20*log10(abs(H_s))); % 幅频特性axis([0 10000 -40 1]);xlabel('频率Hz');ylabel('幅度dB');subplot(2,1,2); plot(f, angle(H_s)); % 相频特性xlabel('频率Hz');ylabel('相角rad');figure(2); freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。
补充内容:模拟调制系统的MATLAB 仿真1。
抽样定理为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。
抽样(时间离散化)是模拟信号数字化的第一步.Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽.抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。
【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz )fs=100*fh ;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短. ts=1/fs ;%%根据抽样时间间隔进行抽样,并计算出信号和包络t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理.envelop=cos (2*pi *t);%%DSB 信号包络y=cos(2*pi *t).*cos(4*pi *t );%已调信号%画出已调信号包络线plot (t ,envelop ,'r :','LineWidth',3);hold onplot(t ,-envelop,'r:’,’LineWidth',3);%画出已调信号波形plot(t ,y,’b','LineWidth ’,3);axis([0,pi/2,-1,1])%hold off%xlabel ('t ’);%写出图例【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz )fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。
matlab通信仿真实例在Matlab中进行通信系统的仿真,可以涉及到多种不同的通信技术和协议,包括调制解调、信道编码、多址接入等。
以下以OFDM系统为例,介绍Matlab 中通信仿真的实例。
OFDM(正交频分复用)是一种常用于现代通信系统中的技术,它将高速数据流分割成多个较低速的子流,并将每个子流分配到不同的子载波上。
优点是能够抵抗多径效应和频率选择性衰落,并提供高数据速率。
首先,我们需要创建一个包含OFDM系统参数的结构体。
例如:ofdmParam.M = 16; % 子载波数量ofdmParam.K = 4; % 用于混合多路复用的用户数量ofdmParam.N = ofdmParam.M * ofdmParam.K; % 总子载波数量ofdmParam.CP = 16; % 循环前缀长度接下来,我们可以生成用于OFDM仿真的数据流。
例如,我们可以使用随机整数生成器生成一系列整数,并将其转换为复数形式的调制符号:data = randi([0, ofdmParam.M-1], 1, ofdmParam.N);dataMod = qammod(data, ofdmParam.M);然后,我们可以创建一个包含OFDM信号的函数。
在OFDM系统中,生成的数据符号将分配到不同的子载波上,然后在时域中通过插入循环前缀进行叠加:function[ofdmSignal] = createOFDMSignal(dataMod, ofdmParam) ofdmSignal = [];for k = 0:ofdmParam.K-1% 提取相应的数据符号,并进行IFFTofdmData =ifft(dataMod(k*ofdmParam.M+1:(k+1)*ofdmParam.M));% 添加循环前缀ofdmDataWithCP = [ofdmData(end-ofdmParam.CP+1:end), ofdmData];% 将OFDM符号添加到OFDM信号中ofdmSignal = [ofdmSignal, ofdmDataWithCP];endend将OFDM信号传输到信道中,我们可以使用加性高斯白噪声(AWGN)信道模型来模拟实际通信环境:EbNo = 10; % 信噪比snr =10*log10(ofdmParam.N*ofdmParam.M/(ofdmParam.N*ofdmParam.M+1 )*(10^(EbNo/10)));ofdmSignalNoisy = awgn(ofdmSignal, snr, 'measured');最后,我们可以对接收到的OFDM信号进行解调和信号恢复。
MATLAB通信系统仿真实验报告实验一、MATLAB的基本使用与数学运算目的:学习MATLAB的基本操作,实现简单的数学运算程序。
内容:1-1 要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。
试用两种不同的指令实现。
运行代码:x=[0:2*pi/9:2*pi]运行结果:1-2 用M文件建立大矩阵xx=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]代码:x=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]m_mat运行结果:1-3已知A=[5,6;7,8],B=[9,10;11,12],试用MATLAB分别计算A+B,A*B,A.*B,A^3,A.^3,A/B,A\B.代码:A=[5 6;7 8] B=[9 10;11 12] x1=A+B X2=A-B X3=A*B X4=A.*B X5=A^3 X6=A.^3 X7=A/B X8=A\B运行结果:1-4任意建立矩阵A,然后找出在[10,20]区间的元素位置。
程序代码及运行结果:代码:A=[12 52 22 14 17;11 10 24 03 0;55 23 15 86 5 ] c=A>=10&A<=20运行结果:1-5 总结:实验过程中,因为对软件太过生疏遇到了些许困难,不过最后通过查书与同学交流都解决了。
例如第二题中,将文件保存在了D盘,而导致频频出错,最后发现必须保存在MATLAB文件之下才可以。
毕业设计说明书基于MATLAB的16QAM通信系统仿真摘 要要随着现在的通信技术的飞速发展,特别是移动通信技术,因频谱资源的限制, 传统的通信系统容量开始不能满足目前用户需求,因此通信技术专家越来越关注频带利用率的问题。
如何提高频谱利用率以及高功率谱密度是我们追求的目标。
而正交振幅调制(Quadrature Amplitude Modulation ,QAM )是一种振幅和相位联合键控,由于高频谱利用率和高功率谱密度等优点,它已成为了大容量数字微波、宽带无线接入和无线视频通信的一种重要技术方案。
的一种重要技术方案。
本论文先介绍了16进制的正交振幅调制信号(16QAM )的调制解调原理,再利用MA TLAB 平台构建完整的16QAM 通信系统,实现16QAM 的调制解调系统的仿真,以及分析该系统性能。
以此证明16QAM 调制技术相对其他调制方式的优点。
调制技术相对其他调制方式的优点。
关键词:调制解调;正交振幅调制;MA TLAB 仿真仿真ABSTRACTWith the rapid development of modern communication technology, especially mobilecommunications technology, the capacity of traditional communication systems can not meet the requirements of the current user. And because of the limited spectrum resource, the problem of bandwidth efficiency is growing concerned of experts in the field of communications. So finding the way that how to improve the spectrum efficiency and high power spectral density is our goal. Quadrature amplitude modulation (QAM) with its high spectral efficiency and high power spectral density and other advantages, becomes importantto those communication application that include the large-capacity digital microwavetechnology solutions, broadband wireless access and wireless video communications, and soon.This article describes the principle of modulation and demodulation of 16QAM, thenbuilds a complete communication system of 16QAM based on MATLAB, which is to realizethe simulation of 16QAM modem system and to analyse the performance of the system.It canprove that 16QAM modulation technology is more superior than the other.Key words:modem system; qam;matlab目 录录1 1 绪论绪论................................................................... 1 1.1 1.1 课题研究的意义课题研究的意义................................................... 1 1.2 1.2 国内外研究状况国内外研究状况.................................................. 1 1.3 1.3 研究内容与章节安排研究内容与章节安排............................................... 2 2 2 课题理论基础课题理论基础........................................................... 3 2.1 2.1 调制解调的定义调制解调的定义................................................... 3 2.2 2.2 正交振幅调制正交振幅调制..................................................... 4 2.2.1 QAM 简介 ................................................... 4 2.2.2 16QAM 调制解调原理 .. (6)3 3 基于基于MATLAB 的16QAM 通信系统仿真........................................ 9 3.1 MATLAB 简介 (9)3.1.1 MATLAB 介绍 ................................................ 9 3.1.2 MATLAB 语言特点 ............................................ 9 3.2 16QAM 调制解调仿真程序流程框图 .................................. 10 3.3 3.3 调制仿真模块调制仿真模块.................................................... 11 3.3.1 3.3.1 信号源信号源.................................................... 11 3.3.2 3.3.2 串串/并变换................................................. 11 3.3.3 2-4电平转换 . (11)3.3.4 3.3.4 成形滤波器成形滤波器................................................ 12 3.3.5 3.3.5 调制调制...................................................... 14 3.3.6 3.3.6 画星座图画星座图.................................................. 15 3.4 3.4 已调信号的噪声叠加已调信号的噪声叠加 ............................................. 16 3.5 3.5 解调仿真模块解调仿真模块.................................................... 16 3.5.1 3.5.1 低通滤波器低通滤波器................................................ 16 3.5.2 4-2电平转换 .............................................. 16 3.5.3 3.5.3 并并/串变换................................................ 17 3.5.4 3.5.4 解调解调...................................................... 17 3.6 3.6 仿真结果仿真结果........................................................ 18 4 16QAM 通信系统的性能分析 . (21)4.1 16QAM 抗噪声性能 ................................................ 21 4.2 16QAM 频带利用率 ................................................ 22 4.3 16QAM 信号在AWGN 信道下的性能 ................................... 22 4.4. 16QAM 和16PSK 的性能比较 ....................................... 23 5 5 总结与展望总结与展望............................................................ 25 5.1 5.1 总结总结............................................................ 25 5.2 5.2 未来展望未来展望........................................................ 26 参考文献 ................................................................. 27 致 谢谢 ................................................................... 29 附 录:主程序录:主程序 .. (30)1 1 绪论绪论1.1 1.1 课题研究的意义课题研究的意义随着现代的通信技术的飞速发展,特别是移动通信技术,因为频谱资源的限制, 传统的通信系统的容量开始不能满足目前用户的需求,因此通信技术专家越来越关注频带利用率的问题。
实验1:上采样与内插一、实验目的1、了解上采样与内插的基本原理和方法。
2、掌握上采样与内插的matlab程序的设计方法。
二、实验原理上采样提高采样频率。
上采样使得周期降低M倍,即新采样周期Tu和原有采样周期Ts的关系是T u=T s/M,根据对应的连续信号x(t),上采样过程从原有采样值x(kT s)生成新采样值x(kT u)=x(kT s/M)。
操作的结果是在每两个采样值之间放入M-1个零值样点。
更实用的内插器是线性内插器,线性内插器的脉冲响应定义如下:上采样值x(kT u)=x(kT s/M)通过与线性内插器的脉冲响应的卷积来完成内插。
三、实验内容仿真正弦波采样和内插,通过基本采样x(k),用M=6产生上采样x u(k),由M=6线性内插得到样点序列x i(k)。
四、实验程序% File: c3_upsampex.mM = 6; % upsample factorh = c3_lininterp(M); % imp response of linear interpolatort = 0:10; % time vectortu = 0:60; % upsampled time vectorx = sin(2*pi*t/10); % original samplesxu = c3_upsamp(x,M); % upsampled sequencesubplot(3,1,1)stem(t,x,'k.')ylabel('x')subplot(3,1,2)stem(tu,xu,'k.')ylabel('xu')xi = conv(h,xu);subplot(3,1,3)stem(xi,'k.')ylabel('xi')% End of script file.% File: c3_upsample.mfunction out=c3_upsamp(in,M)L = length(in);out = zeros(1,(L-1)*M+1); for j=1:Lout(M*(j-1)+1)=in(j); end% End of function file.% File: c3_lininterp.m function h=c3_lininterp(M) h1 = zeros(1,(M-1)); for j=1:(M-1) h1(j) = j/M; endh = [0,h1,1,fliplr(h1),0]; % End of script file.四、 实验结果012345678910x0102030405060x u01020304050607080-11x i实验二:QPSK、16QAM信号的散点图、正交、同相分量波形图一、实验目的1、了解QPSK、16QAM调制的基本原理。
MATLAB仿真实例通信原理是研究信息在传输中的传递、编码、解码、调制、解调、信道等各个方面的原理和技术。
MATLAB是一种基于数值计算和可视化的高级计算语言和交互式环境,常用于科学计算、算法开发、数据分析和可视化等领域。
下面将介绍一个基于MATLAB的通信原理仿真实例。
实例描述:假设有一个发送端和一个接收端,通过一个信道进行通信。
发送端生成了一个数字信号序列,将其通过一种调制技术转换为模拟信号,经过信道传输到接收端后,接收端需要对接收到的模拟信号进行解调,得到原始的数字信号序列,并与发送端生成的数字信号序列进行比较,评估通信系统的性能。
实例步骤:1.生成数字信号序列:使用MATLAB生成一个随机的二进制数字信号序列。
例如,一个200个比特的数字信号序列可以使用以下代码生成:```MATLABbits = randi([0 1], 1, 200);```2. 调制:在本例中,我们使用二进制相移键控(Binary Phase Shift Keying,BPSK)调制方式将数字信号序列转换为模拟信号。
将1映射为1,将0映射为-1、以下是BPSK调制的MATLAB代码实现:```MATLABmodulated_signal = 2*bits - 1;```3. 添加通道噪声:在信道传输过程中,由于各种原因(如传输损耗、多径效应等),信号可能会受到一定的噪声干扰。
在本例中,我们假设信道噪声为高斯白噪声。
可以使用MATLAB的awgn函数在模拟信号中添加高斯白噪声。
以下是添加高斯白噪声的MATLAB代码实现:```MATLABSNR_dB=10;%信噪比(信号功率与噪声功率之比)received_signal = awgn(modulated_signal, SNR_dB, 'measured');```4.解调:接收端需要对接收到的带有噪声的模拟信号进行解调,以恢复原始的数字信号序列。
对于BPSK调制,可以通过判断接收信号的正负性来解调。
基于MATLAB的扩频通信仿真基于MATLAB的扩频通信仿真11.仿真原理扩展频谱通信具有很强的抗⼲扰性,其多址能⼒、保密、抗多径等功能也倍受⼈们的关注,被⼴泛的应⽤于军事通信和民⽤通信中。
扩频技术,将信号扩展到很宽的频谱上,在接收端对扩频信号进⾏相关处理即带宽压缩,恢复成窄带信号。
对⼲扰信号⽽⾔,由于与扩频信号不相关,则被扩展到⼀个很宽的频带上,使之进⼊信号通频带内的⼲扰功率⼤⼤的降低,具有很强的对抗能⼒。
MATLAB是由美国mathworks公司发布的主要⾯对科学计算、可视化以及交互式程序设计的⾼科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及⾮线性动态系统的建模和仿真等诸多强⼤功能集成在⼀个易于使⽤的视窗环境中,为科学研究、⼯程设计以及必须进⾏有效数值计算的众多科学领域提供了⼀种全⾯的解决⽅案,并在很⼤程度上摆脱了传统⾮交互式程序设计语⾔(如C、Fortran)的编辑模式。
使⽤MATLAB进⾏通信仿真有两种⽅式,分别是使⽤m⽂件编写程序和⽤SIMULINK进⾏可视化建模。
长期以来,⼈们总是想法使信号所占频谱尽量的窄,以充分利⽤⼗分宝贵的频谱资源。
为什么要⽤这样宽频带的信号来传送信息呢? 简单的回答就是主要为了通信的安全可靠。
扩频通信的基本特点是传输信号所占⽤的频带宽度(W )远⼤于原始信息本⾝实际所需的最⼩(有效)带宽(DF) ,其⽐值称为处理增益G p:G p =W /△F (1)众所周知,任何信息的有效传输都需要⼀定的频率宽度,如话⾳为1. 7kHz~3. 1kHz,电视图像则宽到数兆赫。
为了充分利⽤有限的频率资源,增加通路数⽬,⼈们⼴泛选择不同调制⽅式,采⽤宽频信道(同轴电缆、微波和光纤等) ,和压缩频带等措施,同时⼒求使传输的媒介中传输的信号占⽤尽量窄的带宽。
因现今使⽤的电话、⼴播系统中,⽆论是采⽤调幅、调频或脉冲编码调制制式, G p值⼀般都在⼗多倍范围内,统称为“窄带通信”。
matlab通信仿真实例Matlab通信仿真实例:频移键控(FSK)调制与解调引言:通信系统在现代社会的发展中起着关键作用,其性能的评估和优化是一个重要的研究方向。
Matlab作为通信仿真的强大工具,具有广泛的应用。
本文将以频移键控(FSK)调制与解调为例,介绍如何使用Matlab进行通信仿真实例。
我们将从FSK调制与解调的基本原理开始,逐步介绍Matlab编程实现。
第一节:FSK调制原理频移键控(FSK)是一种基于频率调制的数字调制技术。
在FSK调制中,数字数据被映射到不同的频率,即0和1分别对应不同的载波频率。
调制信号可以表示为:s(t) = Acos(2πf1t) ,当输入为0s(t) = Acos(2πf2t) ,当输入为1其中s(t)为调制信号,A为幅度,f1和f2分别为两个载波频率。
FSK信号的频谱包含这两个载波频率。
下面我们将使用Matlab实现FSK调制。
第二节:Matlab编程实现FSK调制在Matlab中,我们可以使用频率生成器函数freqgen来生成不同频率的信号。
首先,我们需要在Matlab中定义载波频率f1和f2,和待调制的数字数据序列x。
f1 = 1000; 第一个载波频率f2 = 2000; 第二个载波频率x = [0 1 0 1 0]; 待调制的数字数据序列接下来,我们可以根据以上公式,使用正弦函数生成相应的调制信号。
t = 0:0.0001:0.001; 时间间隔s = zeros(size(t)); 初始化调制信号为0for i = 1:length(x)if x(i) == 0s = s + cos(2*pi*f1*t);elses = s + cos(2*pi*f2*t);endend在上述代码中,我们使用for循环遍历输入数据序列的每个元素,根据输入数据的值选择不同的载波频率,并将调制信号叠加在一起。
最后,我们得到了FSK调制信号s。
接下来,我们将介绍FSK解调的原理和Matlab 的实现。
一、实验目的 (1)二、实验题目 (1)三、实验内容 (1)3.1傅里叶变换与傅里叶反变换 (1)3.2题目一:正弦信号波形及频谱 (2)3.2.1仿真原理及思路 (2)3.2.2程序流程图 (3)3.2.3仿真程序及运行结果 (3)3.2.4实验结果分析 (5)3.3题目二:单极性归零(RZ)波形及其功率谱 (5)3.3.1仿真原理及思路 (5)3.3.2程序流程图 (6)3.3.3仿真程序及运行结果 (6)3.3.4实验结果分析 (8)3.4题目三:升余弦滚降波形的眼图及其功率谱 (8)3.4.1仿真原理及思路 (8)3.4.2程序流程图 (8)3.4.3仿真程序及运行结果 (8)3.4.4实验结果分析: (10)3.5题目四:完成PCM编码及解码的仿真 (11)3.5.1仿真原理及思路 (11)3.5.2程序流程图 (12)3.5.3仿真程序及运行结果 (12)3.5.4实验结果分析 (15)3.6附加题一:最佳基带系统的Pe~Eb\No曲线,升余弦滚降系数a=0.5,取样值的偏差是Ts/4 (16)3.6.1仿真原理及思路 (16)3.6.2程序流程图 (16)3.6.3仿真程序及运行结果 (16)3.6.4实验结果分析 (18)3.7附加题二:试作出Pe~Eb/No曲线。
升余弦滚降系数a=0.5,取样时间无偏差,但信道是多径信道,C(f)=|1-0.5-j2 ft|,t=T s/2 (18)3.7.1仿真原理及思路 (18)3.7.2程序流程图 (19)3.7.3仿真程序及运行结果 (19)3.7.4实验结果分析 (21)四、实验心得 (21)一、 实验目的⏹ 学会MATLAB 软件的最基本运用。
MATLAB 是一种很实用的数学软件,它易学易用。
MATLAB 对于许多的通信仿真类问题来说是很合适的。
⏹ 了解计算机仿真的基本原理及方法,知道怎样通过仿真的方法去研究通信问题。
⏹ 加深对通信原理课程有关内容的理解。
创新实践报告报告题目:基于matlab的通信系统仿真学院名称: 信息工程学院姓名:班级学号:指导老师:二O一四年十月十五日一、引言现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。
这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。
在这种迫切的需求之下,MATLAB应运而生。
它使得通信系统仿真的设计和分析过程变得相对直观和便捷,由此也使得通信系统仿真技术得到了更快的发展。
通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。
通信系统仿真具有广泛的适应性和极好的灵活性,有助于我们更好地研究通信系统性能。
通信系统仿真的基本步骤如下图所示:二、仿真分析与测试(1)随机信号的生成利用Matlab中自带的函数randsrc来产生0、1等概分布的随机信号.源代码如下所示:global NN=300;global pp=0。
5;source=randsrc(1,N,[1,0;p,1—p]);(2)信道编译码1、卷积码的原理卷积码(convolutional code)是由伊利亚斯(p。
Elias)发明的一种非分组码。
在前向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单.卷积码在编码时将k比特的信息段编成n个比特的码组,监督码元不仅和当前的k比特信息段有关,而且还同前面m=(N—1)个信息段有关。
通常将N称为编码约束长度,将nN称为编码约束长度。
一般来说,卷积码中k和n的值是比较小的整数.将卷积码记作(n,k,N)。
卷积码的编码流程如下所示。
可以看出:输出的数据位V1,V2和寄存器D0,D1,D2,D3之间的关系。
根据模2加运算特点可以得知奇数个1模2运算后结果仍是1,偶数个1模2运算后结果是0。
2、译码原理卷积码译码方法主要有两类:代数译码和概率译码.代数译码主要根据码本身的代数特性进行译码,而信道的统计特性并没有考虑在内.目前,代数译码的主要代表是大数逻辑解码.该译码方法对于约束长度较短的卷积码有较好的效果,并且设备较简单。
补充内容:模拟调制系统的MATLAB 仿真1.抽样定理为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。
抽样(时间离散化)是模拟信号数字化的第一步。
Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。
抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。
【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。
ts=1/fs;%%根据抽样时间间隔进行抽样,并计算出信号和包络t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。
envelop=cos(2*pi*t);%%DSB 信号包络y=cos(2*pi*t).*cos(4*pi*t);%已调信号%画出已调信号包络线plot(t,envelop,'r:','LineWidth',3);hold onplot(t,-envelop,'r:','LineWidth',3);%画出已调信号波形plot(t,y,'b','LineWidth',3);axis([0,pi/2,-1,1])%hold off%xlabel('t');%写出图例【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。
ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi/2);envelop=cos(2*pi*t);%%DSB 信号包络y=cos(2*pi*t).*cos(6*pi*t);%已调信号%画出已调信号包络线plot(t,envelop,'r:','LineWidth',3);hold onplot(t,-envelop,'r:','LineWidth',3);%画出已调信号波形plot(t,y,'b','LineWidth',3);axis([0,pi/2,-1,1]);注意观察:过零点“反相”现象。
2.信号的频谱和功率)()(f F t f −−−→←傅立叶变换【例3】画出DSB 信号)10cos()2cos(t t y ππ=的频谱并计算已调信号的功率。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=20*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:2*pi);%抽样时间间隔要足够小,要满足抽样定理。
y=cos(2*pi*t).*cos(10*pi*t);%已调信号%计算已调信号的傅立叶变化n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum)-1)]-fs/2;%FFT 频率向量%计算信号功率p=(norm(y)^2)/length(y)%画出已调信号频谱plot(f,fftshift(abs(spectrum)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of y');p =0.25203.AWGN 的产生及功率谱密度已知AWGN 信道中噪声的比特信噪比为10dB ,信号功率0.25W ,求噪声功率并画出噪声的时域波形。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=40*fh;ts=1/fs;t=(0:ts:2*pi);%根据抽样间隔生成抽样时间%生成AWGN 噪声序列snr=10;%信噪比10dBsnr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比noise_power=p_DSB/snr_linnoise_std=sqrt(noise_power);noise=randn(1,length(y))*noise_std;plot(t,noise,'LineWidth',2)noise_power =4.DSB 调制解调【例4】画出基带信号)2cos()(t t m π=和DSB 信号)10cos()2cos(t t y ππ=的频谱并计算基带信号和已调信号的功功率。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=40*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。
m=cos(2*pi*t);%基带信号y=m.*cos(10*pi*t);%已调信号%计算基带信号的傅立叶变换n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_baseband=fft(m,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT频率向量%计算已调信号的频谱n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_DSB=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_DSB)-1)]-fs/2;%FFT频率向量%计算信号功率p_baseband=(norm(m)^2)/length(m)p_DSB=(norm(y)^2)/length(y)%画出已调信号频谱subplot(2,1,1);plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3); xlabel('frequency/Hz');title('Magnitude-spectrum of baseband'); subplot(2,1,2);plot(f,fftshift(abs(spectrum_DSB)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of DSB');p_baseband =0.5145p_DSB =clfsnr=10;%信噪比10dBsnr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比noise_power=p_DSB/snr_lin;noise_std=sqrt(noise_power);noise=randn(1,length(y))*noise_std;signal_in_channel=y+noise;subplot(2,1,1);plot(t,signal_in_channel,'b')xlabel('t');ylabel('DSB signal plus noise');axis([0,pi,-1,1]); subplot(2,1,2);plot(t,y,'r');xlabel('t');ylabel('DSB signal');5.AM 调制解调【例4】画出基带信号)2cos()(t t m π=和AM 信号)10cos()1)2(cos(t t y ππ+=以及载波)10cos()(t t s π=的频谱并计算基带信号和已调信号的功率。
并比较该AM 信号与例题3中的DSB 信号的时域波形。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=20*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。
m=cos(2*pi*t);c=cos(10*pi*t);y=(1+m).*c;%已调信号%计算基带信号的傅立叶变换n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_baseband=fft(m,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT 频率向量%计算载波功率n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_carrier=fft(c,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT 频率向量%计算已调信号的频谱n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_AM=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_AM)-1)]-fs/2;%FFT 频率向量%计算信号功率p_baseband=(norm(m)^2)/length(m)p_AM=(norm(y)^2)/length(y)p_carrier=(norm(c)^2)/length(c)%画出已调信号频谱subplot(3,1,1);plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of baseband');subplot(3,1,2);plot(f,fftshift(abs(spectrum_AM)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of AM');subplot(3,1,3);plot(f,fftshift(abs(spectrum_carrier)),'b','LineWidth',3); xlabel('frequency/Hz');title('Magnitude-spectrum of carrier'); p_baseband =0.5168p_AM =0.8297p_carrier =clfDSB=m.*c;%DSB信号envelop_DSB=m;%包络envelop_AM=1+m;subplot(2,1,1);plot(t,DSB,'b')hold onplot(t,envelop_DSB,'r:');plot(t,-envelop_DSB,'r:');hold offxlabel('t');ylabel('DSB signal');subplot(2,1,2);plot(t,y,'b');hold on;plot(t,envelop_AM,'r:');plot(t,-envelop_AM,'r:');hold offxlabel('t');ylabel('AM signal');。