Matlab通信系统仿真实验报告.docx

上传人:b****6 文档编号:13682013 上传时间:2023-06-16 格式:DOCX 页数:18 大小:166.08KB
下载 相关 举报
Matlab通信系统仿真实验报告.docx_第1页
第1页 / 共18页
Matlab通信系统仿真实验报告.docx_第2页
第2页 / 共18页
Matlab通信系统仿真实验报告.docx_第3页
第3页 / 共18页
Matlab通信系统仿真实验报告.docx_第4页
第4页 / 共18页
Matlab通信系统仿真实验报告.docx_第5页
第5页 / 共18页
Matlab通信系统仿真实验报告.docx_第6页
第6页 / 共18页
Matlab通信系统仿真实验报告.docx_第7页
第7页 / 共18页
Matlab通信系统仿真实验报告.docx_第8页
第8页 / 共18页
Matlab通信系统仿真实验报告.docx_第9页
第9页 / 共18页
Matlab通信系统仿真实验报告.docx_第10页
第10页 / 共18页
Matlab通信系统仿真实验报告.docx_第11页
第11页 / 共18页
Matlab通信系统仿真实验报告.docx_第12页
第12页 / 共18页
Matlab通信系统仿真实验报告.docx_第13页
第13页 / 共18页
Matlab通信系统仿真实验报告.docx_第14页
第14页 / 共18页
Matlab通信系统仿真实验报告.docx_第15页
第15页 / 共18页
Matlab通信系统仿真实验报告.docx_第16页
第16页 / 共18页
Matlab通信系统仿真实验报告.docx_第17页
第17页 / 共18页
Matlab通信系统仿真实验报告.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Matlab通信系统仿真实验报告.docx

《Matlab通信系统仿真实验报告.docx》由会员分享,可在线阅读,更多相关《Matlab通信系统仿真实验报告.docx(18页珍藏版)》请在冰点文库上搜索。

Matlab通信系统仿真实验报告.docx

Matlab通信系统仿真实验报告

Matlab通信原理仿真

 

学号:

2142402

姓名:

圣斌

 

实验一Matlab基本语法与信号系统分析

一、实验目的:

1、掌握MATLAB的基本绘图方法;

2、实现绘制复指数信号的时域波形。

二、实验设备与软件环境:

1、实验设备:

计算机

2、软件环境:

MATLABR2009a

三、实验内容:

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)’

gridon;%为第一幅图绘制网格线

subplot(2,1,2)%确定第二幅图绘图窗口

plot(x,y2);%以x,y2绘图

xlabel('time'),ylabel('y')%第二幅图横坐标为’time’,纵坐标为’y’

运行结果如下图:

2、上例中的图形使用的是默认的颜色和线型,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)');

gridon

%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中,连续信号是用信号在等时间间隔点的采样值来近似表示的。

当采样间隔足够小时,就可以比较好的近似连续信号。

例如绘制复指数信号时域波形的MATLAB实现如下。

MATLAB程序如下:

functionsigexp(a,s,w,t1,t2)

%本函数实现绘制复指数信号时域波形

%a:

复指数信号幅度

%s:

复指数信号频率实部

%w:

复指数信号频率虚部

%t1,t2:

绘制波形的时间范围

t=t1:

0.01:

t2;

theta=s+j*w;

fc=a*exp(theta*t);

real_fc=real(fc);

imag_fc=imag(fc);

mag_fc=abs(fc);

phase_fc=angle(fc);

subplot(2,2,1);

plot(t,real_fc);

title('ʵ²¿');xlabel('t');

axis([t1,t2,-(max(mag_fc)+0.2),max(mag_fc)+0.2]);

subplot(2,2,2)

plot(t,imag_fc);

title('Ð鲿');xlabel('t');

axis([t1,t2,-(max(mag_fc)+0.2),max(mag_fc)+0.2]);

subplot(2,2,3)

plot(t,mag_fc);

title('Ä£');xlabel('t')

axis([t1,t2,0,max(mag_fc)+0.5]);

subplot(2,2,4);

plot(t,phase_fc);

title('Ïà½Ç');xlabel('t');

axis([t1,t2,-(max(phase_fc)+0.5),max(phase_fc)+0.5]);

在命令行中输入sigexp(3,-0.3,5,0,5),得到下图:

四、实验感受

通过这次实验课的学习,我对MATLAB有了基本的认识,掌握了MATLAB的基本绘图方法,实现了绘制复指数信号的时域波形。

