⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qpsk.m

📁 cdma 系统级仿真
💻 M
字号:
%QPSK调制
%以码元速率1.2288M为例,已生成QPSK和OQPSK信号,为缩短计算时间,只研究i路频谱
clc;%清除命令窗口
clear all;%清除工作空间workspace,以释放内存
%生成随机数
%以下为QPSK调制
x_length=3000;                       %  信息码元个数
Rb=1228800/2;%码元速率1.2288M
k=1;                %一个码元间隔包括1个载波周期/2
fc=k*Rb;                             %  载波频率,
fs=fc*16;                             %  信号采样率
x_size=k*fs/fc;
y=1:x_size;                         %  采样时间序列,每个码元采x_size点
x_i=randsrc(1,x_length,[-1,1]);%sign(rand(1,x_length)-0.5);       正负号函数sign,产生随机码
%x_q=randsrc(1,x_length,[-1,1]);
for i=1:x_length
    baseband_i(1,1+(i-1)*x_size:i*x_size)=x_i(i);%将码元展宽x_size倍
%    baseband_q(1,1+(i-1)*x_size:i*x_size)=x_q(i);%将码元展宽x_size倍
end
%将i路提前半个码元,相当于将q路延迟半个码元
%basefore_i=zeros(1,length(baseband_i));
%basefore_i(1:length(baseband_i)-x_size/2)=baseband_i(x_size/2+1:length(baseband_i));
%产生载波
carry_i(1:x_length*x_size)=cos(2*pi*fc*(1:x_length*x_size)/fs+pi/4); 
%carry_q(1:x_length*x_size)=sin(2*pi*fc*(1:x_length*x_size)/fs+pi/4); 
%BPSK调制
s_i=baseband_i.*carry_i;
%s_q=baseband_q.*carry_q;
%sfore_i=basefore_i.*carry_i;
%输出QPSK信号
%sqpsk=s_i+s_q;
%soqpsk=sfore_i+s_q;

%调制信号的付利叶变换
fft_s_i=abs(fft(s_i));             
n=size(s_i,2);     %FFT后数据点数目
f=1:fs/n:fs;
m=fc/fs*n*2;       %此处m=fs/4=2fc

%基带信号的付利叶变换
fft_baseband_i=abs(fft(baseband_i));             
n=size(baseband_i,2);     %FFT后数据点数目
f=1:fs/n:fs;
m=fc/fs*n*2;       %此处m=fs/4=2fc
 %图2,调制信号频谱图
figure(1)
subplot(2,1,1)
plot(f(1,1:m),fft_s_i(1,1:m))
title('信号频谱(BPSK)')
grid on
subplot(2,1,2)
plot(f(1,1:m),fft_baseband_i(1,1:m))
title('基带信号频谱')
grid on

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -