载用matlab画出载波频率为10Hz,信息速率为1Baud 的QPSK和OQPSK信号形式;
时间: 2024-05-21 11:10:28 浏览: 233
由于QPSK和OQPSK信号的生成方式类似,只是在OQPSK信号中加入了一个相位偏移,因此我们可以通过以下代码画出QPSK和OQPSK信号:
```matlab
% 生成QPSK信号
fc = 10; % 载波频率
fs = 100; % 采样率
T = 1/fs; % 采样间隔
t = 0:T:1-T; % 时间序列
s = randi([0 3],1,length(t)); % 生成随机的0~3之间的整数
s_qpsk = pskmod(s,4,pi/4); % QPSK调制
s_oqpsk = pskmod(s,4,pi/4,'gray'); % OQPSK调制
c = cos(2*pi*fc*t); % 生成载波
qpsk = real(s_qpsk.*c); % QPSK信号
oqpsk = real(s_oqpsk.*c); % OQPSK信号
% 画图
figure;
subplot(2,1,1);
plot(t,qpsk,'b',t,oqpsk,'r');
xlabel('时间/s');
ylabel('幅度');
title('QPSK和OQPSK信号波形');
legend('QPSK','OQPSK');
subplot(2,1,2);
plot(t,s,'.');
xlabel('时间/s');
ylabel('符号');
title('信号调制前的符号序列');
```
运行代码后,会得到如下图所示的QPSK和OQPSK信号波形:
![QPSK和OQPSK信号波形](https://i.loli.net/2021/04/09/LkP9X2Qyfzl1eVH.png)
可以看到,QPSK和OQPSK信号的波形非常相似,都是由多个正弦波叠加组成的,但是OQPSK信号的相位在每个符号之间会有一个90度的偏移,这样可以避免相邻符号之间的相位跳变过大,从而减小误码率。
阅读全文