通过将课堂知识用于实践操作,理解了MATLAB的仿真能力,学以致用,对书本知识有了更深的理解,激发了学习的兴趣。

实验二模拟信号的数字传输

一、实验目的:

实现PCM的采样、量化和编码。

二、实验设备与软件环境:

1、实验设备:

计算机

2、软件环境:

MATLABR2009a

三、实验内容:

1、输入信号为一频率为10Hz的正弦波,管擦对于统一输入信号有不同的抽样频率是,恢复信号的不同形态。

抽样仿真框图:

(1)当抽样频率大于信号频率的两倍时,设置如下:

SineWave模块设置:

“PulseGenerator”模块设置:

“AnalogFilterDesign”模块设置:

“Gain”模块设置系数为10;

Scope显示原始波形为:

Scope1显示频率为30Hz的抽样信号波形为

Scope2显示抽样后信号的波形为

Scope3显示通过低通滤波器后恢复的信号波形为

(2)当抽样频率等于信号频率的两倍时,抽样频率为20Hz,“PulseGenerator”模块的“Period”设置为0.05,恢复信号波形为

(3)当抽样频率小于信号抽样频率的两倍时,抽样频率为5Hz,“PulseGenerator”模块的“period”设置为0.2,恢复信号波形如下图所示

2、设输入信号抽样值为+1270个量化单位,按照A律13折线特性编成8位码。

量化单位指以输入信号归一化值的1/2048为单位。

MATLAB程序如下。

clearall

closeall。

x=+1270;

ifx>0

out

(1)=1;

else

out

(1)=0;

end

ifabs(x)>=0&abs(x)<16

out

(2)=0;out(3)=0;out(4)=0;step=1;st=0;

elseif16<=abs(x)&abs(x)<32

out(i,2)=0;out(3)=0;out(4)=1;step=1;st=16;

elseif32<=abs(x)&abs(x)<64

out

(2)=0;out(3)=1;out(4)=0;step=2;st=32;

elseif64<=abs(x)&abs(x)<128

out

(2)=0;out(3)=1;out(4)=1;step=4;st=64;

elseif128<=abs(x)&abs(x)<256

out

(2)=1;out(3)=0;out(4)=0;step=8;st=128;

elseif256<=abs(x)&abs(x)<512

out

(2)=1;out(3)=0;out(i,4)=1;step=16;st=256;

elseif512<=abs(x)&abs(x)<1024

out

(2)=1;out(3)=1;out(i,4)=0;step=32;st=512;

elseif1024<=abs(x)&abs(x)<2048

out

(2)=1;out(3)=1;out(4)=1;step=64;st=1024;

else

out

(2)=1;out(3)=1;out(4)=1;step=64;st=1024;

end

if(abs(x)>=2048)

out(2:

8)=[1111111];

else

tmp=floor((abs(x)-st/step));

t=dec2bin(tmp,4)-48;%º¯Êýdec2binÊä³öµÄÊÇASCII×Ö·û´®£¬48¶ÔÓ¦0

out(5:

8)=t(1:

4)

end

out=reshape(out,1,8)

四、实验感受:

在这次实验过程中,我更深的理解了以PCM为代表的编码调制技术,实现了PCM的采样、量化、编码过程,将连续变化的模拟信号转变为数字信号,收获很大,课堂知识和实验相互印证,加深了我的理解。

实验三数字信号基带传输实验

一、实验目的:

1、基于MATLAB实现双极性归零码的代码与绘图;

2、绘制眼图。

二、实验设备与软件环境:

1、实验设备:

计算机

2、软件环境:

MATLABR2009a

三、实验内容:

1、用双极性归零码来表示二元信息序列100110000101,画出波形示意图。

MATLAB程序如下:

functiony=drz(x)

%本函数实现将输入的一段二进制代码编为相应的双极性归零码输出

%输入x为二进制码,输出y为编出的双极性归零码

t0=300;

t=0:

1/t0:

length(x);%定义对应的时间序列

fori=1:

length(x)%进行码型变换

if(x(i)==1)%若输入信息为1

forj=1:

t0/2

y(t0/2*(2*i-2)+j)=1;%定义前半时间值为1

y(t0/2*(2*i-1)+j)=0;%定义后半时间值为0

end;

else

forj=1:

t0/2%反之,输入信息为0

y(t0/2*(2*i-2)+j)=-1;%定义前半时间值为-1

y(t0/2*(2*i-1)+j)=0;%定义后半时间值为0

end;

end;

end

