2ASK系统的仿真.docx
- 文档编号:5838841
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:21
- 大小:674.86KB
2ASK系统的仿真.docx
《2ASK系统的仿真.docx》由会员分享,可在线阅读,更多相关《2ASK系统的仿真.docx(21页珍藏版)》请在冰豆网上搜索。
2ASK系统的仿真
课程设计
班级:
姓名:
学号:
指导教师:
成绩:
电子与信息工程学院
信息与通信工程系
摘要
调制解调技术作为现代通信系统关键技术之一,一直是备受关注。
二进制数字振幅键控是一种古老的调制方式,也是各种数字调制的基础。
本次设计主要是利用MATLAB集成环境下的Simulink仿真平台,设计一个2ASK仿真系统。
用示波器观察调制前后的信号波形,以及加上噪声源后的波形变化。
通过Simulink的仿真功能摸拟到了实际中的2ASK调制与解调情况。
关键词:
调制解调;2ASK仿真系统;Simulink
Abstract
Asoneofthekeytechnologiesinmoderncommunicationsystemofmodulationanddemodulationtechnology,hasbeenpaidmuchattention.Thebinaryamplitudeshiftkeyingisakindofancientmodulation,whichisthebasisofallkindsofdigitalmodulation.ThisdesignismainlySimulinksimulationplatformbasedonMATLABintegratedenvironment,thedesignofa2ASKsimulationsystem.Toobservethesignalwaveformmodulationandtheoscilloscope,plusnoisesourcewaveformchanges.2ASKmodulationanddemodulationofthesimulationfunctionsimulationbySimulink.
KeyWord:
Modulationanddemodulation;2ASKsimulationsystem;Simulink
基于MATLAB的2ASK系统的研究与仿真
1背景知识
1.1数字频带传输系统
在数字基带传输系统中,为了使数字基带信号能够在信道中传输,要求信道应具有低通形式的传输特性。
然而,在实际信道中,大多数信道具有带通传输特性,数字基带信号不能直接在这种带通传输特性的信道中传输。
必须用数字基带信号对载波进行调制,产生各种已调数字信号。
图1.1-1数字调制系统的基本结构[1]
Fig1.1-1Thebasicstructureofdigitalmodulationsystem
数字调制与模拟调制原理是相同的,但是数字信号有离散取值的特点。
基本的三种数字调制方式是:
振幅键控(ASK)、移频键控(FSK)和相移键控(PSK)。
1.2二进制振幅键控(2ASK)
1.2.1基本原理
振幅键控是利用载波的幅度变化来传递信息,而其频率和初相位保持不变。
在2ASK中,载波幅度只有两种变化,分别对应二进制信息“0”或“1”。
2ASK信号其表达式是:
(1.2.1-1)
其中:
(1.2.1-2)
式中:
Ts为码元持续时间;g(t)为持续时间为Ts的基带脉冲波形。
通常假设g(t)是高度为1、宽度为Ts的矩形脉冲;an是第n个符号的电平取值。
(1.2.1-3)
2ASK信号产生通常有两种:
模拟调制法(相乘器法)和键控法,相应的调制器如图1.2.1-1所示。
图1.2.1-1模拟相乘法(上)数字键控法(下)[1]
Fig1.2.1-1Analogmultiplication(on)digitalkeying(below)
2ASK信号与模拟调制中的AM信号类似。
所以,对2ASK信号也能够采用非相干解调(包络检波法)和相干解调(同步检测法),其相应原理方框图如图1.2.1-2所示。
图1.2.1-2非相干解调方式(a)相干解调方式(b)[1]
Fig1.2.1-2non-coherentdemodulation(a)coherentdemodulationmethod(b)
1.2.22ASK实际应用价值
2ASK是20世纪初最早运用于无线电报中的数字调制方式之一。
但是ASK传输技术受噪声影响很大。
噪声电压和信号一起改变了振幅。
在这种情况下,“0”可能变为“1”,“1”可能变为“0”。
由于ASK是受噪声影响很大的调制技术,现已很少应用,不过,2ASK常常作为研究其他数字调制的基础,因此了解它很必要。
1.3设计平台简介
1.3.1MATLAB简介
MATLAB是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。
它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到广泛应用。
它不仅是一个在各类工程设计中便于使用的计算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。
MATLAB可以在几乎所有的PC机和大型计算机上运行,适用于Windows、UNIX等各种系统平台
1.3.2Simulink简介
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
22ASK系统仿真设计
2.12ASK相干解调设计框图
2.2应用Simulink进行2ASK相干解调仿真框图
2.3选用模块以及参数设定[3]
1.伯努利二进制发生器模块ernoulliBinaryGenerator的参数设置为:
Probabilityofazero概率设为0.5,initialseed设为61,Sampletime抽样时间为1S。
2.正弦波SineWave的参数设置为:
频率设为60rad/sec。
3.乘法器Product模块的参数设置为:
输入端数量设为2。
4.高斯白噪声GaussianNoiseGenerator模块的设置为:
Sampletime抽样时间为0.01s。
5.Sum模块的参数设置为:
sampletime设为-1。
6.带通滤波器AnalogFilterDesign模块的参数设置为:
filterorder为8,Lowerpassbandedgefrequency为52,Upperpassbandedgefrequency为68。
7.相乘器Product模块的参数设置为:
输入端数量设为2
8.低通滤波器AnalogFilterDesign模块的参数设置为:
filterorder为8,passbandedgefrequency为8。
9.示波器Scope的参数设定为:
接口有6个,时间范围是自动调整。
10.抽样判决器其中constant的constantvalue参数设定为:
0
2.4MATLAB编程[3]
clear;%清空Workspace
clc;%清空CommandWindow
closeall;%关闭所有窗口
%--------------------------------------
%信号以及仿真相关参数的设置
%--------------------------------------
dt=0.001;%时间采样间隔,即仿真步长
fc=10;%载波中心频率
B_number=10;%设码元数目为10个
T=5;%信号时长
N=T/dt;%采样点数,即仿真点数
B_Sample_Point=N/B_number;%一个码元所对应的采样点数
B_Sample_array=zeros(1,N);%建立一个码元采样的空数组
t=0:
dt:
(N-1)*dt;%所有采样点数的时间组成的数组,即模型中函数的自变量
random_buffer=rand(1,B_number);%生成10个随机数组
fori=1:
1:
B_number%将10个码元进行归一成二进制0、1
ifrandom_buffer(i)<0.5
random_buffer(i)=0;
else
random_buffer(i)=1;
end
end
fori=1:
1:
B_number%产生基带信号
forj=1:
1:
B_Sample_Point
B_Sample_array((i-1)*B_Sample_Point+j)=random_buffer(i);
end
end
CarrySignal=cos(2*pi*fc*t);%载波信号表达式
%--------------------------------------
%2ASK调制信号的产生
%--------------------------------------
Signal_2ASK=CarrySignal.*B_Sample_array;
%--------------------------------------
%进行绘制调制曲线
%--------------------------------------
figure('toolbar','none',...%设置是否显示工具栏:
否
'menu','none',...%设置是否显示菜单栏:
否
'name','2ASK调制过程',...%设置对话框名称
'NumberTitle','off',...%设置是否显示图形窗口编号:
否
'color','w',...%设置背景颜色
'Resize','on');%设置是否可以改变窗口大小
subplot(6,1,1);%图形分为6行1列,目前画第一个
plot(t,B_Sample_array,'r','linewidth',3);%画出二进制基带信号
holdon;gridon;%保持图像,使其能和下一个图像一起显示
xlabel('时间/s');ylabel('幅值/v');title('二进制基带信号');%简单的配置
axis([0,5,-0.2,1.2]);%定义坐标区间
subplot(6,1,2);%图形分为6行1列,目前画第二个
plot(t,CarrySignal,'r','linewidth',2);%画出载波信号
holdon;%保持图像,使其能和下一个图像一起显示
xlabel('时间/s');ylabel('幅值/v');title('载波信号');%简单的配置
axis([0,5,-1.2,1.2]);%定义坐标区间
subplot(6,1,3);%图形分为6行1列,目前画第三个
plot(t,Signal_2ASK,'r','linewidth',1.5);%画出调制信号
holdon;%保持图像
gridon;%显示格点
xlabel('时间/s');ylabel('幅值/v');title('调制信号');%简单的配置
axis([0,5,-1.2,1.2]);%定义坐标区间
%--------------------------------------
%信道传输(加入噪声)
%--------------------------------------
Gaussian_Noise=randn(1,N)/5;%加上高斯白噪声
Signal_2ASK=Signal_2ASK+Gaussian_Noise;
subplot(6,1,4);%图形分为6行1列,目前画第四个
plot(t,Gaussian_Noise,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('高斯噪声');%简单的配置
holdon;
subplot(6,1,5);%图形分为6行1列,目前画第五个
plot(t,Signal_2ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('加噪调制信号');%简单的配置
holdon;
%--------------------------------------
%带通滤波器
%--------------------------------------
Fp=5;Rp=3;%53
Fs=15;Rs=60;%1560
Wp=2*pi*Fp/800;%800
Ws=2*pi*Fs/800;
[n,Wp]=ellipord(Wp,Ws,Rp,Rs);
[b,a]=ellip(n,Rp,Rs,Wp);
BPF_ASK=filter(b,a,Signal_2ASK);%带通滤波器输出
subplot(6,1,6);%图形分为6行1列,目前画第六个
plot(t,BPF_ASK,'r','linewidth',1.5);
xlabel('时间/s');ylabel('幅值/v');title('带通滤波后的信号');%简单的配置
holdon;
%--------------------------------------
%相干解调
%--------------------------------------
Coherent_ASK=BPF_ASK.*CarrySignal;
%--------------------------------------
%低通滤波器
%--------------------------------------
Fp=25;Rp=3;%53
Fs=45;Rs=50;%1560
Wp=2*pi*Fp/10000;%800
Ws=2*pi*Fs/10000;
[n,Wp]=ellipord(Wp,Ws,Rp,Rs);
[b,a]=ellip(n,Rp,Rs,Wp);
Coherent_ASK=0-Coherent_ASK;
LPF_ASK=filter(b,a,Coherent_ASK);%低通滤波器输出
%--------------------------------------
%抽样判决
%--------------------------------------
Judge_value=max(LPF_ASK)/2;
Coherent_ASK_Out=zeros(1,N);
fori=1:
1:
B_number%抽样判决
ifLPF_ASK(i*B_Sample_Point-B_Sample_Point/2)>Judge_value
Coherent_ASK_Out((i-1)*B_Sample_Point+1:
i*B_Sample_Point)=1;%判为1
else
Coherent_ASK_Out((i-1)*B_Sample_Point+1:
i*B_Sample_Point)=0;%判为1
end
end
%-------------------------------
%绘制相干解调的波形
%-------------------------------
figure
(2);%打开第二个显示窗
figure('toolbar','none',...%设置是否显示工具栏:
否
'menu','none',...%设置是否显示菜单栏:
否
'name','2ASK相干解调过程',...%设置对话框名称
'NumberTitle','off',...%设置是否显示图形窗口编号:
否
'color','w',...%设置背景颜色
'Resize','on');%设置是否可以改变窗口大小
subplot(4,1,1);%图形分为6行1列,目前画第六个
plot(t,BPF_ASK,'r','linewidth',1.5);
xlabel('时间/s');ylabel('幅值/v');title('带通滤波后的信号');%简单的配置
holdon;
subplot(4,1,2);
plot(t,Coherent_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('与载波相乘');%简单的配置
holdon;
subplot(4,1,3);
plot(t,LPF_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('低通滤波器滤波');%简单的配置
holdon;
subplot(4,1,4);
plot(t,Coherent_ASK_Out,'r','linewidth',3);%画出相干解调实验
xlabel('时间/s');ylabel('幅值/v');title('相干解调结果');%简单的配置
holdon;
%--------------------------------------
%非相干解调
%--------------------------------------
Non_Coherent_ASK=abs(BPF_ASK);
%--------------------------------------
%低通滤波器
%--------------------------------------
Fp=25;Rp=3;%53
Fs=45;Rs=50;%1560
Wp=2*pi*Fp/10000;%800
Ws=2*pi*Fs/10000;
[n,Wp]=ellipord(Wp,Ws,Rp,Rs);
[b,a]=ellip(n,Rp,Rs,Wp);
LPF_ASK=filter(b,a,Non_Coherent_ASK);%低通滤波器输出
%--------------------------------------
%抽样判决
%--------------------------------------
Judge_value=max(LPF_ASK)/2;
Non_Coherent_ASK_Out=zeros(1,N);
fori=1:
1:
B_number%抽样判决
ifLPF_ASK(i*B_Sample_Point-B_Sample_Point/2)>Judge_value
Non_Coherent_ASK_Out((i-1)*B_Sample_Point+1:
i*B_Sample_Point)=1;%判为1
else
Non_Coherent_ASK_Out((i-1)*B_Sample_Point+1:
i*B_Sample_Point)=0;%判为1
end
end
%-------------------------------
%绘制非相干解调的波形
%-------------------------------
figure(4);%打开第二个显示窗
figure('toolbar','none',...%设置是否显示工具栏:
否
'menu','none',...%设置是否显示菜单栏:
否
'name','2ASK非相干解调过程',...%设置对话框名称
'NumberTitle','off',...%设置是否显示图形窗口编号:
否
'color','w',...%设置背景颜色
'Resize','on');%设置是否可以改变窗口大小
subplot(4,1,1);%图形分为6行1列,目前画第六个
plot(t,BPF_ASK,'r','linewidth',1.5);
xlabel('时间/s');ylabel('幅值/v');title('带通滤波后的信号');%简单的配置
holdon;
subplot(4,1,2);
plot(t,Non_Coherent_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('全波整流');%简单的配置
holdon;
subplot(4,1,3);
plot(t,LPF_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('低通滤波器滤波');%简单的配置
holdon;
subplot(4,1,4);
plot(t,Non_Coherent_ASK_Out,'r','linewidth',3);%画出相干解调实验
xlabel('时间/s');ylabel('幅值/v');title('非相干解调结果');%简单的配置
holdon;
%-------------------------------
%绘制分析的波形
%-------------------------------
figure(6);%打开第二个显示窗
figure('toolbar','none',...%设置是否显示工具栏:
否
'menu','none',...%设置是否显示菜单栏:
否
'name','2ASK分析波形',...%设置对话框名称
'NumberTitle','off',...%设置是否显示图形窗口编号:
否
'color','w',...%设置背景颜色
'Resize','on');%设置是否可以改变窗口大小
subplot(3,1,1);%图形分为6行1列,目前画第一个
plot(t,B_Sa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASK 系统 仿真
![提示](https://static.bdocx.com/images/bang_tan.gif)