二进制数字调制与解调系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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('信源频谱')
% 乘以相干载波后的频谱