通信系统仿真实验报告.docx

上传人:b****6 文档编号:15436731 上传时间:2023-07-04 格式:DOCX 页数:35 大小:466.71KB
下载 相关 举报
通信系统仿真实验报告.docx_第1页
第1页 / 共35页
通信系统仿真实验报告.docx_第2页
第2页 / 共35页
通信系统仿真实验报告.docx_第3页
第3页 / 共35页
通信系统仿真实验报告.docx_第4页
第4页 / 共35页
通信系统仿真实验报告.docx_第5页
第5页 / 共35页
通信系统仿真实验报告.docx_第6页
第6页 / 共35页
通信系统仿真实验报告.docx_第7页
第7页 / 共35页
通信系统仿真实验报告.docx_第8页
第8页 / 共35页
通信系统仿真实验报告.docx_第9页
第9页 / 共35页
通信系统仿真实验报告.docx_第10页
第10页 / 共35页
通信系统仿真实验报告.docx_第11页
第11页 / 共35页
通信系统仿真实验报告.docx_第12页
第12页 / 共35页
通信系统仿真实验报告.docx_第13页
第13页 / 共35页
通信系统仿真实验报告.docx_第14页
第14页 / 共35页
通信系统仿真实验报告.docx_第15页
第15页 / 共35页
通信系统仿真实验报告.docx_第16页
第16页 / 共35页
通信系统仿真实验报告.docx_第17页
第17页 / 共35页
通信系统仿真实验报告.docx_第18页
第18页 / 共35页
通信系统仿真实验报告.docx_第19页
第19页 / 共35页
通信系统仿真实验报告.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

通信系统仿真实验报告.docx

《通信系统仿真实验报告.docx》由会员分享,可在线阅读,更多相关《通信系统仿真实验报告.docx(35页珍藏版)》请在冰点文库上搜索。

通信系统仿真实验报告.docx

通信系统仿真实验报告

中国地质大学(武汉)

通信系统仿真实验报告

姓名:

陈勇

班级:

075131

学号:

20131001768

院系:

机电学院

专业:

通信工程

指导老师:

王瑾

通信系统仿真实验第一次上机

一、上机完成布置的作业

1.设圆柱半径r=1.5,高h=3,求圆柱表面积和体积

程序:

r=1.5;

h=3;

S=2*pi*r^2+2*pi*r*h

V=pi*r^2*h

运行结果:

2.求某自然数内的全部素数

程序:

