用matlab写2psk调制和解调的仿真程序
时间: 2023-08-26 10:27:37 浏览: 50
好的,下面是一个简单的2PSK调制和解调的Matlab仿真程序:
调制部分:
```matlab
% 2PSK调制
M = 2; % 调制方式
fc = 10; % 载波频率
fs = 1000; % 采样频率
T = 1/fs; % 采样时间间隔
N = 1000; % 采样点数
t = (0:N-1)*T; % 时间序列
b = randi([0 M-1],1,N); % 随机生成数字信号序列
s = exp(1j*(2*pi*fc*t+pi*(b-1))); % 2PSK调制信号
figure;
subplot(211);plot(t,b);title('数字信号');
subplot(212);plot(t,real(s));title('2PSK调制信号');
```
解调部分:
```matlab
% 2PSK解调
M = 2; % 调制方式
fc = 10; % 载波频率
fs = 1000; % 采样频率
T = 1/fs; % 采样时间间隔
N = 1000; % 采样点数
t = (0:N-1)*T; % 时间序列
b = randi([0 M-1],1,N); % 随机生成数字信号序列
s = exp(1j*(2*pi*fc*t+pi*(b-1))); % 2PSK调制信号
n = randn(1,N); % 加入高斯白噪声
r = s + n; % 接收信号
demod = real(r.*exp(-1j*2*pi*fc*t)); % 解调信号
figure;
subplot(311);plot(t,b);title('数字信号');
subplot(312);plot(t,real(s));title('2PSK调制信号');
subplot(313);plot(t,demod);title('2PSK解调信号');
```
以上代码中,调制部分生成随机的数字信号序列,并将其进行2PSK调制生成调制信号;解调部分将接收到的信号与本地的载波进行相乘,得到解调信号,并绘制数字信号、调制信号和解调信号的波形图。