基于MATLAB仿真的数字信号调制的性能比较和分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2ASK、2FSK、2PSK数字调制系统的
Matlab实现及性能分析比较
指导教师:
班级:
学号:
姓名:
引言:数字信号有两种传输方式,分别是基带传输方式和调制传输方式,即带通,在实际应用中,因基带信号含有大量低频分量不利于传送,所以必须经过载波和调制形成带通信号,通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化,这这一过程即为数字调制。数字调制为信号长距离高效传输提供保障,现已广泛应用于生活和生产中。另外根据控制载波参量方式的不同,数字调制主要有调幅(ASK ),调频(FSK),调相(PSK) 三种基本形式。本次课题针对于二进制的2ASK 、2FSK 、2PSK 进行讨论,应用Matlab 矩阵实验室进行仿真,分析和修改,通过仿真系统生成一个人机交互界面,以利于仿真系统的操作。通过对系统的仿真,更加直观的了解数字调制系统的性能及影响其性能的各种因素,以便于比较,评论和改进。
关键词: 数字,载波,调制,2ASK ,2FSK ,2PSK ,Matlab ,仿真,性能,比较,分析
正文:
一 .数字调制与解调原理
1.1 2ASK
(1)2ASK
2ASK 就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。
表达式为:
⎩⎨⎧===0
01,cos )(2k k c ASK a a t A t s 当,
当ω
1.2 2FSK
2FSK可以看做是2个不同频率的2ASK的叠加,其调制与解调方法与2ASK差不多,主要频率F1和F2,不同的组合产生所要求的2FSK调制信号。
公式如下:
⎩
⎨
⎧
=
=
=
cos
1
,
cos
)(
2
1
2
k
k FSK a
t
A
a
t
A
t
s
当
,
当
ω
ω
1.3 2PSK
2PSK以载波的相位变化为基准,载波的相位随数字基带序列信号的1或者0而改变,通常用已经调制完的载波的0或者π表示数据1或者0,每种相位与之一一对应。
二.数字调制技术的仿真实现
本课程设计需要借助MATLAB的M文件编程功能,对2ASK.2PSK.2FSK进行调制与解调的设计,并绘制出调制与解调后的波形,误码率的情况分析,软件仿真可在已有平台上实现。
1.2ASK代码主函数
close all
clear all
n=16;
fc=1000000; bitRate=1000000;
N=50;
%noise=ti;
noise=10;
signal=source(n,N); %生成二进制代码
transmittedSignal=askModu(signal,bitRate,fc,N);%调制后信号
signal1=gussian(transmittedSignal,noise);%加噪声
configueSignal=demoASK(signal1,bitRate,fc,n,N);
source代码
function sendSignal=source(n,N)
sendSignal=randint(1,n)
bit=[];
for i=1:length(sendSignal)
if sendSignal(i)==0
bit1=zeros(1,N);
else
bit1=ones(1,N);
end
bit=[bit,bit1];
end
figure(1)
plot(1:length(bit),bit),title('transmitting of binary'),grid on;
axis([0,N*length(sendSignal),-2,2]);
end
askModu代码
function transmittedSignal=askModu(signal,bitRate,fc,N)%signal为输入信
号,bitrate为bit速率,fc调制信号频率,N %signal=[0 0 1 0 1 1 0 1];
% bitRate=1000000;
% fc=1000000;
% N=32; t=linspace(0,1/bitRate,N);
c=sin(2*pi*t*fc);
transmittedSignal=[];
for i=1:length(signal)
transmittedSignal=[transmittedSignal,signal(i)*c];
end
figure(2) %画调制图
plot(1:length(transmittedSignal),transmittedSignal);title('Modulation of ASK');grid on;
figure(3)%画频谱实部
m=0:length(transmittedSignal)-1;
F=fft(transmittedSignal);
plot(m,abs(real(F))),title('ASK_frequency-domain analysis real');
grid on;
%figure(4)画频谱虚部
%plot(m,imag(F));title('ASK_frequency-domain analysis imag');
%grid on;
end
CheckRatePe代码
function PeWrong=CheckRatePe(signal1,signal2,s)
rights=0;
wrongs=0;
for ki=1:s-2
if(signal1(ki)==signal2(ki))
rights=rights+1;
else
wrongs=wrongs+1;
end
end
PeWrong=wrongs/(wrongs+rights);
end
demoASK代码
function bitstream=demoASK(receivedSignal,bitRate,fc,n,N)
load num
signal1=receivedSignal;
signal2=abs(signal1); %ÕûÁ÷
signal3=filter(num1,1,signal2); %LPF,°üÂç¼ì²¨
IN=fix(length(num1)/2); %ÑÓ³Ùʱ¼ä
bitstream=[];
LL=fc/bitRate*N;
i=IN+LL/2;
while (i<=length(signal3)) %Åоö
bitstream=[bitstream,signal3(i)>=0.5];
i=i+LL;
end