搜档网
当前位置:搜档网 › 在matlab上的的QPSK调制与解调仿真

在matlab上的的QPSK调制与解调仿真

在matlab上的的QPSK调制与解调仿真
在matlab上的的QPSK调制与解调仿真

QPSK的调制与解调电路的MATLAB实现

摘要

本课程设计主要讨论了QPSK的调制解调原理,分析了它们的调制解调实现过程的程序设计。在课程设计中,系统开发平台为Windows 2000,程序运行平台为MATLAB集成环境下的Simulink仿真平台。用Simulink构建QPSK调制与解调电路仿真模型,得到调制、解调信号,绘制调制前后频谱图,分析QPSK在各种噪声信道中的性能。程序运行初步实现了QPSK的调制解调,其所得结果基本与理论结果一致。

关键词Simulink;调制解调;QPSK;

目录

1.前言 (1)

1.1QPSK系统的应用背景简介 (1)

1.2 QPSK实验仿真的意义 (1)

1.3 实验平台和实验内容 (2)

1.3.1实验平台 (2)

1.3.2实验内容 (2)

2系统实现框图和分析 (3)

2.1、QPSK调制部分 (3)

2.2、QPSK解调部分 (4)

3实验结果及分析 (6)

3.1、理想信道下的仿真 (6)

3.2、高斯信道下的仿真 (7)

3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (8)

4致谢 (9)

参考文献 (10)

附录 (11)

1.前言

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.3.2实验内容

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系统实现框图和分析

2.1、QPSK 调制部分

原理框图如图1所示

φ1(t

)c f t π

φ2(t )c f t π

图2-1

原理分析:

基本原理及系统结构

QPSK 与二进制PSK 一样,传输信号包含的信息都存在于相位中。的别的载波相位取四个等间隔值之一,如л/4, 3л/4,5л/4,和7л/4。相应的,可将发射信号定义为

(21)/4]ft i ππ+- 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)

o s(2)c f t

π,φ2(t)

=i n(2)c f t

π。这样就得到一对二进制PSK

信号。φ1(t)和φ2(t)的正交性使这两个信号可以被独立地检测。最后,将这两个二进制PSK信号相加,从而得期望的QPSK。

2.2、QPSK解调部分

原理框图如图2所示:

φ2(t)正交信道门限=0

图2-2

原理分析:

QPSK接收机由一对共输入地相关器组成。这两个相关器分别提供本地产生地相干参考信号φ1(t)和φ2(t)。相关器接收信号x(t),相关器输出地x1和x2被用来与门限值0进行比较。如果x1>0,则判决同相信道地输出为符号1;如果x1<0 ,则判决同相信道的输出为符号0。;类似地。如果正交通道也是如此判决输出。最后同相信道和正交信道输出这两个二进制数据序列被复加器合并,重新得到原始的二进制序列。在AWGN信道中,判决结果具有最小的负号差错概率。

3实验结果及分析

根据图1和图2的流程框图设计仿真程序,得出结果并且分析如下:

3.1、理想信道下的仿真

实验结果如图3所示

图3-1

实验结果分析:

如图上结果显示,完成了QPSK信号在理想信道上的调制,传输,解调的过程,由于调制过程中加进了载波,因此调制信号的功率谱密度会发生变化。并且可以看出调制解调的结果没有误码。

3.2、高斯信道下的仿真

结果如图4所示:

图3-2

实验结果分析:

由图4可以得到高斯信道下的调制信号,高斯噪声,调制输出功率谱密度曲线和QPSK信号的星座图。

在高斯噪声的影响下,调制信号的波形发生了明显的变化,其功率谱密度函数相对于图1中的调制信号的功率谱密度只发生了微小的变化,原因在于高斯噪声是一个均值为0的白噪声,在各个频率上其功率是均匀的,因此此结果是真确的。星座图反映可接收信号早高斯噪声的影响下发生了误码,但是大部分还是保持了原来的特性。

3.3、先通过瑞利衰落信道再通过高斯信道的仿真。

实验结果如图5所示:

图3-3

实验结果分析:

由图5可以得到瑞利衰落信道前后的星座图,调制信号的曲线图及其功率谱密度。最后显示的是高斯信道和瑞利衰落信道的误码率对比。由图可知瑞利衰落信道下的误码率比高斯信道下的误码率高。

至此,仿真实验就全部完成。

4致谢

感谢指导老师赵老师对我们的指导,帮我们解决了不少的问题。也感谢队友之间的相互合作。希望以后再接再厉,努力学习。

参考文献

[1] 曹志刚,钱亚生.QPSK及其解调.北京:清华大学出版社,1992

[2] 黄正.BPSK,QPSK及其解调.电光系统,2003,103 (1):43-47

[3] 黄文梅,熊桂林,杨勇.信号分析与处理—MATLAB语言及应用.长沙:国防科技大学出版社,2000.

[4] 邓华..MATLAB通信仿真及应用实例详解:北京:人民邮电出版社,2003

[5] 李贺冰.Simulink通信仿真教程.北京:国防工业出版社,2006.5

附录

% 调相法

clear all

close all

t=[-1:0.01:7-0.01];

tt=length(t);

x1=ones(1,800);

for i=1:tt

if (t(i)>=-1 & t(i)<=1) | (t(i)>=5& t(i)<=7);

x1(i)=1;

else x1(i)=-1;

end

end

t1=[0:0.01:8-0.01];

t2=0:0.01:7-0.01;

t3=-1:0.01:7.1-0.01;

t4=0:0.01:8.1-0.01;

tt1=length(t1);

x2=ones(1,800);

for i=1:tt1

if (t1(i)>=0 & t1(i)<=2) | (t1(i)>=4& t1(i)<=8);

x2(i)=1;

else x2(i)=-1;

end

end

f=0:0.1:1;

xrc=0.5+0.5*cos(pi*f);

y1=conv(x1,xrc)/5.5;

y2=conv(x2,xrc)/5.5;

n0=randn(size(t2));

f1=1;

i=x1.*cos(2*pi*f1*t);

q=x2.*sin(2*pi*f1*t1);

I=i(101:800);

Q=q(1:700);

QPSK=sqrt(1/2).*I+sqrt(1/2).*Q;

QPSK_n=(sqrt(1/2).*I+sqrt(1/2).*Q)+n0;

n1=randn(size(t2));

i_rc=y1.*cos(2*pi*f1*t3);

q_rc=y2.*sin(2*pi*f1*t4);

I_rc=i_rc(101:800);

Q_rc=q_rc(1:700);

QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);

QPSK_rc_n1=QPSK_rc+n1;

figure(1)

subplot(4,1,1);plot(t3,i_rc);axis([-1 8 -1 1]);ylabel('a序列');

subplot(4,1,2);plot(t4,q_rc);axis([-1 8 -1 1]);ylabel('b序列');

subplot(4,1,3);plot(t2,QPSK_rc);axis([-1 8 -1 1]);ylabel('合成序列'); subplot(4,1,4);plot(t2,QPSK_rc_n1);axis([-1 8 -1 1]);ylabel('加入噪声');

效果图:

% 设定T=1,加入高斯噪声

clear all

close all

% 调制

bit_in = randint(1e3, 1, [0 1]);

bit_I = bit_in(1:2:1e3);

bit_Q = bit_in(2:2:1e3);

data_I = -2*bit_I+1;

data_Q = -2*bit_Q+1;

data_I1=repmat(data_I',20,1);

data_Q1=repmat(data_Q',20,1);

for i=1:1e4

data_I2(i)=data_I1(i);

data_Q2(i)=data_Q1(i);

end;

f=0:0.1:1;

xrc=0.5+0.5*cos(pi*f);

data_I2_rc=conv(data_I2,xrc)/5.5;

data_Q2_rc=conv(data_Q2,xrc)/5.5;

f1=1;

t1=0:0.1:1e3+0.9;

n0=rand(size(t1));

I_rc=data_I2_rc.*cos(2*pi*f1*t1);

Q_rc=data_Q2_rc.*sin(2*pi*f1*t1); QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc); QPSK_rc_n0=QPSK_rc+n0;

% 解调

I_demo=QPSK_rc_n0.*cos(2*pi*f1*t1);

Q_demo=QPSK_rc_n0.*sin(2*pi*f1*t1);

% 低通滤波

I_recover=conv(I_demo,xrc);

Q_recover=conv(Q_demo,xrc);

I=I_recover(11:10010);

Q=Q_recover(11:10010);

t2=0:0.05:1e3-0.05;

t3=0:0.1:1e3-0.1;

% 抽样判决

data_recover=[];

for i=1:20:10000

data_recover=[data_recover I(i:1:i+19) Q(i:1:i+19)];

end;

bit_recover=[];

for i=1:20:20000

if sum(data_recover(i:i+19))>0

data_recover_a(i:i+19)=1;

bit_recover=[bit_recover 1];

else

data_recover_a(i:i+19)=-1;

bit_recover=[bit_recover -1];

end

end

error=0;

dd = -2*bit_in+1;

ddd=[dd'];

ddd1=repmat(ddd,20,1);

for i=1:2e4

ddd2(i)=ddd1(i);

end

for i=1:1e3

if bit_recover(i)~=ddd(i)

error=error+1;

end

end

p=error/1000;

figure(1)

subplot(2,1,1);plot(t2,ddd2);axis([0 100 -2 2]);title('原序列');

subplot(2,1,2);plot(t2,data_recover_a);axis([0 100 -2 2]);title('解调后序列');

效果图:

% 设定T=1, 不加噪声

clear all

close all

% 调制

bit_in = randint(1e3, 1, [0 1]); bit_I = bit_in(1:2:1e3);

bit_Q = bit_in(2:2:1e3);

data_I = -2*bit_I+1;

data_Q = -2*bit_Q+1;

data_I1=repmat(data_I',20,1); data_Q1=repmat(data_Q',20,1);

for i=1:1e4

data_I2(i)=data_I1(i);

data_Q2(i)=data_Q1(i); end;

t=0:0.1:1e3-0.1;

f=0:0.1:1;

xrc=0.5+0.5*cos(pi*f);

data_I2_rc=conv(data_I2,xrc)/5.5;

data_Q2_rc=conv(data_Q2,xrc)/5.5;

f1=1;

t1=0:0.1:1e3+0.9;

I_rc=data_I2_rc.*cos(2*pi*f1*t1);

Q_rc=data_Q2_rc.*sin(2*pi*f1*t1);

QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);

% 解调

I_demo=QPSK_rc.*cos(2*pi*f1*t1);

Q_demo=QPSK_rc.*sin(2*pi*f1*t1);

I_recover=conv(I_demo,xrc);

Q_recover=conv(Q_demo,xrc);

I=I_recover(11:10010);

Q=Q_recover(11:10010);

t2=0:0.05:1e3-0.05;

t3=0:0.1:1e3-0.1;

data_recover=[];

for i=1:20:10000

data_recover=[data_recover I(i:1:i+19) Q(i:1:i+19)]; end;

ddd = -2*bit_in+1;

ddd1=repmat(ddd',10,1);

for i=1:1e4

ddd2(i)=ddd1(i);

end

figure(1)

subplot(4,1,1);plot(t3,I);axis([0 20 -6 6]);

subplot(4,1,2);plot(t3,Q);axis([0 20 -6 6]);

subplot(4,1,3);plot(t2,data_recover);axis([0 20 -6 6]); subplot(4,1,4);plot(t,ddd2);axis([0 20 -6 6]);

效果图:

% QPSK误码率分析

SNRindB1=0:2:10;

SNRindB2=0:0.1:10;

for i=1:length(SNRindB1)

[pb,ps]=cm_sm32(SNRindB1(i));

smld_bit_err_prb(i)=pb;

smld_symbol_err_prb(i)=ps;

end;

for i=1:length(SNRindB2)

SNR=exp(SNRindB2(i)*log(10)/10);

theo_err_prb(i)=Qfunct(sqrt(2*SNR)); end;

title('QPSK误码率分析');

semilogy(SNRindB1,smld_bit_err_prb,'*');

axis([0 10 10e-8 1]);

hold on;

% semilogy(SNRindB1,smld_symbol_err_prb,'o'); semilogy(SNRindB2,theo_err_prb);

legend('仿真比特误码率','理论比特误码率'); hold off;

function[y]=Qfunct(x)

y=(1/2)*erfc(x/sqrt(2));

function[pb,ps]=cm_sm32(SNRindB)

N=10000;

E=1;

SNR=10^(SNRindB/10);

sgma=sqrt(E/SNR)/2;

s00=[1 0];

s01=[0 1];

s11=[-1 0];

s10=[0 -1];

for i=1:N

temp=rand;

if (temp<0.25)

dsource1(i)=0;

dsource2(i)=0;

elseif (temp<0.5)

dsource1(i)=0;

dsource2(i)=1;

elseif (temp<0.75)

dsource1(i)=1;

dsource2(i)=0;

else

dsource1(i)=1;

dsource2(i)=1;

end;

end;

numofsymbolerror=0;

numofbiterror=0;

for i=1:N

n=sgma*randn(size(s00));

if((dsource1(i)==0)&(dsource2(i)==0))

r=s00+n;

elseif((dsource1(i)==0)&(dsource2(i)==1)) r=s01+n;

elseif((dsource1(i)==1)&(dsource2(i)==0)) r=s10+n;

else

r=s11+n;

end;

c00=dot(r,s00);

c01=dot(r,s01);

c10=dot(r,s10);

c11=dot(r,s11);

QPSK调制与解调

移动通信实验报告 姓名学号实验日期实验名称QPSK调制与解调实验类型 实验目的 学会使用MATLAB中的simulink仿真软件,了解其各种模块的功能,用simulink 实现QPSK的调制和仿真过程,得到调制信号经高斯白噪声信道,再通过解调恢复原始信号,绘制出调制前后的频谱图,分析QPSK在高斯信道中的性能,计算传输过程中的误码率。通过此次设计,在仿真中形象的感受到QPSK的调制和解调过程,有利于深入了解QPSK的原理。同时掌握了simulink的使用,增强了我们学习通信的兴趣,培养通信系统的仿真建模能力。 实验原理及设计思路(一)QPSK星座图 QPSK是Quadrature Phase Shift Keying的简称,意为正交移相键控,是数字调制的一种方式。它规定了四种载波相位,分别为0, 2 π , π, 3 2 π (或者 4 π , 3 4 π , 5 4 π ,7 4 π ),星座图如图1(a)、(b)所示。 图1 QPSK星座图 (二)QPSK的调制 因为输入信息是二进制序列,所以需要将二进制数据变换成四进制数据,才能和四进制的载波相位配合起来。采取的办法是将二进制数字序列中每两个序列分成一组,共四种组合(00,01,10,11),每一组称为双比特码元。每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。QPSK每次调制可传 (a)(b)

输两个信息比特。图2的(a)、(b)、(c)原理框图即为QPSK的三种调制方式,本次课程设计主要采用的是正交调制方式。 (三)QPSK的解调 QPSK信号可以用两个正交的载波信号实现相干解调,它的相干解调器如图3所示,正交路分别设置两个匹配滤波器,得到I(t)和Q(t),经电平判决和并转串即可恢复出原始信息。 (a)正交调制法 (b)相位选择法 (c)脉冲插入法 图2 QPSK的主要调制方式

基于MATLAB的OQPSK调制解调实现

基于MATLAB的OQPSK调制解调实现学生姓名:周翌指导老师:吴志敏 摘要本课程设计的目标在于深切理解OQPSK调制与解调的基本原理,学会使用MATALB软件中的M文件来实现OQPSK的调制与解调以及分析加入不同噪声时对信号的影响程度。首先产生一个数字基带信号,接下来调用MATLAB中的相应函数对这个基带信号进行调制,然后分析调制后的波形:,记录结果后对调制后的信号进行解调,观察解调结果并做好记录,最后在信号中加入噪声并观察其时频图的变化,分析信噪比的噪声对调制结果的影响。本课程设计的实验开发/运行平台为windowsXP/windows7,程序设计使用MATLAB语言。通过调试运行,基本完成设计目标,达到调制与解调的目的。 关键词:MATLAB;M文件;OQPSK;调制与解调;噪声 1 引言 数字调制与解调技术在数字通信中占有非常重要的地位,数字通信技术与MATLAB 的结合是现代通信系统发展的一个必然趋势。在数字信号通信过程中,噪声的影响往往比较大,同时我们都希望有较高的频带利用率和功率利用率,而OQPSK也是一种恒包络调制技术,其频谱特性好,既保留着2PSK的高抗噪声性能、高频带利用率和高功率利用率,又有效地减弱了2PSK的“反相工作”缺陷,在通信研究中有着非常重要的意义,特别是在卫星通信和移动通信的领域有着广泛的应用。MATLAB作为当前国际控制界最流行的面向工程与科学计算的高级语言,在控制系统的分析、仿真与设计方面得到了非常广泛的应用,随着其信号处理专业函数和专业工具箱的成熟,越来

越受到通信领域人士的欢迎,其在通信领域的应用也将更加广泛。 1.1课程设计目的 熟悉OQPSK的基本原理,掌握MATLAB中M文件的使用及相关函数的调用方法,在此基础上通过编程实现OQPSK的调制与解调,并通过加入的噪声来判断所设计的系统性能。这次课程设计不仅让我对OQPSK有了更加深入的了解,而且学会了如何利用MATLAB中的M文件来实现通信系统方面的应用,最重要的是,自己能够独立完成一个小项目了,有了这方面的经验,我在以后的学习中就会有更充足的信心和动力。 1.2课程设计要求 熟悉MATLAB中M文件的使用方法,并在深切理解OQPSK调制解调原理的基础上,编写出OQPSK调制解调程序。绘制出OQPSK信号解调前后在时域和频域中的波形,并观察解调前后频谱有何变化以加深对OQPSK信号解调原理的理解。分别对信号叠加不同噪声,并进行解调,绘制出解调前后信号的时频波形,分析不同噪声对信号传输造成的影响大小。 1.3课程设计步骤 先产生随机信号,然后对信号进行调制和解调,在调制和解调过程中加入高斯白噪声,观察现象。 1、产生四进制数字作为数字基带信号,对其进行调制; 2、将函数调制信号改为相应的时域波形调制信号; 3、在函数调制信号中加入高斯白噪声,生成加入噪声后的时域波形调制信号; 4、分别生成没加或加了噪声的调制信号波形图和频谱图; 5、分别对没加或加了噪声的调制信号进行解调; 6、计算误码率。

QPSK调制解调完整程序(配有自己的注释)

QPSK调制解调完整程序(配有注释) clc; clear all; %假定接收端已经实现载波同步,位同步(盲信号解调重点要解决的问题:载波同步(costas环(未见到相关代码)),位同步(Gardner算法(未见相关代码)),帧同步) % carrier frequency for modulation and demodulation fc=5e6; %QPSK transmitter data=5000 ; %码数率为5MHZ %原码个数 rand_data=randn(1,5000); for i=1:data if rand_data(i)>=0.5 rand_data(i)=1; else rand_data(i)=0; end end %seriel to parallel %同时单极性码转为双极性码 for i=1:data if rem(i,2)==1 if rand_data(i)==1 I(i)=1; I(i+1)=1; else I(i)=-1; I(i+1)=-1; end else if rand_data(i)==1 Q(i-1)=1; Q(i)=1; else Q(i-1)=-1; Q(i)=-1; end end end % zero insertion ,此过程称为成形。成形的意思就是实现由消息到波形的转换,以便发射,脉冲成形应该是在基带调制之后。 zero=5; %sampling rate 25M HZ ,明白了,zero为过采样率。它等于采样率fs/码速率。

for i=1:zero*data % 采样点数目=过采样率*原码数目 if rem(i,zero)==1 Izero(i)=I(fix((i-1)/zero)+1); Qzero(i)=Q(fix((i-1)/zero)+1); else Izero(i)=0; Qzero(i)=0; end end %pulse shape filter,接着,将进行低通滤波,因为随着传输速率的增大,基带脉冲的频谱将变宽 %如果不滤波(如升余弦滤波)进行低通滤波,后面加载频的时候可能会出现困难。 %平方根升余弦滤波器 % psf=rcosfir(rf,n_t,rate,fs,'sqrt') rate:过采样率,rf:滚降因子,n_t:滤波器阶数,fs:采样率 %用在调制或发送之前,用在解调或接受之后,用来降低过采样符号流带宽并不引发ISI(码间串扰) NT=50; N=2*zero*NT; % =500 fs=25e6; rf=0.1; psf=rcosfir(rf,NT,zero,fs,'sqrt');% psf大小为500 Ipulse=conv(Izero,psf); Qpulse=conv(Qzero,psf); %为什么数字信号传输也要过采样,成形滤波? %答:过采样的数字信号处理起来对低通滤波器的要求相对较低,如果不过采样,滤波的时候滤波器需要很陡峭,指标会很严格 %成形滤波的作用是保证采样点不失真。如果没有它,那信号在经过带限信道后,眼图张不开,ISI非常严重。成形滤波的位置在基带调制之后。 %因为经成形滤波后,信号的信息已经有所损失,这也是为避免ISI付出的代价。换句话说,成形滤波的位置在载波调制之前,仅挨着载波调制。 %即:(发送端)插值(采样)-成形-滤波(LPF)-加载频(载波调制)-加噪声至(接收端)乘本振-低通-定时抽取-判决。 %modulation for i=1:zero*data+N %采样点数目改变(因为卷积的缘故) t(i)=(i-1)/(fs); %这里因为假设载频与码速率大小相等,所以用载频fc 乘以过采样率=采样率。 Imod(i)=Ipulse(i)*sqrt(2)*cos(2*pi*fc*t(i)); Qmod(i)=Qpulse(i)*(-sqrt(2)*sin(2*pi*fc*t(i))); end sum=Imod+Qmod;

QPSK调制与解调原理 (2)

QPSK 调制: 四相相移调制就是利用载波的四种不同相位差来表征输入的数字信息,就 是四 进制移相键控。QPSK 就是在M=4时的调相技术,它规定了四种载波相位,分别为 45°, 135°,225°,315°,调制器输入的数据就是二进制数字序列,为了能与四进制的 载 波相位配合起来,则需要把二进制数据变换为四进制数据,这就就是说需要把二 进制数 字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称 为双比特码元。每一个双比特码元就是由两位二进制信息比特组成,它们分别代 表四进 制四个符号中的一个符号。QPSK 中每次调制 可传输2个信息比特,这些 信息比特就是通过载波的四种相位来传递的。解调器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。 图2-1 QPSK 相位图 以π/4 QPSK 信号来分析,由相位图可以瞧出: 当输入的数字信息为“11”码元时,输出已调载波 ? ?? ? ? +4ππ2cos c t f A (2-1) 当输入的数字信息为“01”码元时,输出已调载波 ? ?? ? ? +43ππ2cos c t f A (2-2) 当输入的数字信息为“00”码元时,输出已调载波

? ?? ? ? +45ππ2cos c t f A (2-3) 当输入的数字信息为“10”码元时,输出已调载波 ? ?? ? ? +47ππ2cos c t f A (2-4) QPSK 调制框图如下: 图2-2 QPSK 调制框图 其中串并转换模块就是将码元序列进行I/Q 分离,转换规则可以设定为奇数 位为I,偶数位为Q 。 例:1011001001:I 路:11010;Q 路:01001 电平转换模块就是将1转换成幅度为A 的电平,0转换成幅度为-A 的电平。 如此,输入00则)4 5 2cos(2)2sin()2cos(ππππ+=+-=t f A t f A t f A QPSK c c c , 输入11,则)4 2cos(2)2sin()2cos(π πππ+= -=t f A t f A t f A QPSK c c c ,等等。

基于MATLAB的QPSK通信系统仿真设计毕业设计论文

基于MATLAB的QPSK通信系统仿真设计 摘要 随着移动通信技术的发展,以前在数字通信系统中采用FSK、ASK、PSK 等调制方式,逐渐被许多优秀的调制技术所替代。本文主要介绍了QPSK调制与解调的实现原理框图,用MATLAB软件中的SIMULINK仿真功能对QPSK调制与解调这一过程如何建立仿真模型,通过对仿真模型的运行,得到信号在QPSK 调制与解调过程中的信号时域变化图。通过该软件实现方式,可以大大提高设计的灵活性,节约设计时间,提高设计效率,从而缩小硬件电路设计的工作量,缩短开发周期。 关键词 QPSK,数字通信,调制,解调,SIMULINK -I-

Abstract As mobile communications technology, and previously in the adoption of digital cellular system, ASK, FSK PSK modulation, etc. Gradually been many excellent mod ulation technology substitution, where four phase-shift keying QPSK technology is a wireless communications technology in a binary modulation method. This article prim arily describes QPSK modulation and demodulation of the implementation of the prin ciple of block diagrams, focuses on the MATLAB SIMULINK software emulation in on QPSK modulation and demodulation the process how to build a simulation model, through the operation of simulation model, I get signal in QPSK modulation and dem odulation adjustment process domain change figure. The software implementation, ca n dramatically improve the design flexibility, saving design time, increase efficiency, design to reduce the workload of hardware circuit design, and shorten the developmen t cycle. Keywords QPSK, Digital Communication,modulation,demodulation,SIMULINK -II-

QPSK调制解调的simulink仿真

QPSK 调制解调的simulink 仿真与性能分析 一、 设计目的和意义 学会使用MATLAB 中的simulink 仿真软件,了解其各种模块的功能,用simulink 实现QPSK 的调制和仿真过程,得到调制信号经高斯白噪声信道,再通过解调恢复原始信号,绘制出调制前后的频谱图,分析QPSK 在高斯信道中的性能,计算传输过程中的误码率。通过此次设计,在仿真中形象的感受到QPSK 的调制和解调过程,有利于深入了解QPSK 的原理。同时掌握了simulink 的使用,增强了我们学习通信的兴趣,培养通信系统的仿真建模能力。 二、 设计原理 (一)QPSK 星座图 QPSK 是Quadrature Phase Shift Keying 的简称,意为正交移相键控,是数字调制的 一种方式。它规定了四种载波相位,分别为0, 2π, π,32π (或者4 π,34π,54π,74π),星座图如图1(a )、(b )所示。 图1 QPSK 星座图 (二)QPSK 的调制 因为输入信息是二进制序列,所以需要将二进制数据变换成四进制数据,才能和四进制的载波相位配合起来。采取的办法是将二进制数字序列中每两个序列分成一组,共四种组合(00,01,10,11),每一组称为双比特码元。每一个双比特码元是由两位二进制 (a ) (b )

信息比特组成,它们分别代表四进制四个符号中的一个符号。QPSK 每次调制可传输两个信息比特。图2的(a )、(b)、(c)原理框图即为QPSK 的三种调制方式,本次课程设计主要采用的是正交调制方式。 (三)QPSK 的解调 QPSK 信号可以用两个正交的载波信号实现相干解调,它的相干解调器如图3所示,正交路分别设置两个匹配滤波器,得到I (t )和Q (t ),经电平判决和并转串即可恢复出原始信息。 (a )正交调制法 (b )相位选择法 (c )脉冲插入法 图2 QPSK 的主要调制方式

4FSK调制和解调

%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>初始化数据>>>>>>>>>>>>>>>>>>>>> %--------------------------------------------------- clc,clear,close all; fs = 30000; Time_Hold_On = 0.1; Num_Unit = fs * Time_Hold_On; one_Level = zeros ( 1, Num_Unit ); two_Level = ones ( 1, Num_Unit ); three_Level = 2*ones ( 1, Num_Unit ); four_Level = 3*ones ( 1, Num_Unit ); A = 1; % the default ampilitude is 1 w1 = 300; %初始化载波频率 w2 = 600; w3=900; w4=1200; %--------------------------------------------------- %>>>>>>>>>>>>>>>>>>串并转换>>>>>>>>>>>>>>> %--------------------------------------------------- Sign_Set=[0,0,1,1,0,1,1,0,1,0,1,0,1,0,0,1] Lenth_Of_Sign_Set = length ( Sign_Set ); %计算信号长度 j=1; for I=1:2:Lenth_Of_Sign_Set %信号分离成两路信号Sign_Set1(j)= Sign_Set(I);Sign_Set2(j)=Sign_Set(I+1); j=j+1; end Lenth_Of_Sign = length ( Sign_Set1 ); st = zeros ( 1, Num_Unit * Lenth_Of_Sign/2 ); sign_orign = zeros ( 1, Num_Unit * Lenth_Of_Sign/2 ); sign_result = zeros ( 1, Num_Unit * Lenth_Of_Sign/2 ); t = 0 : 1/fs : Time_Hold_On * Lenth_Of_Sign- 1/fs; %--------------------------------------------------- %>>>>>>>>>>>产生基带信号>>>>>>>>>>>> %--------------------------------------------------- for I = 1 : Lenth_Of_Sign if ((Sign_Set1(I) == 0)&(Sign_Set2(I) == 0)) %00为1电平sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = one_Level; elseif ((Sign_Set1(I) == 0)&(Sign_Set2(I) == 1)) %01为2电平sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = two_Level; elseif ((Sign_Set1(I) == 1)&(Sign_Set2(I) == 1)) %11为3电平

基于matlab的QPSK与BPSK信号性能比较仿真

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 目录 第一章概述 (1) 第二章QPSK通信系统原理与仿真 (1) 2.1 QPSK系统框图介绍 (1) 2.2QPSK信号的调制原理 (2) 2.2.1QPSK信号产生方法 (2) 2.2.2QPSK星座图 (2) 2.3QPSK解调原理及误码率分析 (3) 2.3.1QPSK解调方法 (3) 2.3.2QPSK系统误码率 (3) 2.4QPSK信号在AWGN信道下仿真 (4) 第三章BPSK通信系统原理与仿真 (4) 3.1BPSK信号的调制原理 (4) 3.2BPSK解调原理及误码率分析 (4) 第四章QPSK与BPSK性能比较 (5) 4.1QPSK与BPSK在多信道下比较仿真 (5) 4.1.1纵向比较分析 (5) 4.1.2横向比较分析 (7) 4.2仿真结果分析 (7) 4.2.1误码率分析 (7) 4.2.2频带利用率比较 (7) 附录 (8) 代码1 (8) 代码2 (8) 代码3 (10) 代码4 (12)

┊ ┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 第一章概述 QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。它以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接人、移动通信及有线电视系统之中。 BPSK是英文Binary Phase Shift Keying的缩略语简称,意为二相相移键控,是利用偏离相位的复数波浪组合来表现信息键控移相方式的一种。它使用了基准的正弦波和相位反转的波浪,使一方为0,另一方为1,从而可以同时传送接受2值(1比特)的信息。 本文所研究的QPSK系统与二进制的BPSK系统相比,具有以下特点: 1.在传码率相同的情况下,四进制数字调制系统的信息速率是二进制系统的2倍。 2.在相同信息速率条件下,四进制数字调制系统的传码率是二进制系统的1/4倍,这一特 点使得四进制码元宽度是二进制码元宽度的2倍,码元宽度的加大,可增加每个码元的 能量,也可减小码间串扰的影响。 3.由于四进制码元速率比二进制的降低,所需信道带宽减小。 4.在接收系统输入信噪比相同的条件下,四进制数字调制系统的误码率要高于二进制系 统。 5.四进制数字调制系统较二进制系统复杂,常在信息速率要求较高的场合。 基于以上优点,在数字信号的调制方式中QPSK(Quadrature Phase Shift Keying)四相移键控是目前最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性,在电路上实现也较为简单,因而被WCDMA和CDMA2000等第三代移动通信系统采用。 第二章QPSK通信系统原理与仿真 2.1 QPSK系统框图介绍 在图2.1的系统中,发送方,QPSK数据源采用随机生成,信源编码采用差分编码,编码后的信号经QPSK调制器,经由发送滤波器进入传输信道。 接收方,信号首先经过相位旋转,再经匹配滤波器解调,经阈值比较得到未解码的接收信号,差分译码后得到接收信号,与信源发送信号相比较,由此得到系统误码率,同时计算系统误码率的理论值,将系统值与理论值进行比较。 对于信道,这里选取的是加性高斯白噪声(Additive White Gaussian Noise)以及多径Rayleigh

通信原理实验 QPSK调制解调实验

HUNAN UNIVERSITY 课程实验报告 题目:十QPSK调制解调实验 指导教师: 学生姓名: 学生学号: 专业班级:

实验10 QPSK调制解调实验 一、实验目的 1. 掌握QPSK调制解调的工作原理及性能要求;了解IQ调制解调原理及特性 2. 进行QPSK调制、解调实验,掌握电路调整测试方法了解载波在QPSK相干及非相干时的解调特性 二、实验原理 1、QPSK调制原理 QPSK又叫四相绝对相移调制,它是一种正交相移键控。QPSK利用载波的四种不同相位来表征数字信息。由于每一种载波相位代表两个比特信息,因此,对于输入的二进制数字序列应该先进行分组,将每两个比特编为一组,然后用四种不同的载波相位来表征。 用调相法产生QPSK调制原理框图如图所示,QPSK的调制器可以看作是由两个BPSK调 制器构成,输入的串行二进制信息序列经过串行变换,变成两路速率减半的序列,电平发生器分别产生双极性的二电平信号I(t)和Q(t),然后对Acosωt和Asinωt进行调制,相 加后即可得到QPSK信号。 二进制码经串并变换后的码型如图所示,一路为单数码元,另外一路为偶数码元,这两个支路互为正交,一个称为同相支路,即I支路;另外一路称为正交支路,即Q支路

2、QPSK解调原理 由于QPSK可以看作是两个正交2PSK信号的合成,故它可以采用与2PSK信号类似的解调方法进行解调,即由两个2PSK信号相干解调器构成,其原理框图如图 三、实验步骤 在实验箱上正确安装基带成形模块(以下简称基带模块)、IQ调制解调模块(以下简称IQ模块)、码元再生模块(以下简称再生模块)和PSK载波恢复模块。 1、QPSK调制实验 a、关闭实验箱总电源,用台阶插座线完成连接 * 检查连线是否正确,检查无误后打开电源。 b、按基带成形模块上“选择”键,选择QPSK模式(QPSK指示灯亮)。 c、用示波器观察基带模块上“NRZ-I,I-OUT,NRZ-Q,Q-OUT”的信号;并分别与“NRZ IN”信号进行对比,观察串并转换情况。 NRZ-I 与NRZ IN I-OUT与NRZ IN NRZ-Q 与NRZ IN Q-OUT与NRZ IN d、观测IQ调制信号矢量图。

QPSK调制与解调原理

四相相移调制是利用载波的四种不同相位差来表征输入的数字信息,是四 进制移相键控。QPSK 是在M=4时的调相技术,它规定了四种载波相位,分别为 45°, 135°, 225°,315°,调制器输入的数据是二进制数字序列,为了能和四进制 的载 波相位配合起来,则需要把二进制数据变换为四进制数据, 这就是说需要把二进 制 数 字序列中每两个比特分成一组,共有四种组合,即 00, 01,10,11,其中每一 组称 为双比特码元。每一个双比特码元是由两位二进制信息比特组成, 它们分别代表 四进 制四个符号中的一个符号。QPSK 中每次调制 图2-1 QPSK 相位图 以n /4 QPSK 信号来分析,由相位图可以看出: 当输入的数字信息为“11 ”码元时,输出已调载波 (2-1) 当输入的数字信息为“ 01”码元时,输出已调载波 (2-2) 当输入的数字信息为“ 00”码元时,输出已调载波 (2-3) 当输入的数字信息为“10”码元时,输出已调载波 (2-4) 4 01 11 ? ? ? ■ 00 10 可传输2个信息比特,这些 信息比特是通过载波的四种 相位来传递的。解调器根据 星座图及接收到的载波信号 的相位来判断发送端发送的 信息比特。

QPS碉制框图如下: 图2-2 QPSK调制框图 其中串并转换模块是将码元序列进行I/Q分离,转换规则可以设定为奇数位为I,偶数位为Q 例:01: 1 路:11010;Q路:01001 电平转换模块是将1转换成幅度为A的电平,0转换成幅度为-A的电平。 如此,输入00 则QPSK Acos(2 fj) Asin(2 f」)、2Acos(2 f」4 ), 输入11,则QPSK Acos(2 f c t) Asin(2 口、2Acos(2 以-),等等。 4 QPSK军调: 接收机收到某一码元的QPSK言号可表示为:

通信原理2DPSK调制与解调实验报告

通信原理课程设计报告

一. 2DPSK基本原理 1.2DPSK信号原理 2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。 图1.1 2DPSK信号 在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。 定义?Φ为本码元初相与前一码元初相之差,假设: ?Φ=0→数字信息“0”; ?Φ=π→数字信息“1”。 则数字信息序列与2DPSK信号的码元相位关系可举例表示如下: 数字信息: 1 0 1 1 0 1 1 1 0 1

DPSK信号相位:0 π π 0 π π 0 π 0 0 π 或:π 0 0 π 0 0 π 0 π π 0 2. 2DPSK信号的调制原理 一般来说,2DPSK信号有两种调试方法,即模拟调制法和键控法。2DPSK 信号的的模拟调制法框图如图1.2.1所示,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。 图1.2.1 模拟调制法 2DPSK信号的的键控调制法框图如图1.2.2所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。选相开关作用为当输入为数字信息“0”时接相位0,当输入数字信息为“1”时接pi。 图1.2.2 键控法调制原理图 码变换相乘 载波 s(t)e o(t)

基于Matlab 的QPSK调制解调仿真设计与研究

天津理工大学计算机与通信工程学院通信工程专业设计说明书 基于Matlab/Simulink 的QPSK调制解调仿真设计与研究 姓名韩双年 学号 20092226 班级 09通信3班 指导老师白媛 日期 2012-12-16

目录 摘要 (2) 第一章前言 (2) 1.1 专业设计任务及要求 (2) 1.2 Matlab简介 (2) 1.3 Matlab下的simulink简介 (3) 1.4 通信系统模型 (3) 第二章QPSK调制 (4) 2.1 QPSK介绍 (4) 2.2 QPSK调制原理 (4) 2.2.1 相乘法 (4) 2.2.2 选择法 (5) 2.3 QPSK调制原理框图 (6) 2.4 QPSK调制方式的Matlab仿真 (6) 2.5 QPSK调制方式Matlab-simulink仿真 (7) 2.5.1 simulink调制建模 (7) 2.5.2 simulink调制仿真结果 (8) 第三章QPSK解调 (13) 3.1 QPSK解调原理 (13) 3.2 QPSK解调原理框图 (13) 3.3 QPSK解调方式Matlab仿真 (13) 3.4 QPSK解调方式的Matlab-simulink仿真 (14) 3.4.1 QPSK解调建模 (14) 3.4.2 传输信道 (16) 3.4.3仿真结果 (16) 3.5 仿真结果分析 (18) 第四章QPSK通信系统性能分析 (19) 第五章结论 (19) 参考文献 (20) 附录 (20)

摘要 正交相移键控(QPSK),是一种数字调制方式。QPSK技术具有抗干扰能力好、误码率低、频谱利用效率高等一系列优点。论文主要介绍了正交相移键控(QPSK)的概况,以及正交相移键控QPSK的调制解调概念和原理,利用Matlab中M文件和Simulink模块对QPSK的调制解调系统进行了仿真,对QPSK在高斯白噪声信道中的性能进行了,分析了解Simulink中涉及到QPSK的各种模块的功能。 【关键词】Matlab QPSK Simulnk 仿真 第一章前言 1.1专业设计任务及要求 1了解并掌握QPSK调制与解调的基本原理; 2在通信原理课程的基础上设计与分析简单的通信系统; 3学会利用MATLAB7.0编写程序进行仿真,根据实验结果能分析所设计系统的性能。 4学习MATLAB的基本知识,熟悉MATLAB集成环境下的Simulink的仿真平台。 5利用通信原理相关知识在仿真平台中设计QPSK调制与解调仿真系统并用示波器观察解调后的波形 6在指导老师的指导下,独立完成课程设计的全部内容,能正确的阐述和分析设计和实验结果。 1.2 Matlab简介 MATLAB是MATrix LABoratory的缩写,是一款由美国Math Works公司出品的商业数学软件。MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。尽管MATLAB主要用于数值计算,但是因为大量的额外

BPSK和QPSK调制解调原理及MATLAB程序

2.1 PSK调制方式 PSK原理介绍(以2-PSK为例) 移相键控(PSK)又称为数字相位调制,二进制移相键控记作2PSK。绝对相移是利用载波的相位(指初相)直接表示数字信号的相移方式。二进制相移键控中,通常用相位0 和π来分别表示“0”或“1”。2PSK 已调信号的时域表达式为s2psk(t)=s(t)cosωct, 2PSK移相键控中的基带信号与频移键控和幅度键控是有区别的,频移键控和幅度键控为单极性非归零矩形脉冲序列,移相键控为为双极性数字基带信号,就模拟调制法而言,与产生2ASK 信号的方法比较,只是对s(t)要求不同,因此2PSK 信号可以看作是双极性基带信号作用下的DSB 调幅信号。 在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。通常用已调信号载波的 0°和 180°分别表示二进制数字基带信号的 1 和 0。二进制移相键控信号的时域表达式为 e2PSK(t)=[ n n a g(t-nT s)]cosw c t 其中, an与2ASK和2FSK时的不同,在2PSK调制中,an应选择双极性。 1, 发送概率为P an= -1, 发送概率为1-P 若g(t)是脉宽为Ts, 高度为1的矩形脉冲时,则有 cosωct, 发送概率为P e2PSK(t)= -cosωct, 发送概率为1-P 由上式(6.2-28)可看出,当发送二进制符号1时,已调信号e2PSK(t)取0°相位,发送二进制符号0时,e2PSK(t)取180°相位。若用φn表示第n个符号的绝对相位,则有 0°, 发送 1 符号 φn= 180°, 发送 0 符号 由于在2PSK信号的载波恢复过程中存在着180°的相位模糊,所以2PSK信

利用MATLAB实现QPSK调制及解调

郑州轻工业学院 课程设计说明书题目:利用MATLAB实现QPSK调制及解调 姓名: 院系:电气信息工程学院 专业班级:电子信息工程09-1 学号: 540901030154 指导教师:赵红梅 成绩: 时间: 2012 年 6 月 18 日至 2012 年 6 月 22 日

郑州轻工业学院 课程设计任务书 题目利用MATLAB实现QPSK调制及解调 专业班级电子信息工程09级 1班学号 54 姓名 主要内容、基本要求、主要参考资料等: 主要内容: 已知数字信号1011000101101011,码元速率为2400波特,载波频率为1200Hz,利用MATLAB画出QPSK调制波形,并画出调制信号经过高斯信道传输后解调波形及接收误码率,将其与理论值进行比较。 基本要求: 1、通过本课程设计,巩固通信原理QPSK调制的有关知识; 2、熟悉QPSK产生原理; 3、熟悉高斯信道的建模及QPSK解调原理; 4、熟悉误码率的蒙特卡罗仿真; 5、学会用MATLAB来进行通信系统仿真。 主要参考资料: 主要参考资料: 1、王秉钧等. 通信原理[M].北京:清华大学出版社,2006.11 2、陈怀琛.数字信号处理教程----MATLAB释义与实现[M].北京:电子工业出版社,2004. 完成期限:2012.6.18—2012.6.23 指导教师签名: 课程负责人签名: 2012年6月16日

目录 一前言 (4) 1.1QPSK系统的应用背景简介 (4) 1.2 QPSK实验仿真的意义 (4) 1.3 实验平台和实验内容 (5) 1.3.1实验平台 (5) 1.3.2实验内容 (5) 二、系统实现框图和分析 (5) 2.1、QPSK调制部分, (5) 2.2、QPSK解调部分 (7) 三、实验结果及分析 (7) 3.1、理想信道下的仿真 (7) 3.2、高斯信道下的仿真 (8) 3.3、先通过瑞利衰落信道再通过高斯信道的仿真 (9) 参考文献: (11) 附录 (12)

QPSK调制解调完整程序(配有自己的注释)知识分享

Q P S K调制解调完整程序(配有自己的注释)

QPSK调制解调完整程序(配有注释) clc; clear all; %假定接收端已经实现载波同步,位同步(盲信号解调重点要解决的问题:载波同步(costas环(未见到相关代码)),位同步(Gardner算法(未见相关代码)),帧同步) % carrier frequency for modulation and demodulation fc=5e6; %QPSK transmitter data=5000 ; %码数率为5MHZ %原码个数 rand_data=randn(1,5000); for i=1:data if rand_data(i)>=0.5 rand_data(i)=1; else rand_data(i)=0; end end %seriel to parallel %同时单极性码转为双极性码 for i=1:data if rem(i,2)==1 if rand_data(i)==1 I(i)=1; I(i+1)=1; else I(i)=-1; I(i+1)=-1; end else if rand_data(i)==1 Q(i-1)=1; Q(i)=1; else Q(i-1)=-1; Q(i)=-1; end

end end % zero insertion ,此过程称为成形。成形的意思就是实现由消息到波形的转换,以便发射,脉冲成形应该是在基带调制之后。 zero=5; %sampling rate 25M HZ ,明白了,zero为过采样率。它等于采样率fs/码速率。 for i=1:zero*data % 采样点数目=过采样率*原码数目 if rem(i,zero)==1 Izero(i)=I(fix((i-1)/zero)+1); Qzero(i)=Q(fix((i-1)/zero)+1); else Izero(i)=0; Qzero(i)=0; end end %pulse shape filter,接着,将进行低通滤波,因为随着传输速率的增大,基带脉冲的频谱将变宽 %如果不滤波(如升余弦滤波)进行低通滤波,后面加载频的时候可能会出现困难。 %平方根升余弦滤波器 % psf=rcosfir(rf,n_t,rate,fs,'sqrt') rate:过采样率,rf:滚降因子,n_t:滤波器阶数,fs:采样率 %用在调制或发送之前,用在解调或接受之后,用来降低过采样符号流带宽并不引发ISI(码间串扰) NT=50; N=2*zero*NT; % =500 fs=25e6; rf=0.1; psf=rcosfir(rf,NT,zero,fs,'sqrt');% psf大小为500

MATLAB QPSK调制与解调

实验名称:QPSK调制与解调 一、实验目的: 1、学会QPSK调制与解调系统的构成 2、学会QPSK调制与解调系统的各模块的构建 3、学会误码率与误符号率的统计方法以及Matlab算法 二、实验原理: 1、QPSK:四进制绝对相移键控,也称为多进制数字相位调制,利用载波的四种不同相位状态来表征数字信息的调制方式。 2、QPSK的调制方法有正交调制方式(双路二相调制合成法或直接调相法)、相位选择法、插入脉冲法。 调制与解调系统的构成: 3、各模块的实现方法:

(1)、信源的产生:使用randint(m,n,2) 函数产生一个m 行n 列的随机二进制数列 (2)、QPSK 符号映射 :将产生的0,1比特流按照QPSK 调制方式进行映射,本实验采用π/4 QPSK 的调制方式,图为: (3)、AWGN 信号产生:AWGN 产生器就是产生满足均值为0,方差为1的高斯白噪声。实验中使用randn(m,n)函数产生一个m 行n 列的高斯噪声序列。 (4)、信号幅度控制:根据AWGN 信道模型,接收信号可以分别表示为 α就是当噪声功率归一化为1(0均值,方差为1)时,根据信噪比关系而计算出来的信号平均幅度 I I I r s n α=+Q Q Q r s n α=+22210log 10^10s s n n v SNR SNR v sqrt v v ??????=?=* ? ? ???????

(5)、QPSK 反映射及判决 :对接收到的信号在4种可能的四种信号向量[(1,0), (0,1), (-1,0), (0,-1)]上投影(即进行点积)。投影最大的值所对应的信号向量就是所发送信号的符号值,然后恢复出比特流 (6)、误码率及误符号率统计: 误码率:将检测出来的比特流和发送的原始比特流进行比较,统计出出现错误的比特数 误符号率:将检测出来的比特流变成两组,构成符号,和发送端符号映射后的符号流进行比较,只要符号中任错一bit ,就算该符号出错。统计出现错误的符号数 三、 实验内容: 1、建立QPSK 的Matlab 仿真模型 2、对仿真模型中各个组成部分进行函数设计和功能仿真 randn('seed',10);mark=randn(1,LENGTH); subplot(2,2,1);plot(mark);title('watermarc:Gaussian noise'); 3、成型滤波器的设计 4、带限信道中的QPSK 调制解调 四、实验步骤: 1、开机,设置好本次仿真目录 2、进入matlab 环境,设置工作路径和目录 3、按照实验方法,一步步进行QPSK 各个模块的设计 s v α=

实验九 QPSK调制与解调

实验九、QPSK 、QDPSK 调制与解调 一、实验目的 1、掌握QPSK 调制与解调的基本原理及实现方法。 2、掌握QDPSK 调制与解调的基本原理及实现方法。 3、分析QPSK 、QDPSK 系统的有效性和可靠性。 二、实验原理 为提高通信的有效性,最常用的办法的是采用多进制的数字调制。MPSK 和MDPSK 就是多进制的数字相移键控即多相制信号,前者称为多进制绝对相移键控,后者称为多进制相对(差分)相移键控,它们都用M 个相位不同的载波来表示M 个不同的符号。一般来说,有n M 2=,因此,一个符号可以代表n bit 的二进制码元。 1、QPSK 信号分析 QPSK (Quadrature Phase Shift Keying ,正交相移键控)又叫四相绝对相移键控(4PSK ),它利用载波的四种不同相位来表征数字信息。由于每一种载波相位代表2bit 信息,故每个四进制符号又被称为双比特码元。把组成双比特码元的前一信息比特记为a 码,后一信息比特记为b 码,为使接收端误码率最小化,双比特码元(a ,b )通常按格雷码(Gray code )方式排列,即任意两个相邻的双比特码元之间只有一个比特发生变化。图9.1给出了双比特码元(a ,b )与载波相位的对应关系,其中图(a )表示A 方式,图(b )表示B 方式。 图9.1 QPSK 信号相位矢量图 (a )A 方式(2/π系统) (b )B 方式(4/π系统)

根据相位矢量图,得到双比特码元与载波相位之间的对应关系,如表9.1所示。 A 方式的QPSK 信号可表示为 )2 cos()cos()(πωθωn t t t s c n c +=+=,3 ,2 ,1 ,0=n B 方式的QPSK 信号可表示为 )4 1 2cos()cos()(πωθω++ =+=n t t t s c n c ,3 ,2 ,1 ,0=n 由于QPSK 信号普遍采用正交调制(又称IQ 调制)法产生,故QPSK 信号统一表示为 t Q t I t t s c c n c ωωθωsin cos )cos()(?-?=+= 这样,将a 码送入I 路,b 码送入Q 路,然后将I 路信号与载波t c ωcos 相乘,Q 路信号与正交载波t c ωsin 相乘,之后通过加法器相加,即可得到QPSK 信号。 2、QPSK 调制 以B 方式为例,QPSK 信号的产生方法有两种:一是正交调制法,二是相位选择法。 (1)正交调制(IQ 调制)法 二进制调相信号通常采用键控法,而多进制调相信号普遍采用IQ 调制法产生。正交调制法产生QPSK 信号的原理框图如图9.2所示,它可以看成由两个2PSK 调制器构成,上支路将a 码与余弦载波相乘,下支路将b 码与余弦载波相乘,这样产生载波相互正交的两路2PSK 信号,再将这两路信号相加,通过矢量合成便是QPSK 信号。 图9.2 正交调制法产生QPSK 信号 (a )原理框图 (b )矢量合成原理 图中输入的数字基带信号)(t A 是二进制的单极性不归零码,通过“串/并变换”电路变成并行的两路码元a 和b 后,其每个码元的传输时间是输入码元的2倍,且单极性信号将变为双极性信号。其变换关系式将“1”变为“+1”、“0”变为“-1”。“串/并变换”过程如图9.3所示,图中0、1、2等表示为二进制基带码元的序号。 从电路实现的角度看,串并变换实现了双比特码元和I 、Q 两路信号幅度之间的映射,如表9.2所示。IQ 信号幅度只有2种取值,设为2/1是为了保证输出QPSK 信号幅度为1。 ) 1(a )0(a ) 1(b ) 0(b ) 1 ,1() 0 ,0() 0 ,1() 1 ,0(

相关主题