BPSK和QPSK调制解调原理与MATLAB程序
- 格式:docx
- 大小:58.78 KB
- 文档页数:9
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) =[ an g(t-nT s )] coswt
n 其中 , an 与 2ASK和 1, 2FSK时的不同,在 发送概率为 2PSK调制中,
P
an 应选择双极性。
an= 若 g(t) -1, 是脉宽为 Ts, 高度为 cosω ct, 发送概率为 1-P 1 的矩形脉冲时,则有 发送概率为 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信 号的相干解调存在随机的“倒 π”现象,从而使得 2PSK方式在实际中很少采用。
为了解决 2PSK 信号解调过程的反向工作问题, 提出了二进制差分相位键控
(2DPSK),这里不再详述。 2-PSK调制解调 二进制移相键控信号的调制原理 : 如图 9 所示。 其中图 (a) 是采用模拟调制
的方法产生 2PSK信号,图 (b) 是采用数字键控的方法产生 2PSK信号。
解调器原理 : 如图 10 所示。 2PSK 信号的解调通常都是采用相干解调, 在 相干解调过程中需要用到与接收的 2PSK信号同频同相的相干载波。
双极性不归零 s(t) e2PSK(t) 码型变换 乘法器
cos(wct) (a) 模拟调制产生 2PSK信号 开关电路 0 度 cos(wct) e2PSK(t)
180 度
180 度移相 s(t)
(b) 数字键控的方法产生 2PSK信号
图 9 2PSK 信号的调制原理图
带通 e2PSK(t) 滤波器
a c 低通
相乘器 滤波器
b cos(wct)
d 抽样 e
判决器 输出 定时 脉冲
图 10 2PSK信号的解调原理图
1 1 1 0 0 1 0 0 a
b c d
e 图 11 2PSK 信号相干解调各点时间波形
就键控法来说 , 用数字基带信号 s(t) 控制开关电路 , 选择不同相位的载波输出 , 这时 s(t) 为单极性 NRZ或双极性 NRZ 脉冲序列信号均可。 当基带信号为 0
时候 , 连通开关 0, 产生无差别的载波 , 当所发出的信号为 1 时 , 既连通开关 П改 变载波的相位。在移相键控中还有一种差分移相键 , 他和普通的移相键控区别在 与 , 差分移相键只有在当前传输的码元和上次传输的码元产生差别时才会产生相 位的变化。移相键控相对与幅度键控和移频键控有着更好的抗干扰性 , 也更适合于在信道中传输。
QPSK调制 QPSK信号可以看作两个载波正交 2PSK信号的合成。 用调相法产生 QPSK调制器框图如图 12 所示,QPSK的调制器可以看作是由 两个 BPSK调制器构成,输入的串行二进制信息序列经过串并变换,变成两路速 率减半的序列,电平发生器分别产生双极性的二电平信号 I (t )和 Q( t ),然后 对 cosAt ω 和 sinAt ω 进行调制,相加后即可得到 QPSK信号
I(t) 电平产生 Acos(wt)
载波 二进制信息 发生器 输出 QPSK 信号
串并转换
电平产生 移相 90度 Q(t) Asin(wt)
图 12 QPSK调制器框图 QPSK解调
QPSK 信号的解调原理如图 3-5 的方框图所示。 解调是从已调信号中提
取信号的过程,在某种意义上解调是调制的逆过程。由于 QPSK 信号可以看作是两正交 2PSK 信号的叠加,故用两路正交的相干载波去解调, 这样能 够很容易地分离出这两路正交的 2PSK 信号。相干解调后的两路并行码元 a 和 b 经过“并 /串”转换后成为串行数据输出。
相乘 低通 抽判 cos 0t a
载波
s(t) 提取 定时 A(t)
/2 提取 并 / 串
-sin 0t
b
相乘 低通 抽判 图 3-5 QPSK 信号解调原理方框图 BPSK调制解调程序
%构造载波,产生 8 个码元,生成已调信号 %
a=randsrc(1,8,[0:1]);% 产生 8 个随机的二进制数 l=linspace(0,2*pi,50);% 利用 linspace 函数创建数组 ,2pi 长度取点 50 个模拟一个码元 f=sin(2*l);% 生成载波 t=linspace(0,10*pi,400);% 定义时轴 length 为 10pi,取点 400 个,代表 8 个码元的总取样点数
out=1:400;% 规定已调信号 length b=1:400;% 规定基带信号 length w=1:400;% 规定载波 length %生成 PSK 信号 % for i=1:8 if a(i)==0 for j=1:50 out(j+50*(i-1))=f(j); % 若码元为 0 则将载波输出
end else for j=1:50 out(j+50*(i-1))=-f(j); % 若码元为 1 则将载波反相输出 end end end %输出载波和基带信号 % for i=1:8 for j=1:50 b(j+50*(i-1))=a(i); %b 作为调制信号输出
作为载波输出 end end subplot(3,3,1),plot(t,b),axis([0 10*pi -0.5 1.2]), xlabel('t'),ylabel(' 幅度 '),title(' 基带信号 ');grid on; subplot(3,3,2),plot(t,w),axis([0 10*pi -1.2 1.2]), xlabel('t'),ylabel(' 幅度 '),title(' 载波 '); grid on; subplot(3,3,3),plot(t,out),axis([0 10*pi -1.2 1.2]),xlabel('t'),ylabel(' 幅度 '),title('PSK 波形 ');grid on; %已调信号加入高斯白噪声 % noise=awgn(out,80,'measured') ; %产生噪音并加入到已调信号 out 中 ,信噪比 80 subplot(334); plot(t,noise); ylabel(' 幅度 ');title(' 噪音 +信号 '); xlabel('t'); axis([0 10*pi -1.2 1.2]); grid on; %信号通过 BPF% Fs=400; % 抽样频率 400HZ t=(1:400)*10*40/Fs; % 时轴步进 [b,a]=ellip(4,0.1,40,[10,25]*2/Fs); % 设计 IIR-BPF sf=filter(b,a,noise); % 信号通过该滤波器 subplot(335); plot(t,sf); % 画出信号通过该 BPF 的波形 xlabel('t'); ylabel(' 幅度 ');title(' 通过 BPF 后的波形 '); axis([0 10*pi -1.2 1.2]);grid on; %信号经过相乘器 %
f=[f f f f f f f f]; %%调整载波函数的长度,与 BPF 输出函数统一 length s=sf.*f;% 信号与载波相乘
s=(-1).*s; subplot(336); plot(t,s);% 画出信号通过该相乘器的波形 xlabel('t'); ylabel(' 幅度 ');title(' 通过相乘器后波形 '); axis([0 10*pi -1 1]);grid on; %信号通过 LPF% Fs=400; % 抽样频率 400HZ
t=(1:400)*10*pi/Fs; [b,a]=ellip(4,0.1,40,[10]*2/Fs); %时轴步进
% 设计 IIR-LPF sf=filter(b,a,s); %信号通过该滤波器
subplot(337); plot(t,sf); % 画出信号通过该低通滤波器的波形
xlabel('t'); ylabel(' 幅度 ');title(' 通过 LPF 后的波形 ');
axis([0 10*pi -1 1]);grid on; %抽样判决 % b=0.26; % 设置判决门限
for i=1:8 for j=1:50 if sf(j+50*(i-1))>b sf(j+50*(i-1))=1; % 若 sf> 判决门限,说明此时码元为
1
else