• 大小: 128KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Matlab
  • 标签: 数字通信  4psk  qpsk  

资源简介

数字通信仿真MATLAB,4PSK和QPSK调制及成型滤波器sinc

资源截图

代码片段和文件信息

clc;
clear;
%% 比特序列产生
N = 20;             %设置比特序列的长度
x = randi(21N)-1;
%x = [1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1]
I_4PSK = zeros(1N/2);
Q_4PSK = zeros(1N/2);
I_QPSK = zeros(1N/2);
Q_QPSK = zeros(1N/2);

%% 4PSK编码
for m=1:N/2
    if((x(2*m-1)==0)&&(x(2*m)==0))
        I_4PSK(m) = 1;
        Q_4PSK(m) = 0;
    end
    if((x(2*m-1)==1)&&(x(2*m)==0))
        I_4PSK(m) = 0;
        Q_4PSK(m) = 1;
    end
    if((x(2*m-1)==1)&&(x(2*m)==1))
        I_4PSK(m) = -1;
        Q_4PSK(m) = 0;
    end
    if((x(2*m-1)==0)&&(x(2*m)==1))
        I_4PSK(m) = 0;
        Q_4PSK(m) = -1;
    end
end

%% QPSK编码
for m=1:N/2
    if((x(2*m-1)==0)&&(x(2*m)==0))
        I_QPSK(m) = 1;
        Q_QPSK(m) = 1;
    end
    if((x(2*m-1)==1)&&(x(2*m)==0))
        I_QPSK(m) = -1;
        Q_QPSK(m) = 1;
    end
    if((x(2*m-1)==1)&&(x(2*m)==1))
        I_QPSK(m) = -1;
        Q_QPSK(m) = -1;
    end
    if((x(2*m-1)==0)&&(x(2*m)==1))
        I_QPSK(m) = 1;
        Q_QPSK(m) = -1;
    end
end


%% 低通滤波器参数设置
t = -10:0.1:10;
L = length(t);
h = sinc(t);
y_4PSK_I = zeros(N/2L);
y_4PSK_Q = zeros(N/2L);
Y_4PSK_I = zeros(1L);
Y_4PSK_Q = zeros(1L);

y_QPSK_I = zeros(N/2L);
y_QPSK_Q = zeros(N/2L);
Y_QPSK_I = zeros(1L);
Y_QPSK_Q = zeros(1L);

%% 4PSK滤波过程展示
for i = 1:1:N/2
    y_4PSK_I(i1:L) = I_4PSK(i)*sinc(t-i);
    y_4PSK_Q(i1:L) = Q_4PSK(i)*sinc(t-i);
end
for i = 1:1:N/2
    Y_4PSK_I(1:L) = Y_4PSK_I(1:L) + y_4PSK_I(i1:L);
    Y_4PSK_Q(1:L) = Y_4PSK_Q(1:L) + y_4PSK_Q(i1:L);
end

%% 4PSK滤波过程展示
for i = 1:1:N/2
    y_QPSK_I(i1:L) = I_QPSK(i)*sinc(t-i);
    y_QPSK_Q(i1:L) = Q_QPSK(i)*sinc(t-i);
end
for i = 1:1:N/2
    Y_QPSK_I(1:L) = Y_QPSK_I(1:L) + y_QPSK_I(i1:L);
    Y_QPSK_Q(1:L) = Y_QPSK_Q(1:L) + y_QPSK_Q(i1:L);
end


%% 平移叠加法 4PSK I路 实部
figure(1)
subplot(211)
for i = 1:1:N/2
    plot(ty_4PSK_I(i1:L));
    hold on;
end
axis([0 10 -1 1])
title(‘4PSK实部 叠加前波形‘);
subplot(212)
plot(tY_4PSK_I)
axis([0 10 -2 2])
title(‘4PSK实部 叠加后波形‘);

%% 平移叠加法 4PSK Q路 虚部
figure(2)
subplot(211)
for i = 1:1:N/2
    plot(ty_4PSK_Q(i1:L));
    hold on;
end
axis([0 10 -1 1])
title(‘4PSK虚部 叠加前波形‘);
subplot(212)
plot(tY_4PSK_Q)
axis([0 10 -2 2])
title(‘4PSK虚部 叠加后波形‘);

%% 平移叠加法 QPSK I路 实部
figure(3)
subplot(211)
for i = 1:1:N/2
    plot(ty_QPSK_I(i1:L));
    hold on;
end
axis([0 10 -1 1])
title(‘QPSK实部 叠加前波形‘);
subplot(212)
plot(tY_QPSK_I)
axis([0 10 -2 2])
title(‘QPSK实部 叠加后波形‘);

%% 平移叠加法 QPSK Q路 虚部
figure(4)
subplot(211)
for i = 1:1:N/2
    plot(ty_QPSK_Q(i1:L));
    hold on;
end
axis([0 10 -1 1])
title(‘QPSK虚部 叠加前波形‘);
subplot(212)
plot(tY_QPSK_Q)
axis([0 10 -2 2])
title(‘QPSK虚部 叠加后波形‘);

%% 卷积法 4PSK 实部
figure(5)
for i = 1:1:N/2
    a = zeros(1N/2);
    a(i) = I_4PSK(i)
    a = upsample(a10);
    y = conv(ah);
    plot(y‘k‘);
    hold on;
end
I_4PSK = upsample(I_4PSK10);
y = conv(I_4PSKh);
plot(y‘r‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      141975  2019-01-26 11:03  4PSK和QPSK调制及成型滤波sinc\4PSK和QPSK调制及成型滤波sinc.docx
     文件        3975  2019-01-26 10:52  4PSK和QPSK调制及成型滤波sinc\Sim_NO2.m
     目录           0  2019-01-26 11:03  4PSK和QPSK调制及成型滤波sinc\

评论

共有 条评论