通信基础-Matlab数字调制

数字信号调制

参数及之间的关系

  • :载波频率
  • :采样频率
  • :一个符号采样多少个点
  • :表示截断的符号范围,对滤波器取了几个符号的长度

其中,

image-20220509144938392

基带信号产生

产生随机数,阶数

msg=randi([0 M-1],1,100);

星座图映射

msgmod=pskmod(msg,M);

成型滤波

插值

msgmod = [msgmod;zeros(sps-1, length(msgmod))];
msgmod = reshape(msgmod, 1, sps*length(msgmod));

设计滤波器

h = rcosdesign(0.35, span, sps);

滤波

msgmod = filter(h, 1, msgmod);% 使用filter函数滤波

上变频

t=(0:1:length(msgmod)-1)/fs;   
carry_c=exp(1i*2*pi*fc*t);   %载波信号
y=real(msgmod.*carry_c);               %上变频

Result

clear;clc;close all;
%% BPSK 调制
M=2; %BPSK
fc=7000;                      %载波频率
sps = 4;
span = 6;
fb = 1000; % 符号速率1e4
fs = sps*fb;

snr_dB=2000;                              %信噪比
msg=randi([0 M-1],1,100);   
msgmod=pskmod(msg,M);                %基带2-PSK调制

% figure(1)
% plot(abs(fft(msgmod)));
msgmod = [msgmod;zeros(sps-1, length(msgmod))];
msgmod = reshape(msgmod, 1, sps*length(msgmod));

h = rcosdesign(0.35, span, sps);

msgmod = filter(h, 1, msgmod);% 使用filter函数滤波

t=(0:1:length(msgmod)-1)/fs;   
carry_c=exp(1i*2*pi*fc*t);   %载波信号
y=real(msgmod.*carry_c);               %上变频

figure(1)
plot((-length(y)/2:length(y)/2-1)/length(y)*fs, fftshift(abs(fft(y))))

202205093


本文作者: Joffrey-Luo Cheng
本文链接: http://lcjoffrey.top/2022/05/09/modualtion-matlab/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!