• 大小: 5KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: Matlab
  • 标签: DSSS  直扩  2PSK  

资源简介

直接扩频序列扩频,2PSK调制,程序自己写的,分享给大家,为了更好的模拟模拟信号,过低通用的卷积而没有用IFFT,由于采样点数过多,卷积耗时较长,请耐心等待:-)

资源截图

代码片段和文件信息

clear;
clc;
close all;


%%     基带信号产生 扩频码产生

N=20;                         %码元个数                         
xn1=round(rand(1N));         %单极性码,码元周期为10ms,频率为100Hz 
xn1=1-2*xn1;                  %双极性码   
Xn1=zeros(1200000);
Cn1=zeros(1200000);
for i=1:20
    for j=1:10000
        Xn1(j+10000*(i-1))=xn1(i);      %采样,采样周期为0.001ms,一个基带信号码元采样10000次,频率为1000000Hz
    end
end
cn1=m_creat([1 0 0 0 0 1 0 0 0 1][0 0 0 0 0 0 0 0 1]);  %511扩频码,双极性码,码元周期为1ms频率为1000Hz
cn11(1:200)=cn1(1:200);
for i=1:200
    for j=1:1000
        Cn1(j+1000*(i-1))=cn11(i);
    end
end
figure (1);
subplot(211);
plot(0:200/200000:200-200/200000Xn1);
axis([0 200 -1.5 1.5]);
xlabel(‘ms‘)
title(‘基带信号‘);
f_Xn1=fft(Xn11000000)*1e-6;
subplot(212);
plot(0:1000000-1abs(f_Xn1));
axis([0 4000 0 0.1]);
xlabel(‘Hz‘);
title(‘基带信号频谱‘);
figure (2);
subplot(211);
plot(0:200/200000:200-200/200000Cn1);
axis([0 200 -1.5 1.5]);
xlabel(‘ms‘);
title(‘m序列‘);
f_Cn1=fft(Cn11000000)*1e-6;
subplot(212);
plot(0:1000000-1abs(f_Cn1));
axis([0 4000 0 0.1]);
xlabel(‘Hz‘);
title(‘m序列频谱‘);

%%   扩频

Zn1=Xn1.*Cn1;
figure(3);
subplot(211);
plot(0:200/200000:200-200/200000Zn1);
axis([0 200 -1.5 1.5]);
xlabel(‘ms‘)
title(‘扩频序列‘);
f_Zn1=fft(Zn11000000)*1e-6;
subplot(212);
plot(0:1000000-1abs(f_Zn1));
axis([0 4000 0 0.1]);
xlabel(‘Hz‘)
title(‘扩频序列频谱‘);

%%   过低通

Wp=2*pi*990/1000000;  %通带边界频率
Ws=2*pi*1010/1000000; %阻带截止频率
Wc=(Wp+Ws)/2/pi;    %通带截止频率
Bt=Ws-Wp;      %过渡带宽
N=round(8*pi/Bt);  %滤波器长度
LPF=fir1(N-1Wchanning(N));   %汉宁窗
figure(4);
plot(0:200000-1LPF);
title(‘汉宁窗‘)
Zn1_LPF=conv(LPFZn1);
Zn1_LPF1=Zn1_LPF(100000:300000-1);   %消除时移过低通之后的信号
figure(5);
subplot(211);
plot(0:200/200000:200-200/200000Zn1_LPF1);
xlim([0 200]);    %设置x轴范围
xlabel(‘ms‘);
title(‘过低通之后的扩频序列‘);
f_Zn1_LPF1=fft(Zn1_LPF11000000)*1e-6;
subplot(212);
plot(0:1000000-1abs(f_Zn1_LPF1));
axis([0 4000 0 0.1]);
title(‘过低通之后的扩频序列频谱‘);

%%  调制

Carrier=cos(2*pi*20000/1000000*(0:199999));   %载波频率为20000Hz
Zn1_Mod=Zn1_LPF1.*Carrier;   %已调信号
%Zn1_Mod=Zn1.*Carrier;   %已调信号
figure(6);
subplot(211);
plot(0:200/200000:200-200/

评论

共有 条评论