y=[y,x(i)];%给序列y加上最后一位,便于作图

M=max(y);

m=min(y);

subplot(2,1,1);

plot(t,y);gridon;

axis([0,i,m-0.1,M+0.1]);

title('100110000101');

程序运行结果如下:

2、产生一个二进制随机方波序列,画出通过升余弦滤波器滤波后,方波的高频分量成分滤掉后绘出的眼图。

MATLAB程序如下:

x=randint(3000,1,2);%产生3000行1列的二进制随机数x

y=[[0];rcosflt(x,1,10)];%x通过一个升余弦滤波器得到y

figure

(1)

t=1:

30061;

plot(t,y);axis([1,300,-0.5,1.5]);%绘出y的时域图形

gridon;

eyediagram(y,20,4);%调用MATLAB函数绘出y的眼图

t1=t';

D=[t1y];%y与时间变量t1组成文件变量D

程序运行结果如下:

四、实验感受:

在这次试验中,我学会了基于MATLAB实现双极型归零码的代码与绘制,学会了眼图的绘制。

更加熟悉了软件的操作,对软件的功能也有了更深的认识,受益匪浅。

实验四载波调制的数字传输

一、实验目的:

1.掌握2FSK的调制方法并写出代码;

2.掌握BPSK的调制方法并写出代码。

二、实验设备与软件环境:

1、实验设备:

计算机

2、软件环境:

MATLABR2009a

三、实验内容:

1、对二元序列10110010,画出2FSK波形,设载波频率ω1=2ω2=2Rb(码元速率)。

载波信号1的频率ω1为码元速率的2倍,也就是说一个码元周期里有两个周期的载波信号1,载波信号2的频率ω2等于码元速率,也就是说一个码元周期里有一个周期的载波信号2。

MATLAB程序如下:

functionfskdigital(s,f0,f1)

%本程序实现FSK调制

%s——输入二进制序列,f0,f1——两个载波信号的频率

%调用举例:

(f0,f1必须是整数)fskdigital([10110010],1,2)

t=0:

2*pi/99:

2*pi;%初始定义

cp=[];mod=[];bit=[];

forn=1:

length(s)%调制过程

ifs(n)==0;

cp1=ones(1,100);

c=sin(f0*t);

bit1=zeros(1,100);

elses(n)==1;

cp1=ones(1,100);

c=sin(f1*t);

bit1=ones(1,100);

end

cp=[cp,cp1];

mod=[modc];

bit=[bitbit1];

end

fsk=cp.*mod;

subplot(2,1,1);%分别画出原信号、已调信号示意

plot(bit,'r'');

ylabel('BinarySignal');

axis([0100*length(s)-2.52.5]);

subplot(2,1,2);

plot(fsk);gridon;

ylabel('FSKmodulation');

axis([0100*length(s)-2.52.5]);

end

在命令窗口输入fskdigital([10110010],1,2)后运行结果如下:

2、对二元序列10110010,画出BPSK波形,设载波频率为码元速率的2倍。

载波信号的频率为码元速率的2倍,也就是说码元周期是载波周期的2倍,一个码元周期里有两个周期的载波信号。

MATLAB程序如下:

functionbpskdigital(s,f)

%本程序实现bpsk调制

%s——输入二进制序列,f——载波信号的频率

%调用举例:

(f必须是整数)bpskdigital([10110010],2)

t=0:

2*pi/99:

2*pi;%初始定义

cp=[];mod=[];bit=[];

forn=1:

length(s)%调制过程

ifs(n)==0;

cp1=-ones(1,100);

bit1=zeros(1,100);

elses(n)==1;

cp1=ones(1,100);

bit1=ones(1,100);

end

c=sin(f*t);

cp=[cp,cp1];

mod=[modc];

bit=[bitbit1];

end

bpsk=cp.*mod;

subplot(2,1,1);%分别画出原信号、已调信号示意

plot(bit);gridon;

ylabel('BinarySignal');

axis([0100*length(s)-2.52.5]);

subplot(2,1,2);

plot(bpsk);gridon;

ylabel('BPSKmodulation');

axis([0100*length(s)-2.52.5]);

在命令窗口输入bpskdigital([10110010],1)后运行结果如下:

四、实验感受:

通过这次实验的学习,我掌握了利用MATLAB实现2FSK的调制方法并写出代码。

并掌握了BPSK的调制方法并能够独立写出代码。

收获很大,也更加激发了我对MATLAB的学习的热情,相信在以后会对这门课程做更加深入的学习。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2