Matlab通信系统仿真实验报告Word文档下载推荐.docx
- 文档编号:20012824
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:16
- 大小:166.47KB
Matlab通信系统仿真实验报告Word文档下载推荐.docx
《Matlab通信系统仿真实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Matlab通信系统仿真实验报告Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
plot(x,y1)'
);
%为第一幅图取名为’plot(x,y1)’
gridon;
%为第一幅图绘制网格线
subplot(2,1,2)%确定第二幅图绘图窗口
plot(x,y2);
%以x,y2绘图
xlabel('
time'
),ylabel('
y'
)%第二幅图横坐标为’time’,纵坐标为’y’
运行结果如下图:
2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图:
x=-pi:
.1:
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('
ylabel('
)
subplot(1,2,1),stem(x,y1,'
r'
)%绘制红色的脉冲图
subplot(1,2,2),stem(x,y1,'
g'
)%绘制绿色的误差条形图
3、一个复指数信号可以分解为实部和虚部两部分。
实际通信信道并不能产生复指数信号,但可以用复指数信号描述其他基本信号,因此在通信系统分析和仿真中复指数信号起到十分重要的作用。
从严格意义上讲,计算机并不能处理连续信号。
在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);
Ê
µ
²
¿
'
t'
axis([t1,t2,-(max(mag_fc)+0.2),max(mag_fc)+0.2]);
subplot(2,2,2)
plot(t,imag_fc);
Ð
é
subplot(2,2,3)
plot(t,mag_fc);
Ä
£
axis([t1,t2,0,max(mag_fc)+0.5]);
subplot(2,2,4);
plot(t,phase_fc);
Ï
à
½
Ç
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、输入信号为一频率为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>
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)&
32
out(i,2)=0;
out(4)=1;
st=16;
elseif32<
64
out(3)=1;
step=2;
st=32;
elseif64<
128
step=4;
st=64;
elseif128<
256
out
(2)=1;
step=8;
st=128;
elseif256<
512
out(i,4)=1;
step=16;
st=256;
elseif512<
1024
out(i,4)=0;
step=32;
st=512;
elseif1024<
2048
step=64;
st=1024;
if(abs(x)>
=2048)
out(2:
8)=[1111111];
tmp=floor((abs(x)-st/step));
t=dec2bin(tmp,4)-48;
%º
¯
ý
dec2binÊ
ä
³
ö
ASCII×
Ö
·
û
´
®
¬
48¶
Ô
Ó
¦
out(5:
8)=t(1:
4)
out=reshape(out,1,8)
四、实验感受:
在这次实验过程中,我更深的理解了以PCM为代表的编码调制技术,实现了PCM的采样、量化、编码过程,将连续变化的模拟信号转变为数字信号,收获很大,课堂知识和实验相互印证,加深了我的理解。
实验三数字信号基带传输实验
1、基于MATLAB实现双极性归零码的代码与绘图;
2、绘制眼图。
1、用双极性归零码来表示二元信息序列100110000101,画出波形示意图。
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
t0/2%反之,输入信息为0
y(t0/2*(2*i-2)+j)=-1;
%定义前半时间值为-1
y=[y,x(i)];
%给序列y加上最后一位,便于作图
M=max(y);
m=min(y);
plot(t,y);
axis([0,i,m-0.1,M+0.1]);
100110000101'
程序运行结果如下:
2、产生一个二进制随机方波序列,画出通过升余弦滤波器滤波后,方波的高频分量成分滤掉后绘出的眼图。
x=randint(3000,1,2);
%产生3000行1列的二进制随机数x
y=[[0];
rcosflt(x,1,10)];
%x通过一个升余弦滤波器得到y
figure
(1)
t=1:
30061;
axis([1,300,-0.5,1.5]);
%绘出y的时域图形
eyediagram(y,20,4);
%调用MATLAB函数绘出y的眼图
t1=t'
;
D=[t1y];
%y与时间变量t1组成文件变量D
在这次试验中,我学会了基于MATLAB实现双极型归零码的代码与绘制,学会了眼图的绘制。
更加熟悉了软件的操作,对软件的功能也有了更深的认识,受益匪浅。
实验四载波调制的数字传输
1.掌握2FSK的调制方法并写出代码;
2.掌握BPSK的调制方法并写出代码。
1、对二元序列10110010,画出2FSK波形,设载波频率ω1=2ω2=2Rb(码元速率)。
载波信号1的频率ω1为码元速率的2倍,也就是说一个码元周期里有两个周期的载波信号1,载波信号2的频率ω2等于码元速率,也就是说一个码元周期里有一个周期的载波信号2。
functionfskdigital(s,f0,f1)
%本程序实现FSK调制
%s——输入二进制序列,f0,f1——两个载波信号的频率
%调用举例:
(f0,f1必须是整数)fskdigital([10110010],1,2)
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;
c=sin(f1*t);
bit1=ones(1,100);
end
cp=[cp,cp1];
mod=[modc];
bit=[bitbit1];
fsk=cp.*mod;
%分别画出原信号、已调信号示意
plot(bit,'
ylabel('
BinarySignal'
axis([0100*length(s)-2.52.5]);
subplot(2,1,2);
plot(fsk);
FSKmodulation'
在命令窗口输入fskdigital([10110010],1,2)后运行结果如下:
2、对二元序列10110010,画出BPSK波形,设载波频率为码元速率的2倍。
载波信号的频率为码元速率的2倍,也就是说码元周期是载波周期的2倍,一个码元周期里有两个周期的载波信号。
functionbpskdigital(s,f)
%本程序实现bpsk调制
%s——输入二进制序列,f——载波信号的频率
(f必须是整数)bpskdigital([10110010],2)
cp1=-ones(1,100);
c=sin(f*t);
bpsk=cp.*mod;
%分别画出原信号、已调信号示意
plot(bit);
plot(bpsk);
BPSKmodulation'
在命令窗口输入bpskdigital([10110010],1)后运行结果如下:
通过这次实验的学习,我掌握了利用MATLAB实现2FSK的调制方法并写出代码。
并掌握了BPSK的调制方法并能够独立写出代码。
收获很大,也更加激发了我对MATLAB的学习的热情,相信在以后会对这门课程做更加深入的学习。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 通信 系统 仿真 实验 报告