n=input('请输入一个自然数:

');

j=1;

fori=1:

n

ifisprime(i)

x(j)=i;

j=j+1;

end

fprintf('自然数%d内的素数为:

\n',n);

fprintf('%d\n',x(j));

end

运行结果:

3.输入3个数a、b、c,要求按由小到大的顺序输出。

程序:

a=input('a=');

b=input('b=');

c=input('c=');

ifa>b

max=a;

min=b;

else

max=b;

min=a;

end

ifmin>c

mid=min;

min=c;

elseifmax

mid=max;

max=c;

else

mid=c;

end

fprintf('a=%d,b=%d,c=%d从小到大依次为:

%d,%d,%d\n',a,b,c,min,mid,max);

运行结果:

4.计算多项式y=x5-3x4-8x3+7x2+3x-5在[-4,5]区间的微分,并作图.

程序:

x=[-4:

0.5:

5];

dy=(5*x.^4-12*x.^3-24*x.^2+14*x+3)*0.01;

plot(x,dy);

运行结果:

5.已知y=1-1/2+1/3-1/4+……-1/100,求y的值。

程序:

y=0;

forx=1:

1:

100

y=y+(-1)^(x+1)*(1/x);

end

y

运行结果:

二.例题

例2-13建立一个字符串向量,然后对该向量做如下处理:

(1)取第1~5个字符组成的子字符串。

(2)将字符串倒过来重新排列。

(3)将字符串中的小写字母变成相应的大写字母,其余字符不变。

(4)统计字符串中小写字母的个数。

程序:

str='ABc123d4e56Fg9'

A=str(1:

5)

B=length(str)

C=str(B:

-1:

1)

E=0;

fori=1:

B

ifstr(i)>=97&&str(i)<=122

E=E+1;

str(i)=str(i)-32;

end

end

D=str

E

运行结果:

例5-1在0≤x≤2区间内,绘制曲线

y=2e-0.5xcos(4πx)

程序:

x=0:

pi/100:

2*pi;

y=2*exp(-0.5*x).*cos(4*pi*x);

plot(x,y)

运行结果:

例5-5采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。

程序:

x=0:

pi/100:

2*pi;

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

plot(x,y1)

holdon

y2=2*exp(-0.5*x).*cos(pi*x);

plot(x,y2);

holdoff

运行结果:

例5-6在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx),标记两曲线交叉点。

程序:

x=linspace(0,2*pi,1000);%建立矩阵

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

y2=2*exp(-0.5*x).*cos(pi*x);

k=find(abs(y1-y2)<1e-2);%查找相等点

x1=x(k);

y3=0.2*exp(-0.5*x1).*cos(4*pi*x1);

plot(x,y1,x,y2,'k:

',x1,y3,'bp');

运行结果:

例5-13分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。

程序:

x=0:

pi/10:

2*pi;

y=2*sin(x);

subplot(2,2,1);bar(x,y,'g');%条形

title('bar(x,y,"g")');

subplot(2,2,2);stairs(x,y,'b');%阶梯

title('stairs(x,y,"b")');

subplot(2,2,3);stem(x,y,'k');%杆图

title('stem(x,y,"k")');

subplot(2,2,4);fill(x,y,'r');%填充图

title('fill(x,y,"r")');

运行结果:

三、课后习题

2.2设一个线性时不变系统的系统传递函数为

,通过Matlab画出如下输入信号经过该系统时的输出信号波形及频谱。

(1)

(2)

(3)

程序:

clear;clc;

T=1;

N_sample=100;%采样点

dt=T/N_sample;

t=0:

dt:

10*T-dt;

f=5;

y1=10*sin(2*pi*f*t);

y2=10*(sin(2*pi*f*t)+sin(20*pi*f*t)+sin(40*pi*f*t));

y3=[ones(1,N_sample),zeros(1,9*N_sample)];

[f1,sf1]=T2F(t,y1);%傅里叶变换

[f2,sf2]=T2F(t,y2);

[f3,sf3]=T2F(t,y3);

H1=1j*2*pi*f1./(1+1j*2*pi*f1);

H2=1j*2*pi*f2./(1+1j*2*pi*f2);

H3=1j*2*pi*f3./(1+1j*2*pi*f3);

sf1=sf1.*H1;

sf2=sf2.*H2;

sf3=sf3.*H3;

[t1,y10]=F2T(f1,sf1);%反傅里叶变换

[t2,y20]=F2T(f2,sf2);

[t3,y30]=F2T(f3,sf3);

figure

(1)

subplot(311)

plot(t,y1);

title('原始波形');

subplot(312)

plot(f1,sf1);

title('频谱图');

subplot(313)

plot(t1,y10);

title('输出波形');

figure

(2)

subplot(311)

plot(t,y2);

title('原始波形');

subplot(312)

plot(f2,sf2);

title('频谱图');

subplot(313)

plot(t2,y20);

title('输出波形');

figure(3)

subplot(311)

plot(t,y3);

title('原始波形');

subplot(312)

plot(f3,sf3);

title('频谱图');

subplot(313)

plot(t3,y30);

title('输出波形');

函数定义:

function[f,sf]=T2F(t,st)

dt=t

(2)-t

(1);

T=t(end);

df=1/T;

N=length(st);

f=-N/2*df:

df:

N/2*df-df;

sf=fft(st);

sf=T/N*fftshift(sf);

function[t,st]=F2T(f,sf)

df=f

(2)-f

(1);

Fmx=(f(end)-f

(1)+df);

dt=1/Fmx;

N=length(sf);

T=dt*N;

t=0:

dt:

T-dt;

sff=fftshift(sf);

st=Fmx*ifft(sff);

运行结果:

2.3设输入信号为

,其中

,带通系统响应幅度谱

,其相位为线性相位

,即

通过Matlab画出信号波形。

(1)用等效基带方式。

(2)用直接卷积方式。

(3)用频域相乘方式,再取傅立叶反变换方式。

(4)画出输出信号的幅度谱。

(5)求输出信号的功率(理论值与Matlab计算对比)。

(6)改变带通系统的宽带,观察输出信号波形的变化。

程序:

clearall;

clc;

dt=0.01;

t=0:

dt:

5-dt;

gt=[ones(1,1/dt),zeros(1,4/dt)];

s1=gt.*cos(20*pi*t);

[f1s1f]=T2F(t,s1);

s1_lowpass=hilbert(s1).*exp(-j*2*pi*10*t);

[f2s2f]=T2F(t,s1_lowpass);

h2f=zeros(1,length(s2f));

[ab]=find(abs(s1f)==max(abs(s1f)));%找到带通信号的中心频率

h2f(201-15:

201+15)=1;

h2f(301-15:

301+15)=1;

h2f=h2f.*exp(-1j*4*pi*f2);%加入线性相位,

[t1h1]=F2T(f2,h2f);%带通系统的冲激响应

h1_lowpass=hilbert(h1).*exp(-j*2*pi*10*t);%等效基带系统的冲激响应

figure

(1)

subplot(321);

plot(t,s1);

xlabel('t');ylabel('s1(t)');

title('带通信号');

subplot(323);

plot(f1,abs(s1f));

xlabel('f');ylabel('|S1(f)|');

title('带通信号幅度谱');

subplot(322)

plot(t,real(s1_lowpass));

xlabel('t');ylabel('Re[s_l(t)]');

title('等效基带信号的实部');

subplot(324)

plot(f2,abs(s2f));

xlabel('f');ylabel('|S_l(f)|');

title('等效基带信号的幅度谱');%画带通系统及其等效基带的图

subplot(325)

plot(f2,abs(h2f));

xlabel('f');ylabel('|H(f)|');

title('带通系统的传输响应幅度谱');

figure

(2)

subplot(322)

plot(t1,h1);

xlabel('t');ylabel('h(t)');

title('带通系统的冲激响应');

subplot(323)

[f3hlf]=T2F(t1,h1_lowpass);

plot(f3,abs(hlf));

xlabel('f');ylabel('|H_l(f)|');

title('带通系统的等效基带幅度谱');

subplot(324)

plot(t1,h1_lowpass);

xlabel('t');ylabel('h_l(t)');

title('带通系统的等效基带冲激响应');%画出带通信号经过带通系统的响应及等效基带信号经过等效基带系统的响应

tt=0:

dt:

t1(end)+t(end)+dt;

yt=conv(s1,h1);

subplot(325)

plot(tt,yt);

xlabel('t');ylabel('y(t)');

title('带通信号与带通系统响应的卷积')

ytl=conv(s1_lowpass,h1_lowpass).*exp(j*2*pi*10*tt);

subplot(3,2,6)

plot(tt,real(yt));

xlabel('t');ylabel('y_l(t)cos(20*pi*t');

title('等效基带与等效基带系统响应的卷积×中心频率载波')

subplot(3,2,1)

sff=s1f.*h2f;

[t,st]=F2T(f1,sff);

plot(t,st);

title('取傅立叶反变换方式')

df=f1

(2)-f1

(1);

E=sum(abs(sff).^2)*df

运行结果:

2.4信号x(t)定义为

通过Matlab画出该信号的幅度和相位谱。

程序:

clearall;

clc;

T=1;

N_sample=100;

dt=T/N_sample;

t=-2:

dt:

5;

x=[ones(1,N_sample),abs(t(N_sample:

3*N_sample)),ones(1,N_sample),zeros(1,3*N_sample)];

[f,sf]=T2F(t,x);

subplot(311)

plot(t,x);

title('原始波形');

subplot(312)

plot(f,angle(sf));

title('相位谱');

subplot(313)

plot(f,abs(sf));

title('幅度谱');

运行结果:

 

通信系统仿真实验第二次上机

实验内容:

用matlab产生一个频率为10Hz、功率为2w的余弦信源

m(t),设载波频率为1KHz,试画出:

(1)AM信号(直流0.5V),DSB-SC,SSB,VSB调制信号;

(2)该调制信号的功率谱密度;

(3)相干解调后的信号波形。

程序:

closeall;

clearall;

dt=0.001;%时间采样间隔

fm=10;%信源最高频率

fc=1000;%载波中心频率

T=0.5;%信号时长

t1=0:

dt:

T-dt;

mt=sqrt(4)*cos(2*pi*fm*t1);%信源

%N0=0.01;%白噪单边功率谱密度

A=0.5;

s_am=(A+mt).*cos(2*pi*fc*t1);

B=2*fm;%带通滤波器带宽窄带高斯噪声产生

figure

(1)

subplot(311)

plot(t1,s_am);

holdon;

plot(t1,A+mt,'r--');%标示AM的包络

title('AM调制信号及其包络');

xlabel('t');

figure

(1)

rt1=s_am.*cos(2*pi*fc*t1);%相干解调

rt1=rt1-mean(rt1);

[f1,rf1]=T2F(t1,rt1);

[t1,rt1]=lpf(f1,rf1,2*fm);%低通滤波

subplot(312)

plot(t1,rt1);

holdon;

plot(t1,mt/2,'r--');

title('相干解调后的信号波形与输入信号的比较');

xlabel('t')

subplot(313)

[f1,sf]=T2F(t1,s_am);

psf=(abs(sf).^2)/T;

plot(f1,psf);

axis([-2*fc2*fc0max(psf)]);

title('AM信号功率谱');

xlabel('f');

%%DSB

figure

(2)

s_dsb=mt.*cos(2*pi*fc*t1);

subplot(311)

plot(t1,s_dsb);

holdon;

plot(t1,mt,'r--');%标示AM的包络

title('DSB调制信号及其包络');

xlabel('t');

rt2=s_dsb.*cos(2*pi*fc*t1);

rt2=rt2-mean(rt2);

[f2,rf2]=T2F(t1,rt2);

[t2,rt2]=lpf(f2,rf2,2*fm);

subplot(312)

plot(t2,rt2);

holdon;

plot(t2,mt/2,'r--');

title('相干解调后的信号波形与输入信号的比较');

xlabel('t')

subplot(313)

[f2,sf]=T2F(t2,s_dsb);

psf=(abs(sf).^2)/T;

plot(f2,psf);

axis([-2*fc2*fc0max(psf)]);

title('DSB信号功率谱');

xlabel('f');

figure(3)

s_ssb=real(hilbert(mt).*exp(j*2*pi*fc*t1));

B=fm;

subplot(311)

plot(t1,s_ssb);

holdon;%画出SSB信号波形

plot(t1,mt,'r--');%标示mt的波形

title('SSB调制信号');

xlabel('t');

rt=s_ssb.*cos(2*pi*fc*t1);

rt=rt-mean(rt);

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

[t,rt]=lpf(f,rf,2*fm);

subplot(312)

plot(t,rt);

holdon;

plot(t,mt/2,'r--');

title('相干解调后的信号波形与输入信号的比较');

xlabel('t')

subplot(313)

[f,sf]=T2F(t,s_ssb);

psf=(abs(sf).^2)/T;

plot(f,psf);

axis([-2*fc2*fc0max(psf)]);

title('SSB信号功率谱');

xlabel('f');

s_vsb=mt.*cos(2*pi*fc*t1);

B=1.2*fm;

[f,sf]=T2F(t1,s_vsb);

[t,s_vsb]=vsbpf(f,sf,0.2*fm,1.2*fm,fc);%VSB信号

figure(4)

subplot(311)

plot(t,s_vsb);

holdon;%画出VSB信号波形

plot(t,mt/4,'r--');%标示mt的波形

title('VSB调制信号');

xlabel('t');

rt=s_vsb.*cos(2*pi*fc*t1);

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

[t,rt]=lpf(f,rf,2*fm);

subplot(312)

plot(t,rt);

holdon;

plot(t,mt/8,'r--');

title('相干解调后的信号波形与输入信号的比较');

xlabel('t')

subplot(313)

[f,sf]=T2F(t,s_vsb);

psf=(abs(sf).^2)/T;

plot(f,psf);

axis([-2*fc2*fc0max(psf)]);

title('VSB信号功率谱');

xlabel('f');

函数定义:

function[tst]=lpf(f,sf,B)

df=f

(2)-f

(1);

T=1/df;

hf=zeros(1,length(f));

bf=[-floor(B/df):

floor(B/df)]+floor(length(f)/2);

hf(bf)=1;

yf=hf.*sf;

[t,st]=F2T(f,yf);

st=real(st);

function[t,st]=vsbpf(f,sf,B1,B2,fc)

df=f

(2)-f

(1);

T=1/df;

hf=zeros(1,length(f));

bf1=[floor((fc-B1)/df):

floor((fc+B1)/df)];

bf2=[floor((fc+B1)/df)+1:

floor((fc+B2)/df)];

f1=bf1+floor(length(f)/2);

f2=bf2+floor(length(f)/2);

stepf=1/length(f1);

hf(f1)=0:

stepf:

1-stepf;

hf(f2)=1;

f3=-bf1+floor(length(f)/2);

f4=-bf2+floor(length(f)/2);

hf(f3)=0:

stepf:

1-stepf;

hf(f4)=1;

yf=hf.*st;

[t,st]=F2T(f,yf);

st=real(st);

运行结果:

通信系统仿真实验第三次上机

6-1

程序:

clc

clearall;

closeall;

M=4;Ts=2;fc=20;N_sample=16;N_num=50;

dt=1/fc/N_sample;%波形采样间隔

t=0:

dt:

N_num*Ts-dt;

d1=sign(randn(1,N_num*2));

d2=sign(randn(1,N_num*2));

gt=ones(1,fc*N_sample);%NRZ波形

%QPSK调制

s1=sigexpand(d1,fc*N_sample);

s2=sigexpand(d2,fc*N_sample);

b1=conv(s1,gt);

b2=conv(s2,gt);

s1=b1(1:

length(s1));

s2=b2(1:

length(s2));

st_qpsk=s1.*cos(2*pi*fc*t)-s2.*sin(2*pi*fc*t);

[fy1f]=T2F(t,st_qpsk);

[ty1]=bpf(f,y1f,fc-1/Ts,fc+1/Ts);%4HZ代通

y=hilbert(y1);am=abs(y);

subplot(211);plot(t,st_qpsk);xlabel('t');

axis([515-1.61.6]);title('QPSK波形');

subplot(212);plot(t,y1,t,am);xlabel('t');

axis([515-1.61.6]);title('经过带宽为4HZ的带通系统后的包络波形');

函数定义:

function[out]=sigexpand(d,M)

%将输入的序列扩展成间隔为N-1个0的序列?

N=length(d);

out=zeros(M,N);

out(1,:

)=d;

out=reshape(out,1,M*N);

function[t,st]=bpf(f,sf,B1,B2)

df=f

(2)-f

(1);

T=1/df;

hf=zeros(1,length(f));

bf=[floor(B1/df):

floor(B2/df)]

bf1=floor(length(f)/2)+bf;

bf2=floor(length(f)/2)-bf;

hf(bf1)=1/sqrt(2*(B2-B1));

hf(bf2)=1/sqrt(2*(B2-B1));

yf=hf.*sf.*exp(-j*2*pi*f*0.1*T);

[t,st]=F2T(f,yf);

 

运行结果:

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2