• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: Matlab
  • 标签: 8PSK  

资源简介

对随机0、1信号采用8PSK调制方式,采用升余弦脉冲,将输入信号调制到合适的载频上

资源截图

代码片段和文件信息

clear all;
clc;

%% parameters
nsymbol=3000000;
M=8;
Rb=64000;            % 比特率 Rb=32kb/s
Rs=Rb/log2(M);       % 码率 Rs=8k Baud/s
Ts=1/Rs;              % 每码元持续时间,码元周期
f_carrierwave=2*Rs;%载波频率
filt_sample_ratio=20;%此参量用在平方根余弦滤波器。为了在载波调制时方便(连续变成离散)filt_sample_ratio为载波频率 中的4(几倍码元)的倍数关系
t_cansee=Ts/filt_sample_ratio;%为程序中空口的离散两点中的时间间隔,也即是我们程序中可以看到的最小时间单元
EsN0=5:20;%单位为db
snr1=10.^(EsN0/10);%单位为比例。Es/N0,信噪比转化为线性值
%square-root raised cosine pulse shaping parameters
Fd = Rs;
Fs = filt_sample_ratio*Fd;
rolloff=0.25;
delay=3;
%% source
msg=randint(1nsymbolM);

%% baseband modulation based on 16-PSK with Gray mapping 将16进制数gray映射到16psk星座图上
msgmod=pskmod(msgM0‘gray‘).‘;

%% square-root raised cosine pulse shaping
rolloff=0.25;
delay=3;
rrcfilter = rcosine(Fd Fs ‘fir/sqrt‘rolloff delay);
figure(1)
impz(rrcfilter1);
[psk_trans_ro ty] = rcosflt(msgmodFdFs‘filter‘rrcfilter);
tx=real(psk_trans_ro.*(exp(j*2*pi*f_carrierwave*ty‘)));
figure(2);
% td=delay:length(msgmod)+delay-1;
%     stem(td*Tsreal(msgmod)‘r‘);
%     hold on
plot(ty imag(psk_trans_ro)‘-*‘);
xlabel(‘时间(单位 s)‘);
ylabel(‘幅度‘);
title(‘经过发送滤波器前后的8PSK数据的Q路信号‘);
xlim([0 0.001])
figure(3);
%subplot(211);
plot(tytx);
xlabel(‘时间(单位 s)‘);
ylabel(‘幅度‘);
title(‘40KHZ高频调制后的8PSK带通信号时域图‘);
xlim([0 0.005]);
L=length(tx);
NFFT = 2^nex

评论

共有 条评论