MATLAB 高级编程与工程应用 通信系统仿真 实验报告+源代码
通信原理MATlAB简单仿真报告
MATLAB简单仿真实验一、实验目的:学会利用MATLAB软件进行简单的仿真。
通过实验提高学生实际动手能力和编程能力,为日后从事通信工作奠定良好的基础。
二、实验内容:(1)绘制函数y=xe-x在0≤x≤1时的曲线。
(2)将输入的一段二进制代码编成单极性不归零码和双极性不归零码。
(3)学习使用simulink进行仿真建模三、仿真和实验结果:(1)x=0:0.1:1 %定义自变量的采样点取值数组y=x.*exp(-x) %利用数组运算计算各自变量采样点上的函数值plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)') %绘图(2)(a)单极性不归零码程序function y=snrz(x)t0=300;t=0:1/t0:length(x);for i=1:length(x)if(x(i)==1) %如果信息位为1for j=1:t0y((i-1)*t0+j)=1;%该码元对应的点值取1endelsefor j=1:t0y((i-1)*t0+j)=0; %否则,取0endendendy=[y,x(i)];%为了画图,要将y序列加上最后一位M=max(y);m=min(y);subplot(2,1,1)plot(t,y);grid on;axis([0,i,m-0.1,M+0.1]);title('1 0 0 1 1 0 0 0 0 1 0 1');(b)双极性码程序(3)a)在MATLAB的命令窗运行指令simulink,或点击命令窗中的图标,便打开如图所示的SIMULINK模型库浏览器(simulink Library Browser)。
b)在库浏览器中直接点击左侧分类目录中的Source子库,便可以看到各种信源模块,如图所示。
c)点击工具条上的图标,打开一个名为untitled的空白模型窗口。
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通信建模实验仿真实验报告
实验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通信原理仿真学号:2142402:圣斌实验一 Matlab 基本语法与信号系统分析一、 实验目的:1、掌握MATLAB 的基本绘图方法;2、实现绘制复指数信号的时域波形。
二、 实验设备与软件环境:1、实验设备:计算机2、软件环境:MATLAB R2009a三、 实验容:1、MATLAB 为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。
MATLAB 程序如下:x = -pi:0.1:pi; y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x ,y1绘图title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x ,y2绘图xlabel('time'),ylabel('y')%第二幅图横坐标为’time ’,纵坐标为’y ’运行结果如下图:-1-0.500.51plot(x,y1)-1-0.500.51timey2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图:MATLAB程序如下:x=-pi:.1:pi;y1=sin (x);y2=cos (x);figure (1);%subplot (2,1,1);plot (x,y1);title ('plot (x,y1)');grid on%subplot (2,1,2);plot (x,y2);xlabel ('time');ylabel ('y')subplot(1,2,1),stem(x,y1,'r') %绘制红色的脉冲图subplot(1,2,2),stem(x,y1,'g') %绘制绿色的误差条形图运行结果如下图:3、一个复指数信号可以分解为实部和虚部两部分。
matlab高级编程与应用-通讯工程仿真实验报告
通信系统仿真实验报告自03 张驰昱2010012028一、FDMA的Simulink仿真(1)Simulink模块图:参考图提供了主要的调制、解调、选频模块,但是在实际的simulink仿真中还要加上各级的零阶保持器,因为调制解调模块只能处理离散量。
(2)前三个Analog Filter Design滤波器的作用是滤出纯净的调制信号,进行传输;后三个滤波器的作用是在传输线中选出所要解调的一路信号。
为了使信号的失真度最小,我经过反复的实验调整,最终确定各个滤波器的参数如下:发送、接收信号分别为:Scope2(3)用Spectrum Scope进行频谱分析注意要设置各个频谱分析仪的采样周期要与之前的临界采样器一样,不然频谱上的频率就不是实际频率了。
频域采样的精细程度可以用FFT length来调。
这里采用的频域宽度为-10Hz到10Hz,spectrum units用Watts/Hertz.正弦信号的发送、接收频谱:方波信号的发送、接收频谱:方波信号的发送、接收频谱:由于滤波不是非常精确,所以正弦波频谱的包络不是很精确,但是三角波和方波的频谱还是比较准确的,传输前后基本无差别。
二、TDMA的Simulink仿真TDMA仿真图:(1)Multiplex单元:其中Pulse Generator的参数设置如下:0.003秒的周期即延时环节周期的三倍,所以33.33%的占空比配合两个延时环节正好可以把一个周期的脉冲时间满打满算分为三个通道实现时分多址。
(2)接收单元应该与发送单元完全一样。
门控脉冲时间也完全一样,即各个通道每次都是发送端与接收端同时选中。
(3)接收端波形:三、CDMA的Simulink仿真各模块参数设置如下:伯努利随机序列发生器Bernoulli Binary Generator1 Initial seed:20Sample time:1/8000(2和3的initial seed为40和60)中继器Relay 1、2、3、7、8、9Switch on point: 0.8Switch off point: -0.2Output when on: 1Output when off:-1中继器Relay 4、5、6Switch on point: 0.5Switch off point: -0.5Output when on: 1Output when off:-1高斯白噪声信道AGWN Channel:Initial seed:67Mode:Signal to noise ratioEb/No:100M序列生成器PN Sequence Generator:Sample time:1/8000/50数字滤波器Digital Filter Design:要设计成低通滤波器Response Type: LowpassFs:200Fpass: 10Fstop: 15其余用默认设置即可。
基于matlab的通信系统仿真报告
2.3.1
在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控2PSK信号。通常用已调信号载波的0度和180度分别表示二进制数字基带信号的1和0。二进制移相键控信号的时域表达式为
其中, 与2ASK和2FSK时的不同,在2PSK调制中, 应选择双极性,即当发送概率为P, ,当发送概率为1-P, 。若 是脉宽为 、高度为1的矩形脉冲,则有
卷积码在编码时将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.1
利用Matlab中自带的函数r:
global N
N=300;
global p
p=0.5;
source=randsrc(1,N,[1,0;p,1-p]);
2.2
2.2.1
卷积码(convolutional code)是由伊利亚斯(p.Elias)发明的一种非分组码。在前向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单。
图2.1:2PSK信号的调制原理图(模拟调制方法)
2.3.2
2PSK信号的解调通常都采用相干解调,解调器原理如图2.3所示,在相干解调过程中需要用到和接收的2PSK信号同频同相的想干载波。
图2.3:BPSK相干解调
图2.4 BPSK解调各点时间波形
MATLAB 高级编程与工程应用 语音处理 实验报告+源代码
清华大学电子工程系MATLAB高级编程与工程应用实验二语音处理1.2.1(1)给定e(n) 假设e(n) 是输入信号,s(n) 是输出信号,上述滤波器的传递函数是什么?如果a1 = 1.3789,a2 = 0.9506 ,上述合成模型的共振峰频率是多少?用zplane ,freqz ,impz 分别绘出零极点图,频率响应和单位样值响应。
用filter 绘出单位样值响应,比较和impz 的是否相同。
分析:上述滤波器的传递函数是:H=11−1.3789z−1+0.9506z−2可以求出传递函数的极点为p = 0.6895 ±0.6894 i由此可以计算出模拟频率为Ω = pi/4,又因为T = 1/8000s,则可以得到共振峰频率f = 1000Hz。
使用zplane函数画出零极点图如下:使用freqz函数画出频率响应如下:使用impz函数画出单位样值响应如下:最后使用filter函数画出其单位样值响应如下:编写文件sounds_2_1.m,画出所有图像如下,可以直接比较filter函数和impz函数画出的单位样值响应几乎是一模一样的:sounds_2_1.m:clear;clc;close all;b = 1;a = [1,-1.3789,0.9506];n = [0:1:50];freqz(b,a); %画出频率响应图figure; %新建画布subplot(3,1,1);zplane(b,a); %画出零极点图subplot(3,1,2);impz(b,a,n); %利用impz函数画出单位样值响应subplot(3,1,3);x = (n == 0);stem(n,filter(b,a,x)); %利用filter函数画出单位样值响应(3)运行该程序到27 帧时停住,用(1)中的方法观察零极点图。
添加代码如下:运行程序得到零极点图如下:(4) 在循环中添加程序:对每帧语音信号s(n) 和预测模型系数fa i g ,用filter 计算激励信号e(n) 。
matlab仿真实验报告,Matlab仿真及其应用实验报告.doc
matlab仿真实验报告,Matlab仿真及其应⽤实验报告.doc Matlab仿真及其应⽤ 实验报告温州⼤学物理与电⼦信息⼯程学院Matlab仿真及其应⽤ 实验报告课程名称:Matlab仿真及其应⽤班 级:10电信姓名:吴** 学号:1011000****实验地点:5B305⽇期:12.25实验⼆ Matlab 基本编程基础[实验⽬的和要求]熟悉MATLAB环境与⼯作空间熟悉变量与矩阵的输⼊、矩阵的运算熟悉M⽂件与M函数的编写与应⽤熟悉MATLAB控制语句与逻辑运算掌握if语句、switch语句、try语句的使⽤。
掌握利⽤for语句、while语句实现循环结构的⽅法。
[实验内容]1⾏100列的Fibonacc 数组a,a(1)=a(2)=1,a(i)=a(i-1)+a(i-2),⽤for循环指令来寻求该数组中第⼀个⼤于10000的元素,并之处其位置i。
编写M函数表⽰曲线以及它的包络线,并从命令窗⼝输⼊命令语句绘制曲线。
t的取值范围是[0,4π]。
设,编写⼀个M函数⽂件,使得调⽤f(x)时,x可⽤矩阵代⼊,得出的f(x)为同阶矩阵。
根据,求时的最⼤n值;与(1)的n值对应的y值。
已知求中,最⼤值、最⼩值、各数之和,以及正数、零、负数的个数。
输⼊⼀个百分制成绩,要求输出成绩等级A,B,C,D,E。
其中,90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
求分段函数的值。
⽤if语句实现输出x=-5.0, -3.0, 1.0, 2.0, 2.5, 3.0, 5.0时的y值。
编写⼀M函数,实现近似计算指数,其中x为函数参数输⼊,当n+1步与n步的结果误差⼩于0.00001时停⽌。
编写⼀M函数,a和x作为M函数参数输⼊,函数⾥⾯分别⽤if结构实现函数表⽰实验结果及分析:1.a=ones(1,100); %定义数组for i=3:100a(i)=a(i-1)+a(i-2);if(a(i)>10000)a(i),break;endend ,i2.function y=ff(t)y1=exp(-t/3);y2=exp(-t/3).*sin(3*t); y=[y1;y2]3.function y=f(x);a=input('输⼊a值:');x=input('输⼊x值:');if(x<=-a)y=-1;elseif(x-a)y=x/a;elsey=1;endend4.for n=1:100f(n)=1./(2*n-1);y=sum(f)if y>=3my=y-f(n)breakendendmy5.f(1)=1,f(2)=0,f(3)=1; for n=4:100f(n)=f(n-1)-2*f(n-2)+f(n-3);enda=sum(f);b=max(f);c=min(f);p=f==0,d=sum(p);%p等于f为0的个数p1=f>0,e=sum(p1);p2=f<0,f=sum(p2);a,b,c,d,e,f6.clear;n=input('输⼊成绩:');m=floor(n/10);%取整switch mcase num2cell(9:10)disp('A'); %显⽰在控制框case 8disp('B');case 7disp('C');case 6disp('D');case num2cell(0:5)disp('E');otherwisedisp('error')end7.function y=ex3_4(x)for i=1:length(x)if (x(i)<0)&(x(i)~=-3)y(i)=x(i)^2+x(i)-6elseif (x(i)>=0)&(x(i)<5)&(x(i)~=2)&(x(i)~=3) y(i)=x(i)^2-5*x(i)+6else y(i)=x(i)^2-x(i)-1 endendy8.function t=ex3_4(x) n=0;t=1;y=1;x=input(‘’);while y>=0.00001n=n+1;y=x^n/factorial(n);t=t+y;endn9.function y=f(x);a=input('输⼊a值:'); x=input('输⼊x值:'); if。
Matlab实验报告
实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。
所以用Maltab 软件很方便地画出规则的直线,方便研究。
实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。
MATLAB通信系统仿真实验报告
MATLAB通信系统仿真实验报告(2014-2015 学年第2 学期)实验一、MATLAB的基本使用与数学运算目的:学习MATLAB的基本操作,实现简单的数学运算程序。
内容:1、要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。
试用两种不同的指令实现。
2、用M文件建立大矩阵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]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。
4、任意建立矩阵A,然后找出在[10,20]区间的元素位置。
程序代码及运行结果:1.(1)程序代码:方法1: a = 0:2*pi/10:2*pi方法2: a1 = inspace(0,2*pi,10)(2)运行结果如图1-1所示:图 1- 12.(1)程序代码:x=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9;1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9;2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9;3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9]运行结果如图1-2所示:图 1-23.(1)程序代码:A=[5,6;7,8];B=[9,10;11,12];C=A+BD=A*BE=A.*BF=A^3G=A.^3H=A/BI=A\B(2)运行结果:C =14 1618 20D =111 122151 166E =45 6077 96F =881 10261197 1394G =125 216343 512H =3.0000 -2.00002.0000 -1.0000I =-3.0000 -4.00004.00005.00004.(1)程序代码:>>A=[4,15,-45,10,6;56,0,17,-45,0] B=find(A>=10&A<=20)(2)运行结果:A=4 15 -45 10 656 0 17 -45 0B=367总结:通过本次实验学习MATLAB的基本操作,实现简单的数学运算程序。
MATLAB通信系统仿真实验报告
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 仿真实验报告
matlab 仿真实验报告Matlab 仿真实验报告引言:在科学研究和工程应用中,仿真实验是一种非常重要的手段。
通过在计算机上建立数学模型和进行仿真实验,我们可以更好地理解和预测现实世界中的各种现象和问题。
Matlab作为一种强大的科学计算软件,被广泛应用于各个领域的仿真实验中。
本文将介绍我进行的一次基于Matlab的仿真实验,并对实验结果进行分析和讨论。
实验背景:在电子通信领域中,信号的传输和接收是一个重要的研究方向。
而在进行信号传输时,会受到各种信道的影响,如噪声、衰落等。
为了更好地理解信道的特性和优化信号传输方案,我进行了一次关于信道传输的仿真实验。
实验目的:本次实验的目的是通过Matlab仿真,研究不同信道条件下信号传输的性能,并对比分析不同传输方案的优劣。
实验步骤:1. 信道建模:首先,我需要建立信道的数学模型。
根据实际情况,我选择了常见的高斯信道模型作为仿真对象。
通过Matlab提供的函数,我可以很方便地生成高斯噪声,并将其加入到信号中。
2. 信号传输方案设计:接下来,我需要设计不同的信号传输方案。
在实验中,我选择了两种常见的调制方式:频移键控(FSK)和相移键控(PSK)。
通过调整不同的调制参数,我可以模拟不同的传输效果。
3. 信号传输仿真:在信道模型和传输方案设计完成后,我开始进行信号传输的仿真实验。
通过Matlab提供的信号处理函数,我可以很方便地生成调制后的信号,并将其传输到信道中。
4. 信号接收和解调:在信号传输完成后,我需要进行信号接收和解调。
通过Matlab提供的信号处理函数,我可以很方便地对接收到的信号进行解调,并还原出原始的信息信号。
5. 仿真结果分析:最后,我对仿真结果进行分析和讨论。
通过对比不同信道条件下的传输性能,我可以评估不同传输方案的优劣,并得出一些有价值的结论。
实验结果与讨论:通过对不同信道条件下的信号传输仿真实验,我得到了一些有价值的结果。
首先,我观察到在高斯噪声较大的信道条件下,PSK调制比FSK调制具有更好的抗干扰性能。
matlab与通信仿真实验报告
matlab与通信仿真实验报告《Matlab与通信仿真实验报告》摘要:本实验报告通过使用Matlab软件进行通信仿真实验,对通信系统的性能进行了评估和分析。
首先介绍了通信系统的基本原理和模型,然后利用Matlab软件搭建了通信系统的仿真模型,并进行了实验验证。
通过实验结果的分析,得出了通信系统的性能指标,为通信系统的设计和优化提供了重要参考。
一、引言通信系统是现代信息社会中不可或缺的基础设施,它承载着各种类型的信息传输和交换。
通信系统的性能直接影响着信息传输的质量和效率,因此对通信系统的性能评估和分析具有重要意义。
Matlab软件是一种功能强大的科学计算软件,它提供了丰富的工具和函数库,可以用于通信系统的建模、仿真和分析。
本实验报告将利用Matlab软件进行通信系统的仿真实验,对通信系统的性能进行评估和分析。
二、通信系统的基本原理和模型通信系统由发送端、信道和接收端组成,发送端将信息转换成电信号发送出去,经过信道传输后,接收端将电信号转换成信息。
通信系统的性能评估主要包括信号传输质量、误码率、信噪比等指标。
在本实验中,我们将以常见的调制解调技术为例,建立通信系统的仿真模型。
三、Matlab软件在通信系统仿真中的应用Matlab软件提供了丰富的工具和函数库,可以用于通信系统的建模、仿真和分析。
在本实验中,我们将利用Matlab软件搭建通信系统的仿真模型,包括信号调制、信道传输、信号解调等过程。
通过Matlab软件的仿真实验,我们可以得到通信系统的性能指标,如误码率、信噪比等。
四、实验结果分析通过Matlab软件进行通信系统的仿真实验,我们得到了一系列实验结果。
通过对实验结果的分析,我们可以评估通信系统的性能,比如误码率随信噪比的变化规律、不同调制方式的性能比较等。
这些实验结果对于通信系统的设计和优化具有重要的参考价值。
五、结论本实验报告利用Matlab软件进行通信系统的仿真实验,对通信系统的性能进行了评估和分析。
MATLAB系统仿真实验报告一
MATLAB系统仿真实验报告(一实验一、MATLAB语言环境与基本运算一、实验目的及要求1.学习了解MATLAB语言环境2.练习MATLAB命令的基本操作3.练习MATLAB数值运算相关内容4.练习MATLAB符号运算相关内容5.撰写实验报告二、实验内容1.熟悉Matlab语言环境1).学习了解MATLAB语言环境MATLAB语言操作界面(主界面的各个窗口)主界面:工具栏:状态栏:命令窗口:文件窗口:工作空间窗口:历史命令窗口:变量查询命令who, whosWho:列出当前存储器中的所有变量Whos:列出当前工作空间中的所有变量,包括与他们的维数、字节、类型有关的变量目录与目录结构目录,文件夹,文件搜索路径联机帮助2).MATLAB基本操作命令demos,clc,clf,clear,contro-c(^c),diary Demos:Clc:命令窗口清屏。
Clf:清楚当前图形。
清楚工作空间。
Control+c:复制选定区域到粘贴板。
Diary:用于记录MATLAB窗口的输入的命令和响应输出,diary off关闭记录,diary on打开记录。
2.Matlab数值运算与符号运算1).MATLAB数值运算相关内容MATLAB变量及变量赋值变量名以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。
变量名区分大小写,不可使用保留字。
变量赋值:变量名=表达式。
初等矩阵函数ones, zeros, eye, rand, randn, sizeOnes:生成常熟1构成的数组。
Zeros:零数组。
Eye:生成单位矩阵。
Rand:生成随机数和矩阵。
产生标准正态分布的随机数或矩阵的函数。
Size:求矩阵的维数。
矩阵的基本运算+ 加- 减* 乘^ 乘方‘共轭转置/或\ 矩阵相除./或.\ 数组相除矩阵的特征运算det, eig, rank, svdDet:求行列式。
Eig:求特征值和特征向量。
Rank:计算矩阵的秩。
Matlab通信系统仿真实验报告
Matlab通信原理仿真学号: 2142402 姓名:圣斌实验一 Matlab 基本语法与信号系统分析一、 实验目的:1、掌握MATLAB 的基本绘图方法;2、实现绘制复指数信号的时域波形。
二、 实验设备与软件环境:1、实验设备:计算机2、软件环境:MATLAB R2009a三、 实验内容:1、MATLAB 为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。
MATLAB 程序如下:x = -pi::pi;y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x ,y1绘图title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x ,y2绘图xlabel('time'),ylabel('y')%第二幅图横坐标为’time ’,纵坐标为’y ’运行结果如下图:-1-0.500.51plot(x,y1)-1-0.500.51timey2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图:MATLAB程序如下:x=-pi:.1:pi;y1=sin (x);y2=cos (x);figure (1);%subplot (2,1,1);plot (x,y1);title ('plot (x,y1)');grid on%subplot (2,1,2);plot (x,y2);xlabel ('time');ylabel ('y')subplot(1,2,1),stem(x,y1,'r') %绘制红色的脉冲图subplot(1,2,2),stem(x,y1,'g') %绘制绿色的误差条形图运行结果如下图:3、一个复指数信号可以分解为实部和虚部两部分。
通信原理Matlab仿真实验报告
实验二1、用Matlab模拟图形A律解码⑴Matlab程序代码:①建立函数ADecode()function y=ADecode(code,n) codesize=size(code);cr_len=codesize(1);cl_len=codesize(2);ca=zeros(1,cl_len-1);for i=1:cr_lenca=code(i,2:n);s=0;for j=1:n-1s=s+ca(j)*2^(n-1-j);enda=code(i,1);y(i)=s*((-1)^(a+1)); endy=y/(2^(n-1));A=87.6;A1=1+log(A);for j=1:length(y)if(y(j)>=0)if(y(i)<=1/A1)y(j)=y(j)*A1/A;elsey(j)=exp(y(j)*A1-1/A);endelsetemp=-y(j);if(temp<=1/A1)y(j)=-temp*A1/A;elsey(j)=-exp(temp*A1-1)/A;endendend②建立函数APCM()function code=APCM(x,n)xmax=max(abs(x));x=x/xmax;xlen=length(x);y=zeros(1,xlen);A=87.6;A1=1+log(A);for i=1:xlenif x(i)>=0if x(i)<=1/Ay(i)=(A*x(i))/A1;elsey(i)=(1+log(A*x(i)))/A1;endelsex1=-x(i);if x1<=1/Ay(i)=-(A*x1)/A1;elsey(i)=-(1+log(A*x1))/A1;endendendy1=y*(2^(n-1)-1);y1=round(y1);code=zeros(length(y1),n); c2=zeros(1,n-1);for i=1:length(y1)if(y1(i)>0)c1=1;elsec1=0;y1(i)=-y1(i);endfor j=1:n-1r=rem(y1(i),2);y1(i)=(y1(i)-r)/2;c2(j)=r;endc2=fliplr(c2);code(i,:)=[c1 c2];实验三1、用Matlab模拟双极性归零码⑴ Matlab程序代码:function y=drz(x)t0=300;x=[1 0 0 1 1 0 0 0 0 1 0 1];t=0:1/t0:length(x);for i=1:length(x);if(x(i)==1)for j=1:t0/2y(t0/2*(2*i-2)+j)=1;y(t0/2*(2*i-1)+j)=0;endelsefor j=1:t0/2y(t0/2*(2*i-2)+j)=-1;y(t0/2*(2*i-1)+j)=0;endendendy=[y,x(i)];M=max(y);m=min(y); subplot(211)plot(t,y);grid on;axis([0,i,m-0.1,M+0.1]);title('1 0 0 1 1 0 0 0 0 1 0 1 ');⑵Matlab仿真结果:2、用Matlab产生2FSK信号⑴ Matlab程序代码:①建立函数fskdigital()function fskdigital(s,f1,f2) t=0:2*pi/99:2*pi;m1=[];c1=[];b1=[];for n=1:length(s)if s(n)==0;m=ones(1,100);c=sin(f2*t);b=zeros(1,100) else s(n)==1;m=ones(1,100);c=sin(f1*t);b=ones(1,100)endm1=[m1 m]; c1=[c1 c]; b1=[b1 b]; endfsk=c1.*m1;subplot(211);plot(b1,'r')title('原始信号');axis([0 100*length(s) -0.1 1.1]);grid on;subplot(212);plot(fsk)title('2FSK信号');⑵仿真结果:①三角波原图②用矩形波近似的冲击函数③分解后的三角波④经低通还原的三角波。
(完整word版)matlab实验报告
《通信系统仿真》实验报告姓名:杨仕浩专业:通信工程学号: 2014111347实验一 MATLAB环境的熟悉与基本运算一、实验目的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识:1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。
变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
三、实验内容1、学习安装MATLAB软件。
2、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)3、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
4、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。
注意:每一次M-file的修改后,都要存盘。
练习A:(1) help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。
(2)学习使用clc、clear,了解其功能和作用。
(3)输入C=1:2:20,则C(i)表示什么?其中i=1,2,3, (10)(4)输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2)A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A (5)二维数组的创建和寻访,创建一个二维数组(4×8)A,查询数组A 第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。
Matlab通信系统建模与仿真例题源代码-第五章
% ch5example2prg1.mSNR_in_dB=-10:2:30;SNR_in=10.^(SNR_in_dB./10); % 信道信噪比m_a=0.3; % 调制度P=0.5+(m_a^2)/4; % 信号功率for k=1:length(SNR_in)sigma2=P/SNR_in(k); % 计算信道噪声方差并送入仿真模型sim('ch5example2.mdl');% 执行仿真SNRdemod(k,:)=SNR_out; % 记录仿真结果endplot(SNR_in_dB, SNRdemod);xlabel('输入信噪比dB');ylabel('解调输出信噪比dB');legend('包络检波','相干解调');% ch5example7prog1.mclear;Fs=10000; % 仿真的采样率t=1/Fs:1/Fs:1; % 仿真时间点m_t(Fs*1)=0; % 基带信号变量初始化for F=150:400 % 基带信号发生:频率150Hz~400Hzm_t=m_t+0.003*sin(2*pi*F*t)*(400-F); % 幅度随线性递减endm_t90shift=imag(hilbert(m_t)); % 基带信号的希尔伯特变换carriercos=cos(2*pi*1000*t); % 1000Hz载波coscarriersin=sin(2*pi*1000*t); % 1000Hz正交载波sins_SSB1=m_t.*carriercos-m_t90shift.*carriersin; % 上边带SSBs_SSB2=m_t.*carriercos+m_t90shift.*carriersin; % 下边带SSB% 下面作出各波形以及频谱figure(1);subplot(4,2,1); plot(t(1:100),carriercos(1:100),...t(1:100),carriersin(1:100),'--r'); % 载波subplot(4,2,2); plot([0:9999],abs(fft(carriercos))); % 载波频谱axis([0 2000 -500 6000]);subplot(4,2,3); plot(t(1:100),m_t(1:100)); % 基带信号subplot(4,2,4); plot([0:9999],abs(fft(m_t))); % 信号频谱axis([0 2000 -500 6000]);subplot(4,2,5); plot(t(1:100),s_SSB1(1:100)); % SSB波形上边带subplot(4,2,6); plot([0:9999],abs(fft(s_SSB1))); % SSB频谱上边带axis([0 2000 -500 6000]);subplot(4,2,7); plot(t(1:100),s_SSB2(1:100)); % SSB波形下边带subplot(4,2,8); plot([0:9999],abs(fft(s_SSB2))); % SSB频谱下边带axis([0 2000 -500 6000]);% ch5example8prog1.mclear;Fs=10000; % 仿真的采样率t=1/Fs:1/Fs:1; % 仿真时间点m_t(Fs*1)=0; % 基带信号变量初始化for F=150:400 % 基带信号发生:频率150Hz~400Hzm_t=m_t+0.003*sin(2*pi*F*t)*(400-F); % 幅度随线性递减endm_t90shift=imag(hilbert(m_t)); % 基带信号的希尔伯特变换carriercos=cos(2*pi*1000*t); % 1000Hz载波coscarriersin=sin(2*pi*1000*t); % 1000Hz正交载波sins_SSB1=m_t.*carriercos-m_t90shift.*carriersin; % 上边带SSBout=s_SSB1.*carriercos; % 相干解调[a,b]=butter(4, 500/(Fs/2)); % 低通滤波器设计4阶,截止频率为500Hz demodsig=filter(a,b,out); % 解调输出% 下面作出各波形以及频谱figure(1);subplot(3,2,1); plot(t(1:100),s_SSB1(1:100)); % SSB波形subplot(3,2,2); plot([0:9999],abs(fft(s_SSB1))); % SSB频谱axis([0 5000 -500 6000]);subplot(3,2,3); plot(t(1:100),out(1:100)); % 相干解调波形subplot(3,2,4); plot([0:9999],abs(fft(out))); % 相干解调频谱axis([0 3000 -500 6000]);subplot(3,2,5); plot(t(1:100),demodsig(1:100)); % 低通输出信号subplot(3,2,6); plot([0:9999],abs(fft(demodsig)));% 低通输出信号的频谱axis([0 3000 -500 6000]);% ch5example8prog2.mclear;Fs=10000; % 仿真的采样率t=1/Fs:1/Fs:1; % 仿真时间点m_t(Fs*1)=0; % 基带信号变量初始化for F=150:400 % 基带信号发生:频率150Hz~400Hzm_t=m_t+0.003*sin(2*pi*F*t)*(400-F); % 幅度随线性递减endm_t90shift=imag(hilbert(m_t)); % 基带信号的希尔伯特变换carriercos=cos(2*pi*1000*t); % 1000Hz载波coscarriersin=sin(2*pi*1000*t); % 1000Hz正交载波sins_SSB1=m_t.*carriercos-m_t90shift.*carriersin; % 上边带SSBout=s_SSB1.*cos(2*pi*1018*t+1);% 存在频率误差的相位误差时的相干解调[a,b]=butter(4, 500/(Fs/2)); % 低通滤波器设计4阶,截止频率为500Hz demodsig=filter(a,b,out); % 解调输出% 下面作出各波形以及频谱figure(1);subplot(3,2,1); plot(t(1:100),s_SSB1(1:100)); % SSB波形subplot(3,2,2); plot([0:9999],abs(fft(s_SSB1))); % SSB频谱axis([0 5000 -500 6000]);subplot(3,2,3); plot(t(1:100),out(1:100)); % 相干解调波形subplot(3,2,4); plot([0:9999],abs(fft(out))); % 相干解调频谱axis([0 3000 -500 6000]);subplot(3,2,5); plot(t(1:100),demodsig(1:100)); % 低通输出信号subplot(3,2,6); plot([0:9999],abs(fft(demodsig)));% 低通输出信号的频谱axis([0 3000 -500 6000]);% ch5example9prog1.m[wav,fs]=wavread('GDGvoice8000.wav');t_end=1/fs *length(wav); % 计算声音的时间长度Fs=50000; % 仿真系统采样率t=1/Fs:1/Fs:t_end; % 仿真系统采样时间点% 设计300Hz~3400Hz的带通预滤波器H(z)[fenzi,fenmu]=butter(3,[300 3400]/(fs/2));% 对音频信号进行预滤波wav=filter(fenzi,fenmu,wav);% 利用插值函数将音频信号的采样率提升为Fs=50KHzwav=interp1([1/fs:1/fs:t_end],wav,t,'spline');wav_hilbert=imag(hilbert(wav)); % 音频信号的希尔伯特变换fc=10000; % 载波频率HzSSB_OUT=wav.*cos(2*pi*fc*t)-wav_hilbert.*sin(2*pi*fc*t); % 单边带调制figure(1); % 观察调制前后频谱subplot(2,2,1); plot(wav(53550:53750)); axis([0 200 -0.3 0.3]);subplot(2,2,2); psd(wav, 10000, Fs); axis([0 25000 -20 10]);subplot(2,2,3); plot(SSB_OUT(53550:53750)); axis([0 200 -0.3 0.3]);subplot(2,2,4); psd(SSB_OUT, 10000, Fs); axis([0 25000 -20 10]); wavwrite(0.5*SSB_OUT,Fs,'SSB_OUT.wav'); % 将SSB调制输出存盘备用% ch5example9prog2.mfunction out=ch5example9prog2(in, SNRdB)% SNR_dB设定信噪比% in 输入信号序列% out 信道输出序列Fs=50000; %系统采样率Power_of_in=var(in);Power_of_noise=Power_of_in/(10.^(SNRdB/10));bandwidth=13500-10000; % 信道带宽N0=Power_of_noise/bandwidth; % 噪声功率谱密度值W/HzGauss_noise=sqrt(N0*Fs/2).*randn(size(in));[num, den]=butter(4, [10000 13500]/(Fs/2)); % 带通信道10KHz到13.5KHz signal_of_filter_out=filter(num, den, in);noise_of_filter_out=filter(num, den, Gauss_noise);SNR_dB=10*log10(var(signal_of_filter_out)/var(noise_of_filter_out))% 测量得出的信噪比out=signal_of_filter_out+noise_of_filter_out; % 信道输出% ch5example9prog3.mclear;[recvsignal, Fs]=wavread('Channel_OUT.wav');% 读入信道输出信号数据t=(1/Fs:1/Fs: length(recvsignal)/Fs)';fc_local=10000-200; % 本地载波频率9.8KHzlocal_carrier=cos(2*pi*fc_local.*t); % 本地载波xianggan_out=recvsignal.*local_carrier; % 相干解调[fenzi,fenmu]=butter(3,[300 3400]/(Fs/2)); % 设计300Hz~3400Hz的带通滤波器demod_out=filter(fenzi,fenmu,xianggan_out); % 对相干输出信号进行滤波sound(demod_out/max(demod_out), Fs); % 播放解调音频wavwrite(demod_out,Fs,'SSBDemod_OUT.wav'); % 保存输出信号% ch5example10prog1.mclear;Y=[1:-1/7:0].*255; % 8级灰度N=8; % 8*N 列数S=ones(N,1);Y=S*Y;Y=reshape(Y,1,N*8);% 将矩阵扩大指定列数的一行M=40; % M 行数S=ones(M,1);Y=S*Y; % 重复M次矩阵行,得出图像矩阵I=uint8(Y); % 转换为uint8格式imshow(I); % 显示imwrite(I,'graybar.tif','tif'); % 并保存为图像文件% ch5example11prog1.mclear;I=imread('graybar.tif');% 读入图像(由上例生成)img=double(I')/255; % 转换为双精度数以便计算[M,N]=size(img);for K=1:2for column=K:2:N % K=1扫描奇数行for row=1:Mdot=img(row,column); % 取当前扫描点的灰度值greydot=[dot,dot,dot]; % R,G,B均设置为相同值,即显示灰度plot(row,N-column,'s','MarkerFaceColor',greydot,...'MarkerEdgeColor',greydot,'MarkerSize',6);hold on; % 保持扫描点axis([1,M, 1, N]); % 作图范围set(gcf,'DoubleBuffer','on');% 双缓冲避免作图闪烁drawnow; % 立即作图endendend% ch5example12prg1.mclear;R=zeros(100,100);G=zeros(100,100);B=zeros(100,100);R(1:50,30:100)=255;G(30:100,50:100)=255;B(1:70,1:70)=255; % 三基色产生I(:,:,1)=R;I(:,:,2)=G;I(:,:,3)=B; % 合成为100*100图像矩阵imshow(uint8(I));% 显示% ch5example13prg1.m% 生成400*480彩条图像clear;R=[1 1 0 0 1 1 0 0];G=[1 1 1 1 0 0 0 0];B=[1 0 1 0 1 0 1 0];N=60; % N*8列S=ones(N,1);R=S*R; R=reshape(R,1,N*8);G=S*G; G=reshape(G,1,N*8);B=S*B; B=reshape(B,1,N*8);M=400; % 行数S=ones(M,1);R=S*R; G=S*G; B=S*B; % 得出三基色矩阵I(:,:,1)=R; I(:,:,2)=G; I(:,:,3)=B; % 组合I=uint8(I*255); % 类型转换imshow(I); % 显示并保存imwrite(I,'colorbar.tif','tif');% ch5example14prg1.mclear;I=imread('colorbar.tif');% 或用autumn.tif,sydney.JPG等图像文件figure(1);imshow(I);I=double(I);[m,n,p]=size(I);I=-(0.75-0.125)./(255).*I+0.75; % 换算为0.125到0.75电平R=I(:,:,1);G=I(:,:,2);B=I(:,:,3);% 三基色分离R=reshape(R',1,m*n); % 转换为1维(红)G=reshape(G',1,m*n); % 转换为1维(绿)B=reshape(B',1,m*n); % 转换为1维(蓝)Y=0.30*R+0.59*G+0.11*B;% 亮度R_Y=R-Y; % 色差R0B_Y=B-Y; % 色差B0V=0.877*R_Y; % 色差电平压缩U=0.493*B_Y; % 色差电平压缩f_c=283.5*15625; % 副载波频率tvY=[interp1(Y,(1:n/980:m*n),'nearest')];% 插值:行采样980点tvV=[interp1(V,(1:n/980:m*n),'nearest')];% 插值tvU=[interp1(U,(1:n/980:m*n),'nearest')];% 插值% 全电视信号产生for h=1:(m-2)s(1280*h+(1:102))=0.75; % 消隐脉冲s(1280*h+(103:197))=1; % 行同步头s(1280*h+(198:300))=0.75;% 消隐脉冲s(1280*h+(301:1280))=tvY(h*980+(-1:978));% 图像一行像素-亮度% 色差VsV(1280*h+(1:300))=0; % 消隐部分sV(1280*h+(220:265))=0.12;% 色同步选通sV(1280*h+(301:1280))=tvV(h*980+(-1:978));% 图像信号部分% 色差UsU(1280*h+(1:300))=0;sU(1280*h+(301:1280))=tvU(h*980+(-1:978));endt=0:0.5e-7:0.5e-7*(length(s)-1);% 计算时间点序列,采样率20MHzF_v=sV.*cos(2*pi*f_c.*t); % 色差信号正交调制F_u=sU.*sin(2*pi*f_c.*t);c=F_v+F_u; % 调制输出的色差信号TVsignal=s+c; % 合成彩色电视信号figure(2); plot(t,TVsignal); xlabel('时间');% 彩色电视信号figure(3); plot(t,s); xlabel('时间'); % 亮度信号% 功率谱计算[Pxxcc,F]=psd(c,1e5,2e7);figure(4); plot(F,10*log10(Pxxcc),'g');hold on;% 调制后的色差信号频谱[Pxx,F]=psd(s,1e5,2e7); % FFT长度为1e5点,故频率分辨率100Hz figure(4); plot(F,10*log10(Pxx),'k'); % 亮度信号频谱xlabel('频率Hz');ylabel('功率谱密度dB');% ch5example15prg1.mclear;ch5example14prg1; % 用实例5.14程序产生彩色全电视信号%---带限高斯信道---TVsignal=TVsignal+0.1*randn(size(TVsignal)); % 加入噪声[b,a]=butter(2,5e6/(20e6/2)); % 传输信道带宽5MHzTVsignal=filter(b,a,TVsignal); % 通过带限信道%---接收部分---[b,a]=butter(2,0.5e6/(20e6/2)); % 行同步滤波h_pulse=filter(b,a,TVsignal);h_pulse=h_pulse>0.87; % 行同步脉冲选出。
基于MATLAB的通信系统的仿真报告参考例文
摘要Simulink是Mathworks公司推出的基于Matlab平台的著名仿真环境Simulin作为一种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。
本文主要是以simulink为基础平台,对2ASK、2FSK、2PSK信号的仿真。
文章第一章内容是对simulink的简单介绍和通信技术的目前发展和未来展望;第二章是对2ASK、2FSK和2PSK信号调制及解调原理的详细说明;第三章是本文的主体也是这个课题所要表现的主要内容,第三章是2ASK、2FSK和2PSK信号的仿真部分,调制和解调都是simulink建模的的方法,在解调部分各信号都是采用相干解调的方法,而且在解调的过程中都对整个系统的误码率在display模块中有所显示本文的主要目的是对simulink的熟悉和对数字通信理论的更加深化和理解。
关键词:2ASK、2FSK、2PSK,simulink,调制,相干解调目录第一章绪论 (31)1.1 MATLAB/Smulink的简介 (31)1.2 通信发展简史........................................ 错误!未定义书签。
1 1.3 通信技术的现状和发展趋势............................ 错误!未定义书签。
4 第二章 2ASK、2FSK、2PSK和2DPSK的基本原理和实现....... 错误!未定义书签。
7 2.1 2ASK的基本原理和调制解调实现...................... 错误!未定义书签。
8 2.2 2FSK的基本原理和调制解调实现..................... 错误!未定义书签。
11 2.3 2PSK的基本原理和调制解调实现.................... 错误!未定义书签。
14 2. 2DPSK的基本原理和调制解调实现.................... 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB高级编程与工程应用
1.2.1 FDMA的Simulink仿真
解:
(1)
按照题意搭建得到系统框图如下:
(2)
前三个Analog Filter Design滤波器的作用是将傅里叶变换后的频域波形进行一次过滤,将杂质频率分量滤去,留下主要的频率分量;后三个Analog Filter Design滤波器的作用是对整体的频域分量进行选择,分别选出各频率分量,然后输送到解调器中进行解调。
直接将按照题意搭建好的系统框图运行,程序提示错误,表示DSB AM Modulator需要输入离散的信号,查阅了网上的资料发现,需要在DSB输入及输出均加上零阶抽样保持才可以,于是我在6个DSB前后均加上了零阶抽样保持的模块,如下图所示:
再次运行,发现scope中的输出信号均为-1,于是我再次检查了参数的设置情况,发现是解调器的载波没有调来与对应的调制器一致,改正之后就能得到正确的波形了,得到的波形如下所示:
Scope1:
Scope2:
Scope3:
(3)
处理前各信号:正弦波:
方波:
三角波:
处理后各信号:
正弦波:
方波:
三角波:
1.2.2 TDMA的Simulink仿真
(4)解:
设计时分多址复用单元Multiplex如下:
方波脉冲生成器的设置如下图所示:
两个延时器的设置如下图所示:
(5)解:
时分多址接收但愿Demultiplex与发送单元应该是完全一样的。
在实际中,要使接收端能够还原出三路信号,接收端由Pulse generator产生的门控脉冲与发送端的脉冲相位应该是一样的,也就是说完全同步。
(6)解:
画出完整的系统如下图所示:
得到波形如下所示:
Scope:
Scope1:
1.2.3 CDMA的Simulink仿真
(7)解:
画出CDMA通信系统的仿真模型如下图所示:
参数设置:
三个二进制伯努利随机序列应该是不一样的,那么就应该将三个信号生成器的initial seed调整为不同的值,如下图所示:
Relay、Relay1-2、6-8的参数设置如下:
PN序列产生器设置如下:
两个Integer Delay的参数设置分别如下图所示:
三个Digital Filter Design参数设置如下:
滤波器参数原理我表示不太理解,只是依靠不断地试探,得到这样的参数,在这种参数情况下得到的输出波形与原来信号的波形相差较小,并且延时也不是特别大。
在带子较宽的时候,输出信号会带许多毛刺,在带子较窄的时候,输出信号延时比较大,并且输出的脉冲宽度误差很大。
Relay3-5的参数设置如下图所示:
最后得到三路信号以及输出的信号如下图所示:
观察图像我们可以发现,信号存在约为0.5s的延时,脉冲宽度几乎一致。
(8)解:
为了将语音信号转化为二进制码流,我添加了三个中继器——Relay9-11,直接设置阈值,将语音信号转化成了二进制码流,其参数如下图所示:
同时将输入和输出做了改变,得到最终的图像如下图所示:
我将第一次大作业中的吉他音频信号分割成等长的3部分,然后加入时间信号,输入到simulink中,然后得到6个输出,分别用sound()函数收听这6个信号,可以听出处理前后的语音信号大体上是一致的,但是处理后的信号中会参杂一些杂音,导致某些地方的音质不是很好。
为了听到远近效应,我调节了几个参数,但是由于音质太差,最终没能听到远近效应。
1.2.4 三种多址方式的比较
1、频带资源占用:FDMA频带占用最大,TDMA和CDMA较小。
FDMA要将信号调制到各个频带上,而且不同频带之间的间隔要保证一定的宽度,避免相互之间发生干扰,所以会占用较多的频带资源。
TDMA和CDMA分别是对时域进行分割以及用正交的编码来进行分割,所以对频带的占用较小。
2、抗噪声能力:由于FDMA的各路信号频率很可能会发生相互干扰,而且各路放大器的非线性会产生谐波失真,出现多项频率倍乘成分,引起各路信号之间的串话,所以说产生噪声是必然的。
TDMA也很容易产生码间相互干扰,但是这种干扰可以通过优化设计来减小影响。
CDMA则是三者之中抗噪声能力最好的,这是由各编码的正交性所决定的,但是它在一定程度上受“远近效应”的影响。
3、链路数量:FDMA由于占用频带资源较多,所以说传输容量还是受了一定的限制,也即链路数量较少。
TDMA虽然说比FDMA稍好,但是由于其占用的时域空间较多,受到时间的限制,其链路数量也是相当有限的。
CDMA的传输容量则是三者之中最大的。
4、总体来说:CDMA是三者之中的最佳选择,它具有抗干扰能力强,容量大,信号安全性能高的特点。
实验总结及相关问题
本次实验算是对simulink工具的一个入门吧,以前压根儿就没有使用过这个工具,所以说刚开始的时候还是遇到的不少问题,主要体现在以下几个方面:
1、刚开始时没有把连续时间信号与离散时间信号分别开,导致运行时连连报错,但是自己又是按照书上所给的电路搭的系统,于是上网查阅了资料,发现必须在调制器和解调器两端均加上零阶保持才可以运行;
2、在调节各处参数的时候比较没有经验,刚开始的时候对各参数的作用还不是特别了解,在不断试探、上网查阅资料甚至是参考学长报告的过程中,才对各参数有了比较深入的理解,最终得到的结果也还算不错。
本次实验收获还是很大的,不仅了解了simulink的相关操作,还对FDMA、TDMA、CDMA 这三个分址方案有了一定的理解,知道了它们各自的优缺点。
但是我想我对这三种分址方式尤其是CDMA还不够,这也是导致我最终得到处理后的信号音质比较差的原因。