DPSK差分相干解调在matlab中的应用
时间: 2023-08-14 09:04:18 浏览: 56
DPSK差分相干解调是一种数字通信中常用的解调技术,它可以通过相邻符号之间的相位差来判断发送符号的信息。在Matlab中,实现DPSK差分相干解调的步骤如下:
1. 将接收信号进行采样,并进行低通滤波,以获得基带信号。
2. 将基带信号进行差分,得到相邻符号之间的相位差。
3. 对相位差进行判决,以得到发送符号的信息。
具体实现的代码如下:
```matlab
% 采样并低通滤波得到基带信号
fs = 1000; % 采样率为1000Hz
fc = 100; % 信号频率为100Hz
t = 0:1/fs:1; % 时间序列
x = cos(2*pi*fc*t); % 发送信号
y = awgn(x,10); % 加入高斯白噪声
h = fir1(10,0.2); % 低通滤波器
z = filter(h,1,y); % 低通滤波后的基带信号
% 对基带信号进行差分解调
theta = angle(z(2:end).*conj(z(1:end-1))); % 相邻符号之间的相位差
s = zeros(size(z));
s(1) = 1; % 初始符号为1
for i = 1:length(theta)
if theta(i) > 0
s(i+1) = s(i);
else
s(i+1) = -s(i);
end
end
% 绘制发送信号、接收信号和解调后的信号
subplot(3,1,1);plot(t,x);title('发送信号');
subplot(3,1,2);plot(t,y);title('接收信号');
subplot(3,1,3);plot(t,s(1:end-1));title('解调后的信号');
```
运行上述代码可以得到发送信号、接收信号和解调后的信号的波形图,从中可以看出解调后的信号与发送信号基本一致,说明DPSK差分相干解调的效果较好。