MATTLAB----实现数字信号的频带传输

实验内容

1.幅度键控的建模及 MATLAB 实现

根据以上图 7 模型,设 A=2,fC=100Hz,对二元数字序列 10110010 进行建模,绘出 2ASK 的波形。
用 MATLAB 实现 2ASK 的参考程序如下:

1.t=0:0.01:8;   
2.y=sin(2*pi*t); %载波   
3.x=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,100),0]; %定义一个与二元序列对应的时间序列   
4.z=x.*y;   
5.plot(t,z)   

2.频移键控的建模及 MATLAB 实现

根据以上图 8 模型,设 A=1,f1=50Hz,f2=200Hz,对二元数字序列 10110010 进行建模,绘出 2FSK 的波形。
用 MATLAB 实现 2FSK 的参考程序如下:

1.t=0:0.01:8;   
2.x1=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),  
3.zeros(1,101)];   
4.y1=sin(t.*(2*pi+2*x1));   
5.x2=[zeros(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),  
6.ones(1,101)];   
7.x2=x2*2;  
8.y2=sin(t.*(2*pi+2*x2));   
9.y=y1+y2;   
10.plot(t,y)  

3.相移键控的建模

根据以上图 9 模型,设载波 A=1,fc=200Hz,对二元数字序列 10110010 进行建模,使S2pSK(t)= ±COSωCt ,绘出 2PSK 的波形。

实验原理

为了使数字信号在带通信道中传播,必须用数字信号对载波进行调制。在前面我们已经了解了模拟信号的各种调制方式,并完成了把低频信号“搬移”到高频处或指定频段的任务,同样的概念依然适用于对数字信号的处理。数字信号有三种基本调制方式:幅度键控(ASK)、 频移键控(FSK)和相移键控(PSK)。

1.幅度键控的原理

幅度键控是用数字基带信号控制连续载波的幅度作离散变化。最简单的形式是在载波在二进制调制信号 1 和 0 的控制下通或断,此种调制方式称为通——断键控(OOK)。OOK 信号的时域表达式为:
SOOK(t)=anACOSωCt
其中:A 为载波幅度,ωC为载波频率,an为二进制数字信信息。
二进制幅度键控的调制器可以用一个相乘器来实现,模型如下所示:
在这里插入图片描述

2.频移键控的原理

频移键控是用基带数字信号控制连续载波的频率变化。在二进制情况下,1 对应载波频率为 f1,0 对载波频率 f2。2FSK 信号在形式上如同两个不同频率交替发送的 ASK 信号相叠加,因此已调信号的时域表达式为:
S2FSK(t)=[Σang(t-nTS)]COSω1 t +[Σ n a g(t-nTS)]COSω2t
其中:ω1=2πf1,ω2=2πf2, n a 是 an的反码。
二进制频移键控的调制器可以用如下所示的模型来实现:
在这里插入图片描述

3.相移键控的原理

相移键控是用数字基带信号控制连续载波的相位作振荡变化。通常,相位相差π弧度,例如用相位 0 和π分别表示 1 和 0,所以这种调制又称为二相相移键控。其二进制相移键控信号的时域表达式:
S2pSK(t)=[Σang(t-nTS)]COSωCt
其中:an为双极性数字信号。
如果 g(t)是幅度为 1,宽度为 TS的矩形脉冲,则 2PSK 信号可表示为:
S2pSK(t)= ±COSωCt
当数字信号的传输速率 RS=1/TS与载波频率间有整数关系时,2PSK 信号是非常典型的波形。
二进制相移键控的调制可以用乘法器,也可以用相位选择器来实现,乘法器模型如下所示:
在这里插入图片描述

实验代码

1.幅度键控

t表示在0到8之间没0.01取一个点,加上0这个点,即共有801个点。
y函数为信号(载波)的表达式;
x为基带信号,其中的最后一个零食为了使x和y的维度相同,如ones(1,100)表示100个1,zeros(1,100)表示100个0;前面所有加起来是800个数,再加上0就是801个;
根据模型使x,y点乘。

1.t=0:0.01:8;  
2.y=sin(2*pi*t);  
3.x=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,100),0];  
4.z=x.*y;  
5.plot(t,z);  

对比老师代码:
对信号的载波表达式进行了小修饰,设置了载波幅度值为2,以及载波频率为10.

1.t=0:0.01:8;  
2.fc=10;  
3.y=2*sin(2*pi*fc*t);  
4.x=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)];  
5.z=x.*y;  
6.plot(t,z);  

2.频移键控

x2是x1的反码,上述代码是依据时域表达式(S2FSK(t)=[Σang(t-nTS)]COSω1 t +[Σ n a g(t-nTS)]COSω2t)得的y1+y2;

1.t=0:0.01:8;  
2.x1=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)];  
3.y1=sin(t.*(2*pi+2*x1));  
4.x2=[zeros(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),ones(1,101)];  
5.x2=x2*2;  
6.y2=sin(t.*(2*pi+2*x2));  
7.y=y1+y1;  
8.plot(t,y);  

对比老师代码:
y1频率为1,y2频率为y1的4倍;
先进行信号表达式(载波)运算,再与基带信号点乘。

1.t=0:0.01:8;  
2.fc1=1;  
3.fc2=4*fc1;  
4.x1=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)];  
5.y1=sin(2*pi*fc1*t);  
6.z1=x1.*y1;  
7.x2=[zeros(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),ones(1,101)];  
8.y2=sin(2*pi*fc2*t);  
9.z2=x2.*y2;  
10.z=z1+z2;  
11.plot(t,z);  

3.相移键控

二进制基带信号经过电平转换变成双极性,即二进制二进制基带信号的0变成-1;

1.t=0:0.01:8;  
2.x=[ones(1,100),-ones(1,100),ones(1,100),ones(1,100),-ones(1,100),-ones(1,100),ones(1,100),-ones(1,101)];  
3.y=cos(2*pi*t);  
4.z=x.*y;  
5.plot(t,z);  

对比老师代码:
对信号的频率进行更改,改为2。

1.t=0:0.01:8;  
2.fc=2;  
3.x=[ones(1,100),-ones(1,100),ones(1,100),ones(1,100),-ones(1,100),-ones(1,100),ones(1,100),-ones(1,101)];  
4.y=cos(2*pi*fc*t);  
5.z=x.*y;  
6.plot(t,z);  

实验结果

1.幅度键控

在这里插入图片描述
在这里插入图片描述

2.频移键控

在这里插入图片描述
在这里插入图片描述

3.相移键控

在这里插入图片描述
在这里插入图片描述

代码原件

所有的matlab原件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值