深入浅出通信原理251-382.doc
% I路信号>> subplot(321);>> t=0:0.001:8;>> a=1/sqrt(2);>> x=t-0.5;>> y1= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-1.5;>> y2= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-2.5;>> y3= - a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-3.5;>> y4= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-4.5;>> y5= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-5.5;>> y6= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-6.5;>> y7= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-7.5;>> y8= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> y01= y1+y2+y3+y4+y5+y6+y7+y8;>> plot(t,y01);>> axis(0 8 -2 2);>> grid on;% Q路信号>> subplot(323);>> t=0:0.001:8;>> a=1/sqrt(2);>> x=t-0.5;>> y1= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-1.5;>> y2= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-2.5;>> y3= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-3.5;>> y4= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-4.5;>> y5= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-5.5;>> y6= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-6.5;>> y7= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-7.5;>> y8= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> y02= y1+y2+y3+y4+y5+y6+y7+y8;>> plot(t,y02);>> axis(0 8 -2 2);>> grid on;%QPSK调制信号>> subplot(325);>> t=0:0.001:8;>> s1=y01.*cos(2*pi*10*t) ;>> s2=y02.*sin(2*pi*10*t);>> plot(t,s1-s2) ;>> axis(0 8 -2 2);% I路信号>> subplot(322);>> t=0:0.001:8;>> a=1/sqrt(2);>> x=t-0.5;>> y1= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-1.5;>> y2= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-2.5;>> y3= - a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-3.5;>> y4= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-4.5;>> y5= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-5.5;>> y6= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-6.5;>> y7= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-7.5;>> y8= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> y01= y1+y2+y3+y4+y5+y6+y7+y8;>> plot(t,y01);>> axis(0 8 -2 2);>> grid on;% Q路信号>> subplot(324);>> t=0:0.001:8;>> a=1/sqrt(2);>> x=t-1;>> y1= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-2;>> y2= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-3;>> y3= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-4;>> y4= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-5;>> y5= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-6;>> y6= -a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-7;>> y7= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> x=t-8;>> y8= a.*sinc(x).*cos(pi*x)./(1-4.*x.*x);>> y02= y1+y2+y3+y4+y5+y6+y7+y8;>> plot(t,y02);>> axis(0 8 -2 2);>> grid on;%QPSK调制信号>> subplot(326);>> t=0:0.001:8;>> s1=y01.*cos(2*pi*10*t) ;>> s2=y02.*sin(2*pi*10*t);>> plot(t,s1-s2) ;>> axis(0 8 -2 2);>> t=0:0.001:1;>> y1=sin(2*pi*t);>> y2=sin(4*pi*t);>> y=y1.*y2;>> subplot(311);plot(t,y1);grid on;>> subplot(312);plot(t,y2);grid on;>> subplot(313);plot(t,y); grid on;>> t=0:0.001:1;>> y1=sin(2*pi*t);>> subplot(311);plot(t,y1);grid on;>> t=0:0.001:0.125;>> y2=0;>> subplot(312);plot(t,y2, 'b');grid on;hold on;>> subplot(313);plot(t,y2, 'b');grid on;hold on;>> t=0.126:0.001:1;>> y2=sin(4*pi*(t-0.125);>> subplot(312);plot(t,y2);>> t=0.126:0.001:1;>> y1=sin(2*pi*t);>> y=y1.*y2;>> subplot(313);plot(t,y); K=0 K=1 K=2 k=3 k=4 K=0 k=1 K=2 k=3 K=4 k=2k=3 k=4 k=5 k=6 k=7 k=8 k=9 >> >> n=0:fs/N:(N-1)*fs/N;>> X=dft1(x,N);>> stem(n,abs(X), 'r'); axis(0 800 0 4.5); >> fs=800;%采样频率>> T=0.02;%截取时间长度>> N=T*fs;>> t=0:1/fs:T-1/fs;>> x=cos(200*pi*t);>> subplot(211);stem(t,x);>> n=0:fs/N:(N-1)*fs/N;>> X=dft1(x,N);>> subplot(212);stem(n,abs(X); >> fs=800;%采样频率>> T=0.04;%截取时间长度>> N=T*fs;>> t=0:1/fs:T-1/fs;>> x=cos(200*pi*t);>> subplot(211);stem(t,x);>> n=0:fs/N:(N-1)*fs/N;>> X=dft1(x,N); >> subplot(212);stem(n,abs(X); function fn=circonv(x1,x2,N)%circonvt函数实现输入序列x1和x2的循环卷积,fn为输出序列%N 为循环卷积长度%实现方法:fn=sum(x1(m)*x2(n-m) mod N)if (length(x1)>N|length(x2)>N)%判断输入信号的长度error('N的长度必须大于输入数据的长度');endx1=x1,zeros(1,N-length(x1);x2=x2,zeros(1,N-length(x2);m=0:N-1;x=zeros(N,N);for n=0:N-1 x(:,n+1)=x2(mod(n-m),N)+1).'end;fn=x1*x;%循环计算卷积