1、;n1=length(t1);n2=length(t2); %根据周期矩形信号函数周期,计算点数f=ones(n1,1);zeros(n2,1);ones(n1,1);ones(n1,1); %构造周期矩形信号串y=zeros(m+1,length(t);y(m+1,:)=ffigure(1);plot(t,y(m+1,:); %绘制周期矩形信号串axis(-(T0+T1/2)-0.5,(T0+T1/2)+0.5,0,1.2);set(gca,XTick,-T0,-T1/2,T1/2,T0);XTickLabel,-T0,-T1/2T1/2T0);title(矩形信号串);grid on;a=
2、T1/T0;pause; %绘制离散幅度谱freq=-20:1:20;mag=abs(a*sinc(a*freq);stem(freq,mag);x=a*ones(size(t);for k=1:m %循环显示谐波叠加图形x=x+2*a*sinc(a*k)*cos(2*pi*t*k/T0);y(k,:)=x;hold on;plot(t,y(k,:hold off;axis(-(T0+T1/2)-0.5,T0+T1/2+0.5,-0.5,1.5);title(strcat(num2str(k),次谐波叠加xlabel(tendplot(t,y(1:m+1,:axis(-T0/2,T0/2,-0
3、.5,1.5);各次谐波叠加在命令窗口调用rectexpd()函数:T1=5;T0=10;m=5;rectexpd(T1,T0,m)Matlab仿真结果:2、利用Matlab实现连续信号卷积运算 连续信号卷积运算的通用函数sconv():function f,k=sconv(f1,f2,k1,k2,p)f=conv(f1,f2);f=f*p;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2;k=k0:p:k3*p;subplot(2,2,1);plot(k1,f1);f1(t)ylabel(subplot(2,2,2);plot(k2,f2);f2(t)sub
4、plot(2,2,3);plot(k,f);f(t)=f1(t)*f2(t)f(t)h=get(gca,positionh(3)=2.5*h(3);,h);在命令窗口调用sconv()函数:p=0.01;k1=0:2;f1=exp(-k1);k2=0:3;f2=ones(1,length(k2);f,k=sconv(f1,f2,k1,k2,p)实验二1、用Matlab模拟图形A律解码Matlab程序代码:建立函数ADecode()function y=ADecode(code,n)codesize=size(code);cr_len=codesize(1);cl_len=codesize(2)
5、;ca=zeros(1,cl_len-1);for i=1:cr_len ca=code(i,2:n); s=0; for j=1:n-1 s=s+ca(j)*2(n-1-j); end a=code(i,1); y(i)=s*(-1)(a+1);y=y/(2(n-1);A=87.6;A1=1+log(A);for j=1:length(y) if(y(j)=0) if(y(i)=1/A1) y(j)=y(j)*A1/A; else y(j)=exp(y(j)*A1-1/A); temp=-y(j); if(temp=0 if x(i)=1/A y(i)=(A*x(i)/A1; y(i)=(1
6、+log(A*x(i)/A1; x1=-x(i); if x10) c1=1; c1=0;y1(i)=-y1(i); r=rem(y1(i),2);y1(i)=(y1(i)-r)/2; c2(j)=r;c2=fliplr(c2);code(i,:)=c1 c2;在新函数中调用前两个函数t=0:1;x=sin(2*pi*t);code=APCM(x,7);y=ADecode(code,7);subplot(2,1,1)plot(t,x);原函数的图形subplot(2,1,2)plot(t,y);解码后函数的图形2、用Matlab模拟DSB调制及解调过程close all;clear all;d
7、t=0.001;%采样时间间隔fm=1; %信源最高频率fc=10; %载波中心频率N=4096;T=N*dt;dt:T-dt;mt=sqrt(2)*cos(2*pi*fm*t);%信源s_dsb=mt.*cos(2*pi*fc*t); %DSB-SC双边带抑制载波调幅B=2*fm;subplot(311)plot(t,s_dsb,b- %画出DSB信号波形plot(t,mt,r-%画出m(t)信号波形DSB调制信号%DSB demodulationrt=s_dsb.*cos(2*pi*fc*t);rt=rt-mean(rt);f,rf=T2F(t,rt);t,rt=lpf(f,rf,B);s
8、ubplot(312)plot(t,rt,k-plot(t,mt/2,相干解调后的信号波形与输入信号的比较subplot(313)f,sf=T2F(t,s_dsb); %求调制信号的频谱psf=(abs(sf).2)/T; %求调制信号的功率谱密度plot(f,psf);axis(-2*fc 2*fc 0 max(psf);DSB信号功率谱f实验三1、用Matlab模拟双极性归零码function y=drz(x)t0=300;x=1 0 0 1 1 0 0 0 0 1 0 1;1/t0:length(x); if(x(i)=1)t0/2 y(t0/2*(2*i-2)+j)=1; y(t0/2
9、*(2*i-1)+j)=0; y(t0/2*(2*i-2)+j)=-1;y=y,x(i);M=max(y);m=min(y);subplot(211)axis(0,i,m-0.1,M+0.1);1 0 0 1 1 0 0 0 0 1 0 1 2、用Matlab产生2FSK信号建立函数fskdigital()function fskdigital(s,f1,f2)2*pi/99:2*pi;m1=;c1=;b1=;for n=1:length(s) if s(n)=0; m=ones(1,100); c=sin(f2*t); b=zeros(1,100) else s(n)=1; c=sin(f1
10、*t); b=ones(1,100) m1=m1 m; c1=c1 c; b1=b1 b;fsk=c1.*m1;subplot(211);plot(b1,r)title(原始信号axis(0 100*length(s) -0.1 1.1);subplot(212);plot(fsk)title(2FSK信号在命令窗口调用函数fskdigital() s=1 0 1 1 0 0 1 0;f1=200;f2=100;fskdigital(s,f1,f2)3、用Matlab的simulink模块模拟三角波的分解与还原模块图仿真结果: 三角波原图 用矩形波近似的冲击函数分解后的三角波经低通还原的三角波
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1