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

📄 mod_qpsk.m

📁 QPSK调制matlab程序 包括基带成型滤波器 (升余弦滤波器)
💻 M
字号:
function mod_seq=mod_qpsk(seq,Fb,Fc,Fs,base_shape)
%				mod_seq=mod_qpsk(seq,Fb,Fc,Fs)
%				MOD_QPSK	the function complete QPSK modulation for the
%				input data sequence:seq, Fb is the data rate, Fc is the
%				carrier frequency, Fs is the sampling frequency
%				mod_seq is the output sequence with length of (length(seq)/2)*Fs/Fd
%               分为IQ两路正交调制,基带波形为升余弦,seq: [-1 1]
%               05.3.28增加参数 base_shape, 可选择基带波形:矩形(默认)和升余弦

if nargin < 5
    base_shape = '';
end;

Rb=2*Fb;			% bit rate

T_interval=length(seq)/Rb;

M=length(seq);
i_seq=seq(1:2:M-1);    % 前提:M为偶数长序列
q_seq=seq(2:2:M);

ratio=Fs/Fb;
iseq_sampled=zeros(1,length(i_seq)*ratio);
qseq_sampled=zeros(1,length(q_seq)*ratio);
for i=1:length(i_seq),
	iseq_sampled((i-1)*ratio+1:i*ratio)=i_seq(i);
end;
for i=1:length(q_seq),
	qseq_sampled((i-1)*ratio+1:i*ratio)=q_seq(i);
end;

if strcmp(base_shape,'rcos')
    %% raised cosine pulse 
    alpha=0.5;
    iseq_filtered=rcos_shaped(iseq_sampled,Fb/2,Fs,alpha);
    qseq_filtered=rcos_shaped(qseq_sampled,Fb/2,Fs,alpha);
else
    %% rectangle pulse------default
    iseq_filtered=iseq_sampled;
    qseq_filtered=qseq_sampled;
end;

Ts=1/Fs;
t=0:Ts:T_interval-Ts;
mod_seq=iseq_filtered.*cos(2*pi*Fc*t)-qseq_filtered.*sin(2*pi*Fc*t);

⌨️ 快捷键说明

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