1、n=180 . 发送0符号由于在2PSK信号的载波恢复过程中存在着180。的相位模糊,所以2PSK信 号的相干解调存在随机的倒n ”现象,从而使得2PSK方式在实际中很少采用。 为了解决2PSK信号解调过程的反向工作问题,提出了二进制差分相位键控 (2DPSK),这里不再详述。2-PSK调制解调二进制移相键控信号的调制原理:如图9所示。其中图(a)是采用模拟调制 的方法产生2PSK信号,图(b)是采用数字键控的方法产生2PSK信号。解调器原理:如图10所示。2PSK信号的解调通常都是采用相干解调,在 相干解调过程中需要用到与接收的2PSK信号同频同相的相干载波。(b)数字键控的方法产生2PSK
2、信号图9 2PSK信号的调制原理图图10 2PSK信号的解调原理图图11 2PSK信号相干解调各点时间波形就键控法来说,用数字基带信号s(t)控制开关电路,选择不同相位的载波 输出,这时s(t)为单极性NRZ或双极性NRZ脉冲序列信号均可。当基带信号为0 时候,连通开关0,产生无差别的载波,当所发出的信号为1时,既连通开关II改 变载波的相位。在移相键控中还有一种差分移相键,他和普通的移相键控区别在 与,差分移相键只有在当前传输的码元和上次传输的码元产生差别时才会产生相 位的变化。移相键控相对与幅度键控和移频键控有着更好的抗干扰性,也更适合 于在信道中传输。QPSK调制QPSK信号可以看作两个
3、载波正交2PSK信号的合成。用调相法产生QPSK调制器框图如图12所示,QPSK的调制器可以看作是由 两个BPSK调制器构成,输入的串行二进制信息序列经过串并变换,变成两路速 率减半的序列,电平发生器分别产生双极性的二电平信号I (t)和Q (t),然后 对cosAt w和s i nAt 3进行调制,相加后即可得到QPSK信号二进制信息图12 QPSK调制器框图QPSK解调QPSK信号的解调原理如图3-5的方框图所示。解调是从已调信号中提 取信号的过程,在某种意义上解调是调制的逆过程。由于QPSK信号可以看 作是两正交2PSK信号的叠加,故用两路正交的相干载波去解调,这样能够 很容易地分离出这
4、两路正交的2PSK信号。相干解调后的两路并行码元a和 b经过“并/串”转换后成为串行数据输出。图3-5 QPSK信号解调原理方框图BPSK调制解调程序%构造载波,产生8个码元,生成已调信号a=randsrc(l,8, 0:1);%产生8个随机的二进制数1=1 in space (0,2*pi, 50);%利用1 inspace函数创建数组,2pi长度取点50个模拟一个码元f= sin(2*l);%生成载波t=linspace(0,10*pi,400) ;%定义时轴length为10pi,取点400个,代表8个码元的总取样 点数out=l:400;%规定已调信号lengthb二1:400;%规定
5、基带信号lengthw=l:%规定载波 length%生成PSK信号for i=l:8if a(i)=0for j=l:50out(j+50*(i-l)=f(j); %若码元为0则将载波输出endelsefor j=l:out(j+50*(i-l)=-f(j); %若码元为1则将载波反相输出%输出载波和基带信号for i=l:b(j+50*(i-l)=a(i) ; %b作为调制信号输出 w(j+50*(i-l)=f(j); %w 作为载波输出 endsubplot(3,3,1) plot(ttb) ,axis(0 10*pi ) . xlabel (* tf). ylabel (幅度 r) t
6、title(r基带信号);grid on;subplot (3,3,2) ,plot(trw) ,axis(0 10*pi ). xlabel ( t, ylabel (幅度title( 载波);subplot(3,3,3).plot(t,out),axis(0 10*pi ),xlabelCt),ylabel(* 幅 度f) , title(*PSK 波形*) ;%已调信号加入高斯白變声no i se=awgn (out, 80, measured) ; %产生噪音并加入到已调信号out中,信噪比80subplot(334);plot(t,noise):ylabel C 幅度title(噪音
7、+信号);xlabel (* t1); xlabel(rt*) ; ylabel (幅度通过 BPF 后的波形axis(0 10*pi ):%信号经过相乘器f=f f f f f f f fl; 勰调整载波函数的长度,与BPF输出函数统一lengths=sf. *f;%信号与载波相乘s=(T) *s;subplot(336);plot(tfs) ;%画出信号通过该相乘器的波形xlabel (r t*): ylabel C 幅度title( 通过相乘器后波形 axis(O 10*pi -1 1);%信号通过LPF%Fs=400;t= (1:400)*10*pi/Fs;力抽样频率400HZ%时轴步
8、进b,a=ellip(4,t40,10*2/Fs);sf=filter(b,ats);subplot(337);%设计 IIR-LPF%信号通过该滤波器plot(t,sf); %画出信号通过该低通滤波器的波形xlabel (r t*); ylabel (9 幅度);通过 LPF 后的波形axis(0 10*pi -1 1);%抽样判决 b=;%设置判决门限if sf(j+50*(i-l)bsf(j+50*(i-l)=l;%若30判决门限,说明此时码元为1sf(j+50*(i-l)=0;%若5代判决门限,说明此时码元为0subplot(338); plot(t,sf);%画出信号通过抽样判决器的
9、波形xlabel (r t*) ; titleC抽样判决后波形 axis (3 10*pi );QPK调制解调程序(1)调制%调相法clear al 1close al 1t=-l::;tt=length(t): xl=ones(1,800); for i=l:ttif (t(i)=-l & t(i)=5&=7);else xl(i)=-l;tl=O::t2=0:;t3=-l: i=l:ttlif (tl(i)=0 & tl(i)=4&=8);x2(i)=l;else x2(i)=-l;f=O:l;xrc=+*cos(pi*f);yl=conv(xl,xrc)/;y2=conv(x2,xrc)
10、/;nO二:randn(size(t2);fl=l;i=xl. *cos(2*pi*fl*t);q=x2.*sin(2*pi*fl*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)+nO;jnl=randn(size (t2);i rc=yl. *cos(2*pi*fl*t3):q rc=y2. *sin(2*pi*fl*t4);I rc=i rc (101:800):Q rc=q rc(l:700);QPSK rc=(sqrt(1/2). *1
11、rc+sqrt(1/2). *Q rc):QPSK rc.nl=QPSK rc+nl;figure(l)subplot (4,1,1):plot(t3, i_rc):axis(-l 8 T 1) ; y label (ra 序列);subplot (4,1,2): plot(t4,q rc) ;axis(-l 8 -1 1) ; ylabel (rb 序列subplot (4,1,3): plot (t2.QPSK_rc):axis(-l 8 -1 1) :ylabeK* 合成序列 subplot (4,1,4): plot (t2, QPSK rc.nl):ylabel (r 加入噪声(2)
12、解调%设定T=l,不加噪声clear allclose all%调制bit in = randint(le3t 1, 0 1):bit.I = bit_in(l:2:le3);bit_Q = bit.in(2: data I = -2水bit 1+1;data Q = -2水bit_Q1;data Il=repmat(data I 20,1); data Ql=repmat(data Qr,20,1):le4data_I2(i)=data II (i);data Q2(i)-data QI(i): end;t=0:f=0:l;data 12 rc=conv(data 12,xrc)/; dat
13、a Q2 rc=conv(data Q2.xrc)/; fl=l;tl=0:le3+;I rc=data 12 rc. *cos(2*pi*fl*tl):Q rc=data Q2 rc. *sin(2*pi*fl*tl):QPSK_rc=(sqrt (1/2). *1 rc+sqrt(l/2). *Q rc);%解调I demo二QPSK rc. *cos(2*pi*fl*t1):Q demo二QPSK rc. *sin(2*pi*fl*t1):I recover=conv(I demotxrc):Q recover=conv(Q demo,xrc):1=1 recover(11:10010)
14、:Q二Q recover(11:t3=0: data recover=;20:10000 data_recover=data_recover I(i:1:i+19) Q(i:i+19);end;ddd = -2*bit in+1;dddl=repmat(ddd,10.1);ddd2(i)=dddl(i); plot(t3,1) ;axis(0 20 -6 6) ; y label (r 解调后奇位); plot(t3.Q): axis (0 20 -6 6) ; ylabel (9 解调后偶位);plot(t2,data recover) ;axis(0 20 -6 6); ylabel C 解调后序列 subplot (4,1,4); plot (trddd2):原始序列