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

📄 exp4_3.m

📁 本程序实现产生几种调制方式的眼图并且对其进行比较
💻 M
字号:
clear;
clf;
clc;
%—— 产生随机‘0’,‘1’信号序列
N=2000;
N1=20;
fc=3;
T=1;
h=1/2;
data_bit=randint(1,N);
%——将信号序列转换为基上的向量值
for i=1:N-1                      
    if data_bit(1,i)==1
       I(1,i)=1;
    else I(1,i)=-1;
    end
end
figure(1);
t1=0:9;
stem(t1,I(1:10),'.');      %——绘出10个点的转换信号序列图
title('原始BPSK信号');
xlabel('t/s');
ylabel('信号幅度');
grid on;

%——作出第一个g(t)函数的积分函数q0
t=0:0.05:1;
q0=t/(2*T);
figure(2);
subplot(211);
plot(t,q0);
grid on;

%——作出第二个g(t)函数的积分函数q1
t=0:0.05:1;
q1=t/2-1/(4*pi)*sin(2*pi*t/T);
subplot(212);
plot(t,q1);
grid on;

v=zeros(1,N);
k=I;
for i=2:N
     v(1,i)=v(1,i-1)+I(1,i-1)*pi/2;
    if v(1,i-1)==-pi 
      if I(1,i-1)==-1
        v(1,i)=pi/2;
        k(1,i-1)=3;
      end
    end  
    if v(1,i-1)==pi/2 
      if I(1,i-1)==1
         v(1,i)=-pi; 
         k(1,i-1)=-3; 
      end
    end     
end
%——确定第一个g(t)的MSK
%——对以上序列按照第一个g(t)的积分表达式进行插值
v1=zeros(1,N1*length(v));
for i=1:length(v)
    v1(i*N1-(N1-1))=v(i);
end
for i=1:N-1
    for l=(i-1)*N1+1:i*N1
        v1(1,l)=v(1,i)+(v(1,i+1)-v(1,i))/N1*(l-(i-1)*N1-1);
    end
end
i=1:200;
figure(3);
subplot(211);
stem(i,v1(1:200),'.r');
grid on;
hold on;

%——对以上序列按照第二个g(t)的积分表达式进行插值
v2=zeros(1,N1*length(v));
for i=1:length(v)
    v2(i*N1-(N1-1))=v(i);
end
for i=1:N-1
    for l=(i-1)*N1+1:i*N1
        v2(1,l)=v(1,i)+2*pi*h*k(1,i)*q1(1,l-(i-1)*N1);
    end
end
i=1:200;
subplot(212);
stem(i,v2(1:200),'.b');
grid on;
i=0:1/N1:N-1/N1;
s1=cos(v1+2*pi*fc*i);
s2=cos(v2+2*pi*fc*i);
figure(5);
subplot(211);
plot(i(1:200),s1(1:200),'r');
grid on; 
subplot(212);
plot(i(1:200),s2(1:200),'b');
grid on;
F_s1=fftshift(fft(v1));     %——频谱对称平移
F_s2=fftshift(fft(v2));     %——频谱对称平移
  
figure(4);
f=160*(-10000:9999)/length(v1);
semilogy(f,abs(F_s1(10001:30000))/max(abs(F_s1)),'r');
hold on;
f=160*(-10000:9999)/length(v2);
semilogy(f,abs(F_s2(10001:30000))/max(abs(F_s2)),'b');
grid on;
title('g1,g2调制功率谱密度比较');
ylabel('功率谱密度(db)');
xlabel('频率(HZ)');
legend('F_s1','F_s2');

⌨️ 快捷键说明

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