通信原理Matlab仿真实验报告Word文档下载推荐.docx

上传人:b****5 文档编号:20539518 上传时间:2023-01-23 格式:DOCX 页数:17 大小:215.82KB
下载 相关 举报
通信原理Matlab仿真实验报告Word文档下载推荐.docx_第1页
第1页 / 共17页
通信原理Matlab仿真实验报告Word文档下载推荐.docx_第2页
第2页 / 共17页
通信原理Matlab仿真实验报告Word文档下载推荐.docx_第3页
第3页 / 共17页
通信原理Matlab仿真实验报告Word文档下载推荐.docx_第4页
第4页 / 共17页
通信原理Matlab仿真实验报告Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

通信原理Matlab仿真实验报告Word文档下载推荐.docx

《通信原理Matlab仿真实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《通信原理Matlab仿真实验报告Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

通信原理Matlab仿真实验报告Word文档下载推荐.docx

];

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,:

)=f'

figure

(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/2'

T1/2'

T0'

});

title('

矩形信号串'

);

gridon;

a=T1/T0;

pause;

%绘制离散幅度谱

freq=[-20:

1:

20];

mag=abs(a*sinc(a*freq));

stem(freq,mag);

x=a*ones(size(t));

fork=1:

m%循环显示谐波叠加图形

x=x+2*a*sinc(a*k)*cos(2*pi*t*k/T0);

y(k,:

)=x;

holdon;

plot(t,y(k,:

holdoff;

axis([-(T0+T1/2)-0.5,[T0+T1/2]+0.5,-0.5,1.5]);

title(strcat(num2str(k),'

次谐波叠加'

xlabel('

t'

end

plot(t,y(1:

m+1,:

axis([-T0/2,T0/2,-0.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)'

subplot(2,2,3);

plot(k,f);

f(t)=f1(t)*f2(t)'

f(t)'

h=get(gca,'

position'

h(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()

functiony=ADecode(code,n)

codesize=size(code);

cr_len=codesize

(1);

cl_len=codesize

(2);

ca=zeros(1,cl_len-1);

fori=1:

cr_len

ca=code(i,2:

n);

s=0;

forj=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);

forj=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<

y(j)=-temp*A1/A;

y(j)=-exp(temp*A1-1)/A;

②建立函数APCM()

functioncode=APCM(x,n)

xmax=max(abs(x));

x=x/xmax;

xlen=length(x);

y=zeros(1,xlen);

xlen

ifx(i)>

=0

ifx(i)<

=1/A

y(i)=(A*x(i))/A1;

y(i)=(1+log(A*x(i)))/A1;

x1=-x(i);

ifx1<

y(i)=-(A*x1)/A1;

y(i)=-(1+log(A*x1))/A1;

y1=y*(2^(n-1)-1);

y1=round(y1);

code=zeros(length(y1),n);

c2=zeros(1,n-1);

length(y1)

if(y1(i)>

0)

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,:

)=[c1c2];

③在新函数中调用前两个函数

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调制及解调过程

closeall;

clearall;

dt=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调制信号'

%DSBdemodulation

rt=s_dsb.*cos(2*pi*fc*t);

rt=rt-mean(rt);

[f,rf]=T2F(t,rt);

[t,rt]=lpf(f,rf,B);

subplot(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*fc2*fc0max(psf)]);

DSB信号功率谱'

f'

实验三

1、用Matlab模拟双极性归零码

functiony=drz(x)

t0=300;

x=[100110000101];

1/t0:

length(x);

if(x(i)==1)

t0/2

y(t0/2*(2*i-2)+j)=1;

y(t0/2*(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]);

100110000101'

2、用Matlab产生2FSK信号

①建立函数fskdigital()

functionfskdigital(s,f1,f2)

2*pi/99:

2*pi;

m1=[];

c1=[];

b1=[];

forn=1:

length(s)

ifs(n)==0;

m=ones(1,100);

c=sin(f2*t);

b=zeros(1,100)

elses(n)==1;

c=sin(f1*t);

b=ones(1,100)

m1=[m1m];

c1=[c1c];

b1=[b1b];

fsk=c1.*m1;

subplot(211);

plot(b1,'

r'

)title('

原始信号'

axis([0100*length(s)-0.11.1]);

subplot(212);

plot(fsk)title('

2FSK信号'

②在命令窗口调用函数fskdigital()

>

s=[10110010];

f1=200;

f2=100;

fskdigital(s,f1,f2)

3、用Matlab的simulink模块模拟三角波的分解与还原

⑴模块图

⑵仿真结果:

①三角波原图

②用矩形波近似的冲击函数

③分解后的三角波

④经低通还原的三角波

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1