通信原理matlab课程设计(南昌大学)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学
通信原理课程设计报告
题目:2ASK、2FSK、2PSK、2DPSK调制解调matlab仿真姓名:
学院:信工学院
专业:
指导教师:
完成日期:2013 年5 月5日
一、设计要求
课程设计需要运用MATLAB 编程实现2ASK,2FSK,2PSK ,2DPSK 调制解调过程,并且输出其源码,调制后码元以及解调后码元的波形。
二、基本原理
二进制数字调制技术原理
数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。通常使用键控法来实现数字调制,比如对载波的振幅、频率和相位进行键控。
(1)
振幅键控是利用载波的幅度变化来传递数字信息,而其频率和相位保持不变,在2ASK 中,载波的幅度只有两种变化状态,分别对应二进制信息‘0’和‘1’。OOK (通-断键控)是一种常用的二进制振幅键控式
模拟调制器法 键控法
包络检波法
同步检测法
)
开关电路
2e
2e
(2) 一个2FSK 信号可以看成是两个不同载波的2ASK 信号的叠加。其解调和解调方法和ASK 差不多。2FSK 信号的频谱可以看成是f1和f2的两个2ASK 频谱的组合。
2FSK 信号的产生方法
采用模拟调频电路来实现:信号在相邻码元之间的相位是连续变化的。
采用键控法来实现:相邻码元之间的相位不一定连续。
2FSK 信号的解调方法
相干解调
非相干解调
2e FSK
2e FSK
(3) 2PSK 以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0, 当基带信号为1时相对于初始相位为180°。 调制器原理方框图如下:
检控法
2PSK 信号的解调器原理方框图
(4) 2DPSK 是利用前后相邻码元的载波相对相位变化传递数字信息,所以又称相对相移键控。2DPSK 调制原理方框图如下图。
相干解调法。
差分相干解调(相位比较)法
三、源代码
s=menu('通信原理','2ASK','2PSK','2FSK','2DPSK') switch s
case 1,scolor='2ASK'; n=8;N=100;K=4; a=randint(1,n);
)
开关电路
2e
2e 2e
bita=[];sl=[];
bitRate=1e3;fc=1e3;%载频1KHZ
t=linspace(0,1/bitRate,N);
for i=1:length(a)
if a(i)==0
bit1=zeros(1,N);
else
bit1=ones(1,N);
end
bita=[bita,bit1];
c=sin(2*pi*t*fc);
sl=[sl c];
end
figure(1);
subplot(K,1,1);plot(bita,'LineWidth',1.5),title('基带信号'),grid on;axis([0,N*length(a),-2.5,2.5]);
tz=bita*6.*sl;
subplot(K,1,2);plot(tz,'LineWidth',1.5);title('ASK调制后信号');grid on;
signal=awgn(tz,80,'measured');
subplot(K,1,3);plot(signal,'LineWidth',1.5),grid on;title('信号+噪声')
Fs=3e3;
[b,a]=ellip(4,0.1,40,[999.9,1000.1]*2/Fs);%设计IIR带通滤波器,阶数为4,通带纹波0.1,阻带衰减40DB
sf=filter(b,a,signal);%信号通过该滤波器
figure(2);
K1=4;
subplot(K1,1,1);plot(sf,'LineWidth',1.5),grid on;title('BPF')
signal2=abs(sf); %乘同频同相sin
subplot(K1,1,2);plot(signal2,'LineWidth',1.5),grid on;title('全波整流器');
Fs=3e3;%抽样频率400HZ
[b,a]=ellip(4,0.1,40,[50]*2/Fs);%设计IIR低通滤波器
sf1=filter(b,a,signal2);%信号通过该滤波器,输出信号sf
subplot(K1,1,3);plot(sf1,'LineWidth',1.5),grid on;title('LPF');
sf2=[];
LL=fc/bitRate*N;
i=LL/2;
bitb=[];
while (i<=length(sf1)) %判决
sf2=[sf2,sf1(i)>=0.001];
i=i+LL;
end
for i=1:length(sf2)
if sf2(i)==0
bit1=zeros(1,N);
else
bit1=ones(1,N);
end
bitb=[bitb,bit1];
end
figure(1);
subplot(K,1,4); plot(bitb,'LineWidth',1.5),grid on;title('解调后信号'); axis([0,N*length(sf2),-2.5,2.5]);
case 2,scolor='2PSK';
l=linspace(0,pi,50);% 数据初始化
t=linspace(0,9*pi,450);
b=1:1:9;
out=1:1:450;
f=1:1:450;
g=1:1:450;
w1=2 %正弦波f1的频率,可以根据自己想要的频率在此改写
%正弦波f2的频率,可以根据自己想要的频率在此改写
f1=sin(w1*l);
figure(1);
f2=sin(w1*l+pi);
figure(1);
subplot(2,1,1),plot(l,f1),axis([0 pi -1.2 1.2]),xlabel('t'),ylabel('f1');%画出f1信号波形
subplot(2,1,2),plot(l,f2),axis([0 pi -1.2 1.2]),xlabel('t'),ylabel('f2');%画出f2信号波形
a=[0 1 0 0 0 1 1 0 1]
for i=1:9 %2pSK编码
if a(i)==0
for k=1:50 %如果二进制原码为0则输出f1波形
out(k+50*(i-1))=f1(k);
end
else