没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
基于 MATLAB 的 2FSK 数字通信系统设计
三、原理
在信道中,大多数具有带通传输特性,必须用数字基带信号对载波进行调制,产
生各种已调数字信号。可以用数字基带信号改变正弦型载波的幅度、频率或相位中的
某个参数,产生相应的数字振幅调制、数字频率调制和数字相位调制。也可以用数字
基带信号同时改变正弦型载波幅度、频率或相位中的某几个参数,产生新型的数字调
制。
2FSK 数字通信系统,即频移键控的数字调制通信系统。频移键控是利用载波的
频率变化来传递数字信息。在 2FSK 中,正弦载波的频率随二进制基带信号在 f1 和 f2
两个频率点间变化,产生二进制移频键控信号(2FSK 信号)。因此,一个 2FSK 信号
的波形可以看成是两个不同载频的 2ASK 信号的叠加。可以利用频率的变化传递数字
基带信号,通过调制解调还原数字基带信号,实现实验设计目标。
二进制移频键控信号可以看成是两个不同载波的二进制振幅键控信号的叠加,然
后在 MATLAB 中产生高斯白噪声。高斯白噪声,是指噪声的概率密度函数满足正态分
布统计特性,同时它的功率谱密度函数是常数的一类噪声。这里值得注意的是,高斯
型白噪声同时涉及到噪声的两个不同方面,即概率密度函数的正态分布性和功率谱密
度函数均匀性,二者缺一不可。其解调原理是将二进制移频键控信号分解为上下两路
二进制振幅键控信号,分别进行相干解调,通过对上下两路的抽样值进行比较最终判
决出输出信号,并与原信号进行对比统计。
基本的系统原理图如下:
四、方法
本次实验通过 Matlab 环境下完全编写 m 文件实现。在 Matlab 环境下利用相关程
序对二进制信号进行抽样产生二进制随机序列,并在此时确定抽样间隔、抽样个数,
进行显示。然后对二进制信号进行 2FSK 调制,利用 Matlab 函数库中 rand 函数在信
道中产生高斯白噪声,并对此时的信号进行显示,接着进行相干解调,输出显示解调
后序列,统计误码率,对比信号调制前后的变化。
1、信源模块
本实验在 MATLAB 环境下利用 round 函数产生随机序列,再产生连续的二进制
基带信号:
fs=2000; %抽样频率
dt=1/fs; %抽样周期
M=2; %进制数
f1=20;
二进制数字基带信号
2FSK 调制
加入高斯白噪声
2FSK 相干解调
抽样判决输出信号
求误码率
1
f2=120; %两个信号的频率
k=10; %随机信号个数
m=length(1:fs); %抽样个数
a=round(rand(1,k)); %随机序列
g1=a;
g2=~a; %信号反转,和 g1 反向
g11=(ones(1,m))'*g1;
g1a=g11(:)'; %随机二进制数字基带信号
g21=(ones(1,m))'*g2;
g2a=g21(:)';
t=0:dt:10-dt;
figure(1)
subplot(211);
plot(t,g1a);
title('原随机二进制数字基带信号')
axis([0 k -1.5 1.5]);
2、 调制模块
(1)2FSK 调制阶段
使用键控法产生 2FSK 信号,即由电子开关在两个独立的频率源之间转换形成,
这样的相邻码元之间相位不一定连续。
产生 2FSK 调制信号原理图:
Õ ñ µ ´ Æ ÷ 1
f
1
Ñ ¡ Í ¨ ¿ ª ¹ Ø
· ´ Ï à Æ ÷
» ù ´ ø Ð Å
º Å
Ñ ¡ Í ¨ ¿ ª ¹ Ø
Õ ñ µ ´ Æ ÷ 2
f
2
Ï à ¼ Ó Æ ÷
e
2 F S K
(
t
)
2
在二进制数字调制中,若正弦载波的频率随二进制基带信号在 f1 和 f2 两个频率
点间变化,则产生二进制移频键控信号(2FSK 信号)。二进制移频键控信号的时间波
形如下图所示:
图中波形 g 可分解为波形 e 和波形 f,即二进制移频键控信号可以看成是两个不
同载波的二进制振幅键控信号的叠加。 若二进制基带信号的 0 符号对应于载波频率
f1 , 1 符 号 对 应 于 载 波 频 率 f2 , 则 二 进 制 移 频 键 控 信 号 的 时 域 表 达 式 为 :
�� � �
� �
� � � �
� �
� �
nSnnSnFSK
twnTtgbtwnTtgate
�
�������
��
212
coscos
fsk1=g1a.*cos(2*pi*f1.*t);
fsk2=g2a.*cos(2*pi*f2.*t);
fsk=fsk1+fsk2; %产生的 2FSK 信号
(2)在已调信号中加入高斯白噪声
在二进制数字调制系统抗噪声性能分析中,假设信道特性是恒参信道,在信号的
频带范围内其具有理想矩形的传输特性(可取传输系数为 K)。 噪声为等效加性高斯白
噪声, 其均值为零,方差为σ。
本实验利用 randn 函数产生高斯白噪声:
t1=length(t);
no=0.01*randn(1,t1); %噪声
sn=fsk+no;
subplot(212);
plot(t,sn);
title('调制后的波形(含高斯白噪声)')
ylabel('幅度')
xlabel('时间')
3、 解调模块
(1)解调输出
a
a
k
1 0 1 1 0 0 1
t
s
(
t
)
t
s
(
t
)
b
t
t
c
d
e t
tf
g t
2 F S K Ð Å º Å
剩余12页未读,继续阅读
资源评论
- xingbao12312023-06-20这个资源总结的也太全面了吧,内容详实,对我帮助很大。
- m0_588880872024-04-13总算找到了自己想要的资源,对自己的启发很大,感谢分享~
- 2301_768320722023-07-01这个资源内容超赞,对我来说很有价值,很实用,感谢大佬分享~
阿里matlab建模师
- 粉丝: 3335
- 资源: 2784
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功