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

📄 jiekuo.asv

📁 就是qpsk用matlab实现调制解调以及扩频接扩
💻 ASV
字号:
%此函数的目的是为了进行接扩和进行I,Q通路的解调
%抽样判决最后输出基带信号
function  [dianshu,w]=jiekuo(R,ft,Ts,N,fc,sqe)
T=0.001/N;
tdi=0:2*Ts:N*T-Ts;
s1=R.*cos(2*pi*ft*tdi);
%设计滤波器
fs=1/Ts;
[b,a]=ellip(6,0.5,50,15e6*4/fs,'low');  %改成15m
k2=filter(b,a,s1)
figure(4)
subplot(212);
plot(tdi,k2);
title('去载波后的s(t)图形');
xlabel('时间坐标tdi');
%===============================================================




%=============================================================
%射频滤波器的幅频相应  第三十个图
[H,w]=freqz(b,a,512); %H 为滤波器的系统函数
figure(30)
plot(w*fs/(4*pi),abs(H));
title('IIR低通滤波器幅频响应  为了滤除射频频率' );
xlabel(' Frequency(Hz)' );
ylabel(' Magnitude of frequencyresponse' );
%===============================================================






%==========================================================
%画的解调的时候乘上本地载波  但是没有经过滤波器的频谱  第十九个图
kk1=fft(s1,1024);
w=(0:511)/512*(fs/4);
figure(19)
plot(w,abs(kk1(1:512)'));
title(' 没去载波的频谱' );
set(gcf,'color' ,'white' );
xlabel(' Frequency(Hz)' );
ylabel(' Mag.of frequency response' ); grid;
%================================================================


%==================================================================
%第二十一个图  射频解调后通过低通滤波器后的频谱图形
kk=fft(k2,1024);
w=(0:511)/512*(fs/4);
figure(21)
plot(w,abs(kk(1:512)'));
title('经过低通后的频谱s(t)' );
set(gcf,'color' ,'white' );
xlabel(' Frequency(Hz)' );
ylabel(' Mag.of frequency response' ); grid;
%===============================================================





%=================================================================
%通道解调
%=================================================================

%I通路解调
r1=k2.*cos(2*pi*fc*tdi);


%===========================
%信号经过乘I通道的载波后的频谱
ddd=fft(r1,1024);
w=(0:511)/512*(fs/4);
figure(22)
plot(w,abs(ddd(1:512)'));
title('乘以通道载波后没有经过低通滤波器的信号的频谱' );
set(gcf,'color' ,'white' );
xlabel(' Frequency(Hz)' );
ylabel(' Mag.of frequency response' ); grid;


%==================================
%设计I通道的低通滤波器
[b,a]=ellip(4,0.5,50,3e6*2/fs,'low'); %得到滤波器的系数矩阵
k3=filter(b,a,r1)            %k3是I通道经过低通滤波器后信号
figure(6)
subplot(211);
plot(tdi,k3);
axis([0 0.001 -2 2]);
title('解调出来的I通道双极性波形');
xlabel('时间轴');


%======================================================================
%乘上载波后经过低通滤波器后的频谱
ddd1=fft(k3,1024);
w=(0:511)/512*(fs/4);
figure(23)
plot(w,abs(ddd1(1:512)'));
title('乘以通道载波后经过低通滤波器的信号的频谱' );
set(gcf,'color' ,'white' );
xlabel(' Frequency(Hz)' );
ylabel(' Mag.of frequency response' ); grid;




%=========================================================================
 %画IQ通道的滤波器的幅频相应   第三十一图 是IQ通道滤波器的幅频相应
[H,w]=freqz(b,a,512);          
figure(31)
plot(w*fs/(4*pi),abs(H));
title('低通滤波器的幅频相应' );
xlabel(' Frequency(Hz)' );
ylabel(' Magnitude of frequencyresponse' );
%=======================================================================


figure(7)
subplot(212)
k8=sign(k3);
plot(tdi,k8);
title('解调出来的I通道双极性波形');
xlabel('时间轴');
axis([0 0.001 -2 2]);


%================================================
%Q通路解调
%===================================================
r2=k2.*(-sin(2*pi*fc*tdi));

%==================================
%设计Q通道的低通滤波器
[b,a]=ellip(4,0.5,50,3e6*2/fs,'low'); %得到滤波器的系数矩阵
k4=filter(b,a,r2)            %k3是I通道经过低通滤波器后信号
figure(6)
subplot(212);
plot(tdi,k4);
axis([0 0.001 -2 2]);
title('解调出来的Q通道双极性波形');
xlabel('时间轴');


figure(8)
subplot(212)
k9=sign(k4);
plot(tdi,k9);
title('解调出来的Q通道双极性波形');
xlabel('时间轴');
axis([0 0.001 -2 2]);



dianshu=50:100:length(k8);
j=50;
for i=1:length(dianshu);
    outi(i)=k8(j+(i-1)*100);
end;

j=50;
for i=1:length(dianshu);
    outq(i)=k9(j+(i-1)*100);
end;

%产生N个M序列,以便解调
xulie1=ones(1,N/2);

for i=1:length(xulie1),              
   if(xulie1(i)==1),                 
      for j=1:length(sqe),            
         jiekuo1((i-1)*length(sqe)+j)=sqe(j);
      end
   end
end;
xulie2=ones(1,N/2);

for i=1:length(xulie2),              
   if(xulie2(i)==1),                 
      for j=1:length(sqe),            
         jiekuo2((i-1)*length(sqe)+j)=sqe(j);
      end
   end
end;

for i=1:length(jiekuo1)
    if(jiekuo1==1)
        jiekuo1=1
    else jiekuo1=-1
    end
end


jiekuohouI=jiekuo1.*outi;
jiekuohouQ=jiekuo2.*outq;

figure(9)
subplot(211);
t=linspace(0,0.001,length(jiekuohouI));
plot(t,jiekuohouI);
axis([0 N*T -1.5 1.5])
title('I接扩后图形')
xlabel('时间轴')

subplot(212)
t=linspace(0,0.001,length(jiekuohouQ));
plot(t,jiekuohouQ);
axis([0 N*T -1.5 1.5])
title('Q接扩后图形')
xlabel('时间轴')



dianshu=125:255:length(jiekuohouI);
j=125;
for i=1:length(dianshu);
    kki(i)=jiekuohouI(j);
    j=j+255;
end;

j=125;
for i=1:length(dianshu);
    kkq(i)=jiekuohouQ(j);
   j=j+255;
end;

figure(11)
y(1,:)=kki;                           %I通道随即信号    
y(2,:)=kkq;     
xx=reshape(y,1,N);

stem(xx(1:N),'fill','--');



end

⌨️ 快捷键说明

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