资源描述
基于MATLAB的通信系统仿真— PCM系统仿真(完整资料)
(可以直接使用,可编辑 优秀版资料,欢迎下载)
(设计报告自己独立完成,如有雷同,双方均为0分,请同学们自己保护好自己的设计报告,特此申明)。
通信原理课程设计
设
计
报
告
课题名称:
专业班级:
姓 名:
学 号:
起止时间:
信息科学与工程学院
目录
一、课题内容
二、设计目的
三、设计要求
四、实验条件
五、系统设计
1、通信系统的原理
2. 所设计子系统的原理
六、详细设计与编码
1。 设计方案
2. 编程工具的选择
3。 编码与测试
4. 运行结果及分析
七、设计心得
八、参考文献……………………………….………………。22
一、课题内容
本课题是基于MATLAB的通信系统仿真—PCM系统仿真
二、设计目的
1、培养我综合得用多门课程知识的能力。
2、培养我熟练掌握MATLAB,运用此工具进行通信系统仿真的能力.
3、培养我查阅资料,解决问题的能力。
4、加深我对通信系统各部分的理解。
5、培养学生系统设计与系统开发的思想;
三、设计要求
1。独立完成自己的题目内容;
2. 对通信系统有整体的较深入的理解,深入理解自己仿真部分的原理的基础,画出对应的通信子系统的原理框图;
3. 提出仿真方案;
4. 完成仿真软件的编制;
5. 仿真软件的演示;
6. 提交详细的设计报告。
四、实验条件
计算机、Matlab软件
五、系统设计
1、通信系统的原理(阐述整个通信系统原理,最后之处你主要负责哪一部分)
通信的目的是传递消息,通信系统是一个以传递消息为目地的系统,通信系统的一般模型如下:
图中,信源的作用是把待传输的消息转换成原始电信号,如电话系统中电话机可看成是信源。信源输出的信号称为基带信号。所谓基带信号是指没有经过调制(进行频谱搬移和变换)的原始电信号,其特点是信号频谱从零频附近开始,具有低通形式,。根据原始电信号的特征,基带信号可分为数字基带信号和模拟基带信号,相应地,信源也分为数字信源和模拟信源。 发送设备的基本功能是将信源和信道匹配起来,即将信源产生的原始电信号(基带信号)变换成适合在信道中传输的信号。变换方式是多种多样的,在需要频谱搬移的场合,调制是最常见的变换方式;对传输数字信号来说,发送设备又常常包含信源编码和信道编码等。 信道是指信号传输的通道,可以是有线的,也可以是无线的,甚至还可以包含某些设备.图中的噪声源,是信道中的所有噪声以及分散在通信系统中其它各处噪声的集合。 在接收端,接收设备的功能与发送设备相反,即进行解调、译码、解码等。它的任务是从带有干扰的接收信号中恢复出相应的原始电信号来. 信宿是将复原的原始电信号转换成相应的消息。
我做的是通信系统中的一种系统:数字通信系统的仿真。其基本框图如下:
数字调制
信源编码
信道编码
量化
抽样
模拟信号
抽
信道
噪声
数字滤波器
模拟信号
抽样判决
信道译码
信源译码
我负责独立完成以上各部分。
2. 所设计子系统的原理
现在更详细说明以上数字通信系统的原理。
(1)、模拟信号为原始的信原信号.
(2)、抽样是将上述的时间和幅值都连续的模拟信号转换成时间离散幅值连续的信号。
(3)、量化是将上述的时间离散幅值连续的抽样信号转换成时间离散幅值离散的信号。
(4)、信源编码是将上述量化后的值编码成0、1比特流的形式,并且可以减少冗余,提高效率。
(5)、信道纺码是为了提高传输可靠性。
(6)、数字调制是将上述0、1比特流转换成适合在通信信道中传输的波形。
(7)、信道是信号传输的通道,信号在信道中传输时经常会有噪声的干扰。
(8)、数字滤波器是将调制并加有噪声的信号,去除噪声,并且解调后形成方波形式的信号。
(9)、抽样判决是将方波形号转换成0、1比特流.
(10)、信道译码是信道编码的反过程.
(11)、信源译码是信道编曲码的反过程。
(12)、最后还原成模拟信号。
六、详细设计与编码
1。 设计方案 (可以画出编程的流程图,阐述设计思路等)
经过我的思考,再加上查阅了大量资料后,有了以下编程设计思路。
产生模拟信源并得到抽样信号
线性分组码编码
通过13拆线得到转换后的值
数字调制
通过编码子函数进行量化和编码
主函数
数字滤波器
BPSK子函数
抽样判决
通过A侓公式反转成原始模拟信号
信道译码
在主函数中,先产生一个模拟信号,再经过抽样后得到抽样值,将抽样值通过13拆线法转换成对应值,将转换后的值经过量化和编码后得到0、1比特流,再经过信道译码,再经过BPSK调制,再人为加入一些噪声,再通过数字滤波器将噪声和载波滤掉,取出直流分量,得到方波波形。再经过抽样判决后得到0、1比特流,再经过线性分组码译码,最后经过信源译码,再经过A侓公式反转成原始模拟信号,画出各阶段的波形.
2. 编程工具的选择(本次仿真使用的工具软件,阐述为什么使用该软件,该软件的特点)
我这次选用的软件是MATLAB,因为这款软件的功能特很强大,学习方便,仿真容易实现.
MATLAB具有以下几个特点:
功能强大的数值运算功能 ﻫ强大的图形处理能力
高级但简单的程序环境
丰富的工具箱
最重要的是MATLAB学习起来方便容易,以前有学C语言的基础,MATLAB与C语言有类似之处,编程流程大概差不多,但要注意的是MATLAB与C语言在程序代码上也有细微的差别,MATLAB是一种解释性语言,在写程序代码时容易方便,但是与C语言相比它的运算速度较慢,但功能强大。
3. 编码与测试 (写出源代码,分析核心代码完成的功能)
编程序代码过程:
子函数1:
function y1=zhexian(x)
x=x/max(x);
z=sign(x);
x=abs(x);
for i=1:length(x)
if((x(i)>0)&(x(i)<1/64))
y(i)=16*x(i);
elseif((x(i)〉=1/64)&(x(i)<1/32))
y(i)=x(i)*8+1/8;
elseif((x(i)>=1/32)&(x(i)<1/16))
y(i)=4*x(i)+2/8;
elseif((x(i)>=1/16)&(x(i)〈1/8))
y(i)=2*x(i)+3/8;
elseif((x(i)>=1/8)&(x(i)<1/4))
y(i)=x(i)+1/2;
elseif((x(i)〉=1/4)&(x(i)<1/2))
y(i)=1/2*x(i)+5/8;
elseif((x(i)>=1/2)&(x(i)<=1))
y(i)=1/4*x(i)+3/4;
end;
end;
end;
end;
end;
end;
end;
end;
y1=z.*y;
end
此子函数的功能是将抽样后得到的值用13拆线转换成对应的值。
子函数2:
function bit=bianma(y4,n)
m=2/n;
for i=1:n+1
q(i)=min(y4)+(i—1)*m;
end
%量化过程
t=length(q);
ttt=[]; %存放将抽样信号量化后的值
tt=[];
e=1;
tt(1)=-1;
for x=2:length(q)
tt(x)=(q(x-1)+q(x))/2; %存放第几个电平段的电平值
end
tt=[tt,max(y4)];
b_duan=[]; %存放电平段
for x=1:length(y4)
if y4(x)==q(t)
b_duan(x)=length(tt);
else
if y4(x)==min(q)
b_duan(x)=1;
else
for y=1:t—1
if (q(y)<=y4(x))&& (y4(x)〈q(y+1))
b_duan(x)=y+1;
end
end
end
end
end
nu=ceil(log2(n)); %编码
code=zeros(length(y4),nu);
for i=1:length(y4)
for j=nu:—1:0
if (fix(b_duan(i)/(2^j))==1)
code(i,(nu—j+1))=1;
b_duan(i)=b_duan(i)-2^j;
else
code(i,(nu—j+1))=0;
end
end
end
bit=[];
for i=1:length(y4)
bit=[bit,code(i,:)];
end
此函数的功能是将抽样后的值量化后进行自然二进制
编码。第个值采用8位二进制编码。
子函数3:
function bit2=xianxi(m)
H= [ 0 1 1 1 1 0 0;
1 0 1 1 0 1 0;
1 1 0 1 0 0 1];
G= [1 0 0 0 0 1 1;
0 1 0 0 1 0 1;
0 0 1 0 1 1 0;
0 0 0 1 1 1 1 ]; %生成矩阵
C=rem(m*G,2);
[c,z]=size(C);
bit2=[];
for i=1:c
bit2=[bit2,C(i,[1:7])];
end
此函数的功能是进行信道编码即:将每四位二进制后加三位监督位,比特流的总长度除以四余下的则不进行加监督位.
子函数4:
function bit3=xianxiyima(gg)
p=gg;
R=[];
S=[];
for i=1:length(p)/7
R(i,[1:7])=p((i-1)*7 +1:i*7);
end
H= [ 0 1 1 1 1 0 0;
1 0 1 1 0 1 0;
1 1 0 1 0 0 1];
[c,z]=size(R);
S=rem(R*H’,2);
for i=1:c %伴随式的行次
for j=1:7
b=all(S(i,:)==H(:,j)');
if b==1
R(i,j)=~ R(i,j);
break;
end
end
end
R(:,[5:7])=[];
[c,z]=size(R);
bit3=[];
for i=1:c
bit3=[bit3,R(i,[1:4])];
end
子函数5:
function bb=BPSK(bit)
fs = 30000;
Ts = 0。1;
m = fs * Ts; %一个码无所占宽度
High =ones( 1,m);
Low =zeros( 1,m );
U=rem(length(bit),4);
sheng=[bit(length(bit))—U+1:bit(length(bit))];
w =300; %角频率
for i=1:length(bit)/4
decode(i,[1:4])=bit((i-1)*4 + 1 : i*4);
end
bit2=xianxi(decode); %线性分组码编码
Sign = [bit2,sheng];
L=length (Sign ); %信号长度
st=zeros (1,m*L);
sign1=zeros (1,m*L);
t = 0:1/fs:Ts*L—1/fs;
for i=1:L
if Sign(i)==1
sign1((i—1)*m +1:i*m) = High;
else
sign1((i-1)*m +1:i*m) = Low;
end
end
for i=1:L
if Sign(i) == 1
st((i—1)*m +1:i*m) =cos(2* pi*w *t((i-1)*m + 1:i*m)+(pi/ 2));
else
st((i-1)*m +1:i*m) =cos(2* pi*w *t((i-1)*m + 1:i*m));
end
end
st1=st;
st1=st1+cos(3000*t);
figure
plot(t, sign1);
axis( [0,Ts*(L+1),—(1/2),3/2] );
title ( ’编码后的信号' );
grid
figure
subplot (2,1,1);
plot (t,st );
axis([0,Ts*(L+1), - 3/ 2,3/2] );
title ( ’数字调制后的信号' );
grid
subplot (2,1,2);
plot ( t, st1 );
axis( [0,Ts*(L+1)+1, -5/2,5/2]);
title ( '加噪后的信号' );
grid
dt = st1.*cos(2*pi*w*t );
figure
plot (t,dt);
axis( [0,Ts*(L+1),—2,5/2] );
title ( ’与相干波相乘后的波形' );
grid
[N,Wn] = buttord( 2*pi*50, 2*pi*100,3,25,'s'); %临界频率采用角频率表示
[b,a]=butter(N,Wn,’s');
[bz,az]=impinvar(b,a,fs); %映射为数字的
dt = filter(bz,az,dt);
figure
plot (t,dt);
axis( [0,Ts*(L+1),— 3/2,3/2] );
title ( '低通滤波后的波形' );
ss=dt; %存放抽样判决后的值
bit1=[];
tt=length(ss)/L;
for i=tt/2:tt:length(ss)
if ss(i)〉(1/4)
ss((i—tt/2+1):(i+tt/2))=zeros ( 1,3000);
bit1=[bit1,0];
else
ss((i-tt/2+1):(i+tt/2))=ones ( 1,3000);
bit1=[bit1,1];
end
end
figure
plot (t,ss,'r-’);
axis( [0,Ts*(L+1), -1/2,3/2] );
title ( ’信道译码信号' );
grid
bb=[];
U1=rem(length(bit1),7);
l=length(bit1);
sheng1=[bit1(length(bit1))—U1+1:bit1(length(bit1))];
bit1([l-U1+1:bit1(l)])=[];
bb=xianxiyima(bit1); %线性分组码译码;
bb=[bb,sheng1];
此函数的功能是将信源编码后的0、1序列再经过信道编码(7,4)线性分组码编码,将信道编码后的信号进行BPSK调制,由于考虑到在信道中传输是会有噪声的影响,所以在仿真时我人为的加入一定的噪声。
在接收端进行相干解调,用一个与调制信号同频的信号与接收到的信号(加入噪声后的已调信号)相乘,再用一个数字滤波器进行滤波,去掉了信号中的高频成份和噪声,取出直流分量,得到方波信号,对这个信号进行抽样判决将其转换成0、1比特流后,再经过信道译码.
子函数5:
function a3=yima(y,n)
m=2/n;
for i=1:n+1
q(i)=(-1)+(i—1)*m;
end
tt=[];
tt(1)=-1;
for x=2:length(q)
tt(x)=(q(x—1)+q(x))/2; %存放第几个电平段的电平值
end
tt=[tt,1];
nu=ceil(log2(n));
decode=[];
for i=1:length(y)/(nu+1)
decode(i,[1:(nu+1)])=y((i-1)*(nu+1) + 1 : i*(nu+1));
end
ab=[] ; % 存放的十进制数,到tt中去找对应值
[w,z]=size(decode);
for j=1:w
L=nu;
value=0;
for i=0:L
value=decode(j,i+1)*(2^(L-i))+ value;
end
ab(j)=value;
end
decode;
w;
a3=[] ; % 存放信源译码值
for i=1:w
a3(i)=tt(ab(i));
end
此函数的功能是将接收到的0、1比特流分为八位二进制一组一组的,再将每八位二进制转换为十进制数,再到每段中去寻到与发关端有相同约定段号值。即可恢复原信号的量化值。
子函数6:
function y5=Ayi(y,A)
for i=1:length(y)
if((abs(y(i))〉=0)&(abs(y(i))<=(1/(1+log(A)))))
y1(i)=y(i)*(1+log(A))/A;
elseif((abs(y(i))<=1)&(abs(y(i))>(1/(1+log(A)))))
y1(i)=(1/A)*sign(y(i))*exp(abs(y(i))*(1+log(A))—1);
end
end
end
y5=y1;
end
此函数的功能是将恢复的量化值通过A律反转换公式得到对应的值,是用13拆线转换的反过程。因为在当A=86。5时,可以用13折线用13条折线近似A律的平滑曲线,在实际工程中A律的平滑曲线不易实现,而用13折线法可以降低工程实现中的难度。
主函数:
clc
clear all
t=0:0。1:6*pi;
a1=sin(t); %模拟信源
figure(1)
plot(t,a1);
title ( ’原始模拟信号' );
t1=0:2*pi/32:6*pi; %抽样
a=sin(t1);
figure
plot(t1,a);
stem(t1,a);
title ( ’抽样信号’ );
y4=zhexian(a) ; %13折线
n=256; %量化电平数;
bitstream=bianma(y4,n);
bit1=BPSK(bitstream);
y2=yima(bit1,n);
y5=Ayi(y2,87.65);
figure
plot(y5);
stem(y5,’r')
axis([0,100,-1,1。01])
figure
plot(y5,'r’);
hold on
plot(y5,’。b');
axis([0,100,—1,1.01])
主函数的功能是是产生模拟信号并且进行抽样得到抽样值,然后将各个子函数衔接到一块,形成一个比较完整的通信系统,进行仿真画出各个阶段重要的图形,以便观察和分析。
调试过程:
将各个子程序和主程序都放入MATLAB的工作空间中,双击main.m文件后,点击Debug Run 运行程序。
在 这次通信系统仿真编程中,我遇到了很多问题,例如在利用13折线进行数值变转时,需要考虑归一化问题,并且考虑到在第一像限和第三像限的情况基本相同,只是符号相反,所以只需考虑一段,那么在进行运算是得先把原来的值的符号位保存,再在变换后的值上添加符号值.还有在对连续幅值进行量化时,我也犯了一些思路上的混乱,导致我在调试的时候出现错误,但当我反复一遍遍检查,发现只是在取值端点上没有弄好,当我改后就好了。
还有在编码时,一开始不知怎么的老是前几个数编出来只有六位,我又上那块去找原因,发现又是在取值边界上的问题,我改后这个问题也解决了。在
进行BPSK调制时,出现了相位模糊的问题,我在抽样判决后,人为的进行取反,就得到了正确的0、1比特流。在信源译码的时候要注意的是,取的量化电平及值要和发送端事约定好,以便在接收到0、1比特流后能够正确译出量化值,在量化值恢复成原始抽样值时,我采用的是A律反解法,因为在我设计的程序中令A的值为87.65,此时的A律曲线和13拆线很接进,为了观查它们的近似度,我在发送端和接收端分别用了13折线和A律公试。
5. 运行结果及分析
先得到原始模拟信号如下图:
将此模拟信号按每周期取32个点抽样,得到以下图形:
将抽样后的量化值进行二进制编码,第八位二进制数表示一个量化值,将得到的二进制数进行信道编曲码,得到如下图形:
经过BPSK调制后的信号和在调制后的信号中加入噪声有如下图形:
(值得引起注意的是,我用0.1的宽度来表示一个比特,所以如果在0.1的整数倍的地方才能看到有0比特的相位表示用0相位,1比特的相位表示用pi/2)
在接收端用一个与调制后的波同频的相干波与接收到的信号相乘后得到以下图形:
经过数字低通滤波器滤除噪声和载波后的波形如下图:
(值得引起注意的是在BPSK调制中会出现相位模糊问题,在些处是通过在抽样判决时加以处理,使其能够正确译码输出)
通过信道译码后的图形如下:
将信道译码后的信号,分为八位二进制位一组一组的,再将其恢复成十进制数,到对应段去找取值,即恢复原始信号的量化值,再将其值通过A律公式反解出原始信号的抽样值,画出如下图形:
将上图用平滑的曲线边接起来,再标注上抽样点则得到如下图形:
通过将原始信号与接收端得到的信号进行比较,可见信号恢复情况良好,只是在信号经过系统后,稍有些延时。
七、设计心得
通过这次实验,我收获不少,以通信原理更加了解,尤其是对数字通信系统更深刻了解了他的工作流程。在这次课程设计中,一开始的预期工作就是查资料,我一般通过查阅课本书,和在网上查找一些相关资料,在这过程中我觉得做一个数字通信系统应该是我力所能及的,于是我又查阅了很多资料后,在头脑中慢慢程显出了数字通信系统的基本构架,然后在理清楚了基本框架后,我就开始一步步的设计子程序,然后编写一些测试的数据看是否可行,按照这样的进程,我整整在寝室待了两天,一直在想,一直在编程,错了又改,改了又编,一点点累积起来,最后终于形成了一个完整的程序。但是在编写了完整的主程序后,要将一个个子程序衔接起来,也出了一点点小差错,比如是数据不对,越过数组范围之类的问题,还有就是有一次我竟然画出了一些比特流,中间全零两边正常,但却恢复得挺好,我百思不得其解,一遍遍的看程序,最后发现自己犯了个低级错误,即带错参数了。再有就是有一段时间我一运行程序,前几个图都画出来了,可就是接下来的图画不出来,而且MATLAB‘死机了’,我检查了好多遍程序都不知道哪儿出错了,直到有一次我不管它,让它运行去,我去干别的一小会,等我回来时一看,在MATLAB里的Command Window里打印了好多好多的数,我这才愰然大悟我错在哪儿了,原来我忘记了我用数用错了,唉,这才知道如果我细心点该多好呀。还有就是在编程的时候一定要注意一些边界取值问题,不然也会出错。
在整个通信系统仿真快要完成时,我对整个数字通信系统了解得很深刻,那体系结构牢牢记在我大脑里了。最后我就一遍遍检查每个子函数看看如何使之更加完善,在接收端和发送端只能通过经过信道传输进行信息的传递(不能通过函数值的传递方式来使接收端得到某些信息),并在接收端和发送端规定好一定的协议,通过协议和接收到的信号,才能完整的恢复原始信号。做完这个通信系统仿真后,我思考了一个问题,我这个程序在一开始的时候做了归一化处理,虽然在接收端恢复的信号的原始信号几乎一模一样,但是如果我产生的信号不是幅值大于1,虽然接收端恢复的信号的原始信号形状几乎一模一样,但是幅值总还是在1以内。这个问题我想了很久,暂时还没想到如何解决这个问题。不过从总体上来讲,我已经尽力而为了,做到这个程度还是令自己感到欣慰的.因为通过这次课程设计我也学到了不少东西,学生就是以学习为资本,学着了就没白做,当然学习是无止尽的,在以后的学习中,我会保持良好的学习态度,以及继续提高我的思考设计能力!
八、参考文献
[1]王秉钧,冯玉氓等。 通信原理[M]。清华大学出版社2006年11 月
[2]John G。 proakis等著, 刘树棠译. 现代通信系统(Matlab版)(第二版)[M], 电子工业出版社, 2006。9
[3]Bernard Sklar著, 徐平平等译. 数字通信-基础与应用(第二版) [M], 电子工业出版社, 2004。11
[4]孙屹。 Matlab通信仿真开发手册[M], 国防工业出版社,2005.1
[5]王福昌. 通信原理[M]. 清华大学出版社,2006.9
[6]樊昌信等。 通信原理(第6版)[M]. 国防工业出版社,2008.3
[7]《现代通信原理》,曹志刚,钱亚生,清华大学出版社,1992ﻫ[8]《现代通信原理与技术》,张辉,曹丽,西安电子科技大学出版社,2005ﻫ[9]《数字通信(第三版) 》,(美)John G.Proakis,张力军等译,电子工业出版社,2001ﻫ[10]《通信原理(第六版)同步辅导及习题全解》,王颖惠,牛丽英,水利水电出版社,2009
[11]《通信原理—基于Matlab的计算机仿真》,郭文彬,桑林,北京邮电大学出版社,2006
[12]《通信系统仿真》,冯育涛,国防工业出版社,2009
[13]《通信原理实验与课程设计》,达新宇、孟繁茂、邱伟,北京邮电大学出版社,2005
通信系统仿真设计实训报告
1. 课题名称:基于 MATLAB 的QPSK系统仿真设计与实现
学生学号:
学生姓名:
所在班级:
任课教师:
2016年 10月25日
目录
1。1QPSK系统的应用背景简介3
1.2 QPSK实验仿真的意义3
1.3 实验平台和实验内容3
1。3。1实验平台3
实验内容3
二、系统实现框图和分析4
2.1、QPSK调制部分,4
2.2、QPSK解调部分5
三、实验结果及分析6
3.1、理想信道下的仿真6
3。2、高斯信道下的仿真7
3.3、先通过瑞利衰落信道再通过高斯信道的仿真8
总结:10
参考文献:11
附录12
1.1QPSK系统的应用背景简介
QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
1.2 QPSK实验仿真的意义
通过完成设计内容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。了解QPSK的实现方法及数学原理。并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。
理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。复习MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应波形.在完成要求任务的条件下,尝试优化程序。
通过本次实验,除了和队友培养了默契学到了知识之外,还可以将次实验作为一种推广,让更多的学生来深入一层的了解QPSK以至其他调制方式的原理和实现方法。可以方便学生进行测试和对比。足不出户便可以做实验。
1.3 实验平台和实验内容
1。3.1实验平台
本实验是基于Matlab的软件仿真,只需PC机上安装MATLAB 6.0或者以上版本即可。
(本实验附带基于Matlab Simulink (模块化)仿真,如需使用必须安装simulink 模块)
实验内容
1.构建一个理想信道基本QPSK仿真系统,要求仿真结果有
a.基带输入波形及其功率谱
b.QPSK信号及其功率谱
c.QPSK信号星座图
2。构建一个在AWGN(高斯白噪声)信道条件下的QPSK仿真系统,要求仿真结果有
a.QPSK信号及其功率谱
b。QPSK信号星座图
c.高斯白噪声信道条件下的误码性能以及高斯白噪声的理论曲线,要求所有误码性能曲线在同一坐标比例下绘制
3验可选做扩展内容要求:
构建一个先经过Rayleigh(瑞利衰落信道),再通过AWGN(高斯白噪声)信道条件下的条件下的QPSK仿真系统,要求仿真结果有
a.QPSK信号及其功率谱
b.通过瑞利衰落信道之前和之后的信号星座图,前后进行比较
c.在瑞利衰落信道和在高斯白噪声条件下的误码性能曲线,并和二.2。c中所要求的误码性能曲线在同一坐标比例下绘制
二、系统实现框图和分析
2。1、QPSK调制部分,
原理框图如图1所示
1(t)=
QPSK
信号s(t)
二进制
数据序列
极性NRZ
电平编码器
分离器
2(t)=
图1
原理分析:
基本原理及系统结构
QPSK与二进制PSK一样,传输信号包含的信息都存在于相位中。的别的载波相位取四个等间隔值之一,如л/4, 3л/4,5л/4,和7л/4。相应的,可将发射信号定义为
0≤t≤T
Si(t) =
0。, 其他
其中,i=1,2,2,4;E为发射信号的每个符号的能量,T为符号持续时间,载波频率f等于nc/T,nc为固定整数。每一个可能的相位值对应于一个特定的二位组。例如,可用前述的一组相位值来表示格雷码的一组二位组:10,00,01,11。
下面介绍QPSK信号的产生和检测.如果a为典型的QPSK发射机框图。输入的二进制数据序列首先被不归零(NRZ)电平编码转换器转换为极性形式,即负号1和0分别用和-表示.接着,该二进制波形被分接器分成两个分别由输入序列的奇数位偶数位组成的彼此独立的二进制波形,这两个二进制波形分别用a1(t),和a2(t)表示。容易注意到,在任何一信号时间间隔内a1(t),和a2(t)的幅度恰好分别等于Si1和 Si2,即由发送的二位组决定。这两个二进制波形a1(t),和a2(t)被用来调制一对正交载波或者说正交基本函数:1(t)=,2(t)=.这样就得到一对二进制PSK信号.1(t)和2(t)的正交性使这两个信号可以被独立地检测。最后,将这两个二进制PSK信号相加,从而得期望的QPSK。
2.2、QPSK解调部分
,原理框图如图2所示:
1(t) 同相信道 门限=0
发送二进制序列的估计
判决门限
低通filrer
判决门限
复接器
接收信 号
x(t)
低通filrer
2(t)正交信道 门限=0
图2
原理分析:
QPSK接收机由一对共输入地相关器组成。这两个相关器分别提供本地产生地相干参考信号1(t)和2(t)。相关器接收信号x(t),相关器输出地x1和x2被用来与门限值0进行比较。如果x1>0,则判决同相信道地输出为符号1;如果x1〈0 ,则判决同相信道的输出为符号0。;类似地。如果正交通道也是如此判决输出.最后同相信道和正交信道输出这两个二进制数据序列被复加器合并,重新得到原始的二进制序列。在AWGN信道中,判决结果具有最小的负号差错概率。
三、实验结果及分析
根据图1和图2的流程框图设计仿真程序,得出结果并且分析如下:
3.1、理想信道下的仿真,实验结果如图3所示
图3
实验结果分析:
如图上结果显示,完成了QPSK信号在理想信道上的调制,传输,解调的过程,由于调制过程中加进了载波,因此调制信号的功率谱密度会发生变化.并且可以看出调制解调的结果没有误码。
3.2、高斯信道下的仿真,结果如图4所示:
图4
实验结果分析:
由图4可以得到高斯信道下的调制信号,高斯噪声,调制输出功率谱密度曲线和QPSK信号的星座图.
在高斯噪声的影响下,调制信号的波形发生了明显的变化,其功率谱密度函数相对于图1中的调制信号的功率谱密度只发生了微小的变化,原因在于高斯噪声是一个均值为0的白噪声,在各个频率上其功率是均匀的,因此此结果是真确的.星座图反映可接收信号早高斯噪声的影响下发生了
展开阅读全文