二进制数字调制与解调系统的设计(DOC)

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

二进制数字调制与解调系统的设计

MATLAB 及SIMULINK 建模环境简介

MATLAB 是美国MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB 和SIMULINK 两大部分。

Simulink 是MATLAB 最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink 具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink 已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink 。

Simulink 是MATLAB 中的一种可视化仿真工具, 是一种基于MATLAB 的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink 可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink 提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

数字通信系统的基本模型

从消息传输角度看,该系统包括了两个重要交换,即消息与数字基带信号之间的交换,数字基带信号与信道信号之间的交换.通常前一种交换由发收端设备完成.而后一种交换则由调制和解调完成.

数字通信系统模型

一、2ASK 调制解调

基本原理

2ASK 是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。 其信号表达式为: ,S (t)为单极性数字基带信号。

t t S t e c

ωcos )()(0

⋅=

2ASK幅移键控

幅移键控(ASK)相当于模拟信号中的调幅,只不过与载频信号相乘的是二进数码而已。幅移就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。

由图可以看出2ASK信号的时间波形e2ASK(t)随二进制基带信号s(t)通断变化。所以又被称为通断键控信号

2ASK信号的产生方法通常有两种:模拟调制法和键控法。

模拟调制法使用乘法器实现

键控法使用开关电路实现

2ASK的调制方法

2ASK有两种基本解调方法:相干解调法(同步检测法)和非相干解调法(包络检波法)。相干解调需要将载频位置的已调信号频谱重新搬回原始基带位置,因此用相乘器与载波相乘来实现。为确保无失真还原信号,必须在接收端提供一个与调制载波严格同步的本地载波,这是整个解调过程能否顺利完好进行的关键。

相干解调

非相干解调

2ASK信号非相干解调过程的时间波形

振幅键控是利用载波的幅度变化来传递数字信息,而频率和初始相位保持不变。

在2ASK中:

S2ask=m(t)*cos(2*pi*f*t),

其中m(t)为数字信号,后者为载波。

载波在二进制基带信号控制下通断变化,所以又叫通-断键控(OOK)。

2ASK的产生方法有两种:模拟调制和键控法

而解调也有两中基本方式:非相干解调(包络检波)和相干解调(同步检测法)

DS2ask=s(t)*cos(2*pi*f*t)

=0.5*m(t)+0.5*m(t)*cos(2*wc*t)

乘以相干载波后,只要滤去高频部分就可以了

本次仿真使用相干解调方式:

2ask信号→带通滤波器与→与载波相乘→低通滤波器→抽样判决→输出

以下就是matlab的仿真结果极其频谱图(省去了带通filter)

可以看到解调后的信号与信源有一定的延时。

通过观察频谱图,用放大镜可以清楚的看到,2ask实现了频谱的搬移,将基带信号搬移到了fc=150hz的频率上,而且若只计频谱的主瓣则有:

B2ask=2fs,fs=1/Ts

其中Ts为一个码元宽度

即:2ask信号的传输带宽是码元传输速率的2倍

Matlab程序实现

clc;

clear all;

close all;

%信源

a=randint(1,15,2);

t=0:0.001:0.999;

m=a(ceil(15*t+0.01));

subplot(511)

plot(t,m);

axis([0 1.2 -0.2 1.2]);

title('信源');

%载波

f=150;

carry=cos(2*pi*f*t);

%2ASK调制

st=m.*carry;

subplot(512);

plot(t,st)

axis([0 1.2 -1.2 1.2])

title('2ASK信号')

%加高斯噪声

nst=awgn(st,70);

%解调部分

nst=nst.*carry;

subplot(513)

plot(t,nst)

axis([0 1.2 -0.2 1.2]);

title('乘以相干载波后的信号')

%低通滤波器设计

wp=2*pi*2*f*0.5;

ws=2*pi*2*f*0.9;

Rp=2;

As=45;

[N,wc]=buttord(wp,ws,Rp,As,'s'); [B,A]=butter(N,wc,'s');

%低通滤波

h=tf(B,A); %转换为传输函数dst=lsim(h,nst,t);

subplot(514)

plot(t,dst)

axis([0 1.2 -0.2 1.2]);

title('经过低通滤波器后的信号'); %判决器

k=0.25;

pdst=1*(dst>0.25);

subplot(515)

plot(t,pdst)

axis([0 1.2 -0.2 1.2]);

title('经过抽样判决后的信号')

%频谱观察

%调制信号频谱

T=t(end);

df=1/T;

N=length(st);

f=(-N/2:N/2-1)*df;

sf=fftshift(abs(fft(st)));

figure(2)

subplot(411)

plot(f,sf)

title('调制信号频谱')

%信源频谱

mf=fftshift(abs(fft(m)));

subplot(412)

plot(f,mf)

title('信源频谱')

% 乘以相干载波后的频谱

相关文档
最新文档