数字频带通信系统的设计(2ASK)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
数字调制是现代通信的重要方法,数字调制具有更好的抗干扰性能,更强的抗信道损耗,以及更好的安全性,数字调制技术是信息时代的重要成果。

二进制数字振幅键控(2ASK)是一种古老的调制方式,也是各种数字调制的基础。

本设计主要是利用MATLAB下的Simulink仿真平台,设计一个2ASK仿真系统,最后用示波器观察调制前后的信号波形,从而验证2ASK的可行性。

关键词:2ASK;Matlab;Simulink;数字调制;
Abstract
Digital modulation is an important method of modern communication, digital modulation has better anti-jamming performance, stronger anti channel loss, and better security, digital modulation technology is an important achievement in the information age. Binary digital amplitude keying (2ASK) is an ancient modulation method, and it is also the basis of a variety of digital modulation. This design is based on the use of Simulink MATLAB simulation platform, the design of a 2ASK simulation system, and finally use the oscilloscope to observe the signal waveform before and after the modulation, which verify the feasibility of 2ASK.
Key Word: 2ASK;Matlab; Simulink;Digital modulation;
目录
1.背景知识 (3)
1.1 数字频带传输系统 (3)
1.2 二进制振幅键控(2ASK) (3)
1.2.1 基本原理 (3)
2.2ASK系统Simulink仿真设计 (5)
2.1 2ASK相干解调设计框图 (5)
2.2 应用Simulink进行2ASK相干解调仿真框图 (5)
2.3 选用模块以及参数设定 (5)
2.4 仿真结果及分析 (12)
3.2ASK系统Matlab代码仿真设计 (13)
3.1MATLAB编程实现仿真的构思 (13)
3.2 仿真波形及分析 (13)
4.心得体会 (16)
参考文献 (16)
附录:2ASK的Matlab仿真程序 (17)
1.背景知识
1.1 数字频带传输系统
在数字基带传输系统中,为了使数字基带信号能够在信道中传输,要求信道应具有低通形式的传输特性。

然而,在实际信道中,大多数信道具有带通传输特性,数字基带信号不能直接在这种带通传输特性的信道中传输。

必须用数字基带信号对载波进行调制,产生各种已调数字信号。

图 1.1:数字调制系统的基本结构
数字调制与模拟调制原理是相同的,但是数字信号有离散取值的特点。

基本的三种数字调制方式是:振幅键控(ASK)、移频键控(FSK)和相移键控(PSK)。

本研究与仿真采用的是振幅键控。

1.2 二进制振幅键控(2ASK)
1.2.1 基本原理
振幅键控是利用载波的幅度变化来传递信息,而其频率和初相位保持不变。

在2ASK 中,载波幅度只有两种变化,分别对应二进制信息“0”或“1”。

2ASK 信号其表达式是:
t w t s t e c ASK cos )()(2= (1.2.1-1)
其中输入信号表示为:
)()(b n
n nT t g a t s -=∑ (1.2.1-2)
2ASK 信号产生通常有两种:模拟调制法(相乘器法)和键控法,相应的调制器如图1.2所示。

图 1.2:模拟相乘法(上)数字键控法(下)
2ASK信号与模拟调制中的AM信号类似。

所以,对2ASK信号也能够采用非相干解调(包络检波法)和相干解调(同步检测法),其相应原理方框图如图1.3所示。

图 1.3:非相干解调方式(a)相干解调方式(b)
2.2ASK系统Simulink仿真设计2.1 2ASK相干解调设计框图
图 2.1:相干解调设计框图
2.2 应用Simulink进行2ASK相干解调仿真框图
图 2.2:Simulink仿真设计原理图
2.3 选用模块以及参数设定
1.伯努利二进制发生器模块 ernoulli Binary Generator的参数设置为:Probability of a zero 概率设为0.5,initial seed设为61, Sample time抽样时间为1S。

带通滤波

相乘器
低通滤波器抽样判决

t
c
cos定时脉冲
输出
图 2.3:伯努利2进制发生器参数设置2.正弦波 Sine Wave的参数设置为:频率设为60rad/sec。

图 2.4:正弦波发生器参数设置
3.乘法器 Product模块的参数设置为:输入端数量设为2。

图 2.5:2ASK产生部分乘法器参数设置
4.高斯白噪声Gaussian Noise Generator模块的设置为:Sample time抽样时间为0.01s。

图 2.6:高斯白噪声发生器参数设置
5.Sum模块的参数设置为:sample time 设为-1。

图 2.7:噪声与信号求和模块参数设置
6.带通滤波器 Analog Filter Design模块的参数设置为:阶数filter order为 8,Lower passband edge frequency 为52,Upper passband edge frequency 为68。

图 2.8:带通滤波器器参数设置
7.相乘器 Product模块的参数设置为:输入端数量设为2
图 2.9:解调部分乘法器参数设置
8.低通滤波器 Analog Filter Design模块的参数设置为:阶数filter order为 8,passband edge frequency 为8。

图 2.10:低通滤波器参数设置
9.示波器Scope的参数设定为:接口有6个,时间范围是自动调整。

图 2.11:示波器参数设置
10.抽样判决器,阈值设置为0.2,抽样时间取信号周期1s的的一半0.5s。

图 2.12、图2.13:抽样判决器参数设置
2.4 仿真结果及分析
图 2.14:示波器显示结果
上图通道1是原始输入信号;通道2是调制信号;通道3是加入噪声后的调制信号;通道4是滤除噪声后的调制信号;通道5是经过与载波信号再次相乘后,经过低通滤波后的解调信号;通道6是抽样判决后的输出信号。

从通道1到通道2的对比可知,输入信号与载波信号相乘后,成功得到2ASK信号。

通过通道3与通道4的对比可知,带通滤波器能极大消除噪声对信号的影响,但带通滤波器会对信号造成一定的延迟影响。

从通道5与通道4的对比可知,同步检波后得到的解调信号,能大概看出信号的高低电平变化。

同步检波的低通滤波过程对信号引入新的延时。

通道6的信号波形是对通道5的解调信号进行抽样判决而得到的,信号采样的频率是2Hz,是信号频率的2倍。

抽样的起始时刻是第0.5秒。

由于信号的解调过程会让信号产生延时(对比通道5与通道2),因此输出信号的第一个上升沿出现在第1.5秒。

经过2ASK系统与相干解调系统后,对比输出信号与输入信号,除了相位发生一定的变化外,信号波形基本没发生变化,可见该2ASK调制与解调系统能成功实现信号传输。

3.2ASK系统Matlab代码仿真设计
3.1MATLAB编程实现仿真的构思
利用Matlab,仿真产生2ASK信号,然后分别利用相干解调、非想干解调还原得到原信号。

Matlab仿真包括2ASK信号的产生、模拟信道传输、调制信号的降噪处理、相干解调/非相干解调、抽样判决这几个过程。

3.2 仿真波形及分析
图 3.1:2ASK调制过程
图 3.2:2ASK非相干解调过程
图 3.3:2ASK相干解调过程
图 3.4:2ASK分析波形
图3.1反映了2ASK调制信号的产生过程,以及模拟信道传输时加入噪声的情况,最后是模拟滤除噪声得到2ASK调制信号的过程。

从图上的波形可以得知,该2ASK系统的调制与模拟传输过程是成功的。

图3.2描述了非相干解调得到输出信号的过程,对比通道4与图3.1的通道1信号波形,可知输出信号与输入信号完全一致,该检波过程是成功的。

图3.3描述了相干解调得到输出信号的过程,对比通道4与图3.1通道1的信号波形,可知输出信号与输入信号完全一致,该检波过程是成功的。

图3.4反映了输入信号与非相干解调得到的输出信号、相干解调得到的输出信号的变化情况。

从图上结果可知,无论是相干解调还是非相干解调都能准确还原出输入信号的状况,由于两个解调过程所用的滤波器对信号的延迟作用不是非常大,因此在抽样判决过程还原出的输出信号对比输入信号没有任何明显的相位延迟。

同时也说明了该2ASK系统的可行性。

4.心得体会
通过本次课程设计,我主要了解了二进制键控的基本原理,尤其是通过MATLAB对2ASK 系统的仿真过程,让我了解到更多的数字频带通信系统设计的原理。

在这次设计中,我围绕2ASK系统的几个关键部分(调制部分、模拟信道传输部分、信号降噪处理部分、相干/非相干解调部分、抽样判决部分)展开深入的研究与测试。

在众多的测试过后,我最终组建好该2ASK系统,在该系统中,乘法器用于产生2ASK信号;给2ASK调制信号加入噪声用于模拟信道传输过程;接收滤波器是用来接收信号,尽可能滤除信道噪声和其它干扰,对信道特性进行均衡,使输出的基带波形有利于抽样判决。

抽样判决器则是在传输特性不理想及噪声背景下,在规定时刻对接收滤波器的输出波形进行抽样判决,以恢复或再生基带信号。

在这次课程设计中我遇到许多困难,例如抽样判决电平的取值问题、采样频率的问题、滤波器对信号延迟所造成的影响问题等,在经过深入的资料查找与探究后,我最终把问题解决。

在这个过程中我收获了很多平时上课并没有学到的知识,获益匪浅,并对今后的学习与工作产生很大的帮助。

参考文献
【1】樊昌信,曹丽娜.通信原理(第7版)[M].国防工业出版社
【2】刘卫国, MATLAB程序设计与应用[M]. 北京: 高等教育出版社, 2011.
【3】陈后金,数字信号处理(第2版)[M].高等教育出版社
【4】张晖, 徐淑正,杨华中等. OFDM在短波通信中的应用[J]. 电子技术应用, 2005. 9.【5】程佩青,数字信号处理教程[M]. 清华大学出版社. 2001.8.
【6】徐明远、邵玉斌,MATLAB仿真在通信与电子工程中的应用[M]. 西安: 西安电子科技大学出版社, 2006.
附录:2ASK的Matlab仿真程序
clear; %清空Workspace
clc; %清空Command Window
close all; %关闭所有窗口
%--------------------------------------
% 信号以及仿真相关参数的设置
%--------------------------------------
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个随机数组
for i=1:1:B_number %将10个码元进行归一成二进制0、1
if random_buffer(i) < 0.5
random_buffer(i) = 0;
else
random_buffer(i) = 1;
end
end
for i = 1:1:B_number %产生基带信号
for j = 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); %画出二进制基带信号
hold on; grid on; %保持图像,使其能和下一个图像一起显示xlabel('时间/s');ylabel('幅值/v');title('二进制基带信号');%简单的配置
axis([0,5,-0.2,1.2]); %定义坐标区间
subplot(6,1,2); %图形分为6行1列,目前画第二个
plot(t,CarrySignal,'r','linewidth',2); %画出载波信号
hold on; %保持图像,使其能和下一个图像一起显示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); %画出调制信号
hold on; %保持图像
grid on; %显示格点
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('高斯噪声');%简单的配置
hold on;
subplot(6,1,5); %图形分为6行1列,目前画第五个
plot(t,Signal_2ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('加噪调制信号');%简单的配置
hold on;
%--------------------------------------
% 带通滤波器
%--------------------------------------
Fp = 5;Rp = 3; %5 3
Fs = 15;Rs = 60; %15 60
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('带通滤波后的信号');%简单的配置
hold on;
%--------------------------------------
% 相干解调
%--------------------------------------
Coherent_ASK = BPF_ASK.*CarrySignal;
%--------------------------------------
% 低通滤波器
%--------------------------------------
Fp = 25;Rp = 3; %5 3
Fs = 45;Rs = 50; %15 60
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);
for i = 1:1:B_number %抽样判决
if LPF_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('带通滤波后的信号');%简单的配置
hold on;
subplot(4,1,2);
plot(t,Coherent_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('与载波相乘');%简单的配置
hold on;
subplot(4,1,3);
plot(t,LPF_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('低通滤波器滤波');%简单的配置
hold on;
subplot(4,1,4);
plot(t,Coherent_ASK_Out,'r','linewidth',3); %画出相干解调实验
xlabel('时间/s');ylabel('幅值/v');title('相干解调结果');%简单的配置
hold on;
%--------------------------------------
% 非相干解调
%--------------------------------------
Non_Coherent_ASK = abs(BPF_ASK);
%--------------------------------------
% 低通滤波器
%--------------------------------------
Fp = 25;Rp = 3; %5 3
Fs = 45;Rs = 50; %15 60
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);
for i = 1:1:B_number %抽样判决
if LPF_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('带通滤波后的信号');%简单的配置hold on;
subplot(4,1,2);
plot(t,Non_Coherent_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('全波整流');%简单的配置
hold on;
subplot(4,1,3);
plot(t,LPF_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('低通滤波器滤波');%简单的配置
hold on;
subplot(4,1,4);
plot(t,Non_Coherent_ASK_Out,'r','linewidth',3); %画出相干解调实验xlabel('时间/s');ylabel('幅值/v');title('非相干解调结果');%简单的配置
hold on;
%-------------------------------
%绘制分析的波形
%-------------------------------
figure(6); %打开第二个显示窗
figure('toolbar','none',... %设置是否显示工具栏:否'menu','none',... %设置是否显示菜单栏:否
'name','2ASK分析波形',... %设置对话框名称
'NumberTitle','off',... %设置是否显示图形窗口编号:否
'color','w',... %设置背景颜色
'Resize','on'); %设置是否可以改变窗口大小subplot(3,1,1); %图形分为6行1列,目前画第一个
plot(t,B_Sample_array,'r','linewidth',3); %画出二进制基带信号
hold on; grid on; %保持图像,使其能和下一个图像一起显示xlabel('时间/s');ylabel('幅值/v');title('二进制基带信号');%简单的配置subplot(3,1,2);
plot(t,Non_Coherent_ASK_Out,'r','linewidth',3); %画出相干解调实验xlabel('时间/s');ylabel('幅值/v');title('非相干解调结果');%简单的配置
hold on;
subplot(3,1,3);
plot(t,Coherent_ASK_Out,'r','linewidth',3); %画出相干解调实验
xlabel('时间/s');ylabel('幅值/v');title('相干解调结果');%简单的配置
hold on;。

相关文档
最新文档