2023年信号与通信仿真实验报告_第1页
2023年信号与通信仿真实验报告_第2页
2023年信号与通信仿真实验报告_第3页
2023年信号与通信仿真实验报告_第4页
2023年信号与通信仿真实验报告_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

现代通信原理与技术

信号与通信仿真设计

姓名:

班级:

学号:

一实验目的

在本实验中使用的软件工具是MATLAB。设计本实验的目的是希望在以下几方面有所

收获:

1.会MATLAB软件的最基本运用。

MATLAB是一种很实用的数学软件,它易学易用。MATLAB对于许多的通信仿真类问题来

说是比较合适的。

2.了解计算机仿真的基本原理及方法,知道如何通过仿真的方法去研究通信问题。

3.加深对信号与系统和通信原理及其相关课程内容的理解。

二实验特点

与硬件实验相比,软件实验具如下一些特点:

1.软件实验具有广泛的实用性和极好的灵活性。在硬件实验中改变系统参数也许意味

着要重做硬件,而在软件实验中这只是该一两个数据,或者只是在屏幕上按几下鼠标。

2.软件实验更有助于我们较为全面地研究通信系统。有许多问题,通过硬件实验来研

究也许非常困难,但在软件实验中却易于解决。

3.硬件实验的精确度取决于元器件及工艺水平,软件实现的精确度取决于CPU的运算

速度或者说是程序的运算量。

4.软件实验开发周期短,成本低。

三上机实验规定

1.掌握matlab的基本操作及了解基本的仿真方法,分析运营范例程序。

2.按以下规定编制仿真程序并调试运营

(1)基本信号的仿真

(2)模拟调制与解调的仿真

(3)数字基带传输码型的仿真

(4)数字调制与解调的仿真

(5)脉冲编码调制仿真

四实验内容

1、基本信号的仿真

(1)产生并绘出以下信号:

a单位脉冲序列

b单位阶跃序列

c正弦信号及其频谱

d周期锯齿波sawtooth()

e周期方波square()

f实指数序列y(n)=2n

gsin2nfit*cos2nf2tfl=50Hzf2=2023Hz

(2)产生一条一2到2之间的Sa(200t)曲线。

(3)产生下面信号,并绘出频谱

't0<t<t0/4

s(t)=-t+tO/4tO/4<t<3t0/4假设t0=0.5s

t-t03t0/4<t<t0

2、模拟调制与解调的仿真

高斯噪声的产生:设高斯噪声限带为(-Bs,Bs),双边带功率谱密度为2,则总功率为〃。风,

设高斯噪声幅度为x,则有:/=〃“瓦,”=册瓦,所以高斯噪声可表达成*=$41(1^

*no)*randn为随机码元个数)

(l)DSB调制与解调

设消息信号m(t)的表达式为:m(t)=sin(2*pi.*t),已调信号的时域表达式

为:u(t)=m(t)c(t)=Ac*m(t)cos(2nfct).假设用信号m(t)以DSB方式调制载波c(t)

=cos(2mfct),所得到的已调信号记为u(t)。绘制调制信号、己调信号和解调信号等各相关

点处的时域波形和频谱,加上高斯白噪声进行对比。

(2)AM调制与解调

AM调制信号的时域表达式为:u(t)=AC[1+amn(t)]cos(2nfct)。这里a是调制

指数,mn(t)是通过归一化解决的消息信号,式中mn(t)=m/max(abs(m))。给定的调制指

数a=0.8,绘制调制信号、已调信号和解调信号等各相关处点的时域波形和频谱。

3、数字基带信号的码型的仿真

(1)编程实现单极性非归零码

的秘枇北旧零码铅十卜游程

(2)编程实现双极性归零码,占空比50%

原理流程图如下:

[grid/2grid]s(k)=O

(3)编程实现双相码

原理流程图如下:

(4)编程实现AMI码

原理流程图如下:

偶数位T⑴=l,s⑴=1

奇数位T⑴=l,s⑴=1

(3)画出a=0,0.5,1的升余弦滚降系统频谱,并画出其各自相应的时域波形。

(4)设基带传输系统响应是a=l的升余弦滚降系统,画出在接受端的基带数字信号波形及

其眼图。

实现原理如下:

S。(t)|H(t)自《t)

(a=O0.51)

4、数字调制与解调的仿真

1.2FSK调制和解调

发送的二进制信息序列为,根据2FSK调制和解调的原理框图,绘出的各点波形及其频谱或

功率谱,加上噪声作对比。

原理流程图如下:

2.2PSK调制和解调

发送的二进制信息序列为,根据2FSK调制和解调的原理框图,绘出的各点波形及其频谱或

功率谱,加上噪声作对比。

原理流程图如下:

五实验结果

1、基本信号的仿真x=0:0.1:2*pi;

y=sin(x);

(1)产生并绘出以下信号:

Y=fft(y,100)

a单位脉冲序列

subplot(2,1,1);

%单位脉冲序列,maichong.M

plot(x,y)%绘制信号图形

n=h50;%定义序列的长度是

,

50title(正弦信号')

一匚n、axis([06-11])

x=zeros(1,50)

%MATLAB中数组下标从1开始subpk)t(2,l,2);

、,stem(Y)%绘制信号的频谱

x(l)=1;

1,、/、titlec正弦信号频谱')

plot(n,x);stem(x);

»心、工」心口r-eaxis([020-2020]);

titleC单位冲击信号序列);

单位冲击信号序列

09

b单位阶跃序列

0.8

%单位阶跃序列Jieyue.m07

0.6

fori=1:50;%定义序列的长度是僦

U.o

5004

0.3

ifi>0x(i)=1;o,2

0.1

elsex(i)=0;

0

end

单位阶跃序列

end1

0.9

plot(i,x);stem(x);os

0.7

title(,单位阶跃序列,);nc

□6

axis([-103001]);05

04

0.3-

02

C正弦信号及其频谱

0.1

%正弦信号及其频谱,sine.mo

-ii-5051015202530

n=L—1:0.01:1];

fl=50;f2=2023;

d周期锯齿波sawtooth()

y=sin(2*pi*cos(2*pi*f2*n;

%周期锯齿波,jizhibo.m

plot(n,y)

n=[-3.14*4:0.01:3.14*4];

title('y=sin2nf1ncos2兀f2n(f1=50Hz

x=sawtooth(n);

f2=2023Hz)')

Plot(n,x)

title('周期锯齿波')

心得体会:

通过实验熟悉了matlab的一些基本指令的使用,知道了

e周期方波square。

一些产生基本信号的编程方法,为后续实验打下了基础。

%周期方波,fangbo.m

y=square(n);

plot(n,y)

tit1e(周期方波)

axis([010-22])

f实指数序歹Uy(n)=2n

%实指数序列y(n)=2."n,shizh

ishu.m

曲线。end

%产生一条-2到2之间的Sa(200t)曲end

线.sinc.m[Y,y,dfl]=fft_seq(y,ts,df);

t=[-2:0.01:2];f=[O:dfl:df1*(1ength(y)-1)]-Fs/2;

x=sinc(200*t/pi);%频率矢量

subplot(2,l,1);p1ot(t,y(1:1enBs=10;%高斯噪声限带

gth(t)))no=0.01;%单边带功率谱密度

title(St信号,);tO=1;%信号连续时间

subplot(2,1,2);p1ot(f,abs(fftsts=O.001;%时间采样间隔

hift(Y)));Fc=250;%载波中心频率

titie「St信号频谱');Fs=1/ts;%采样频率

);%调制信号

);%载波信号

%已调信号

-500-400-300-20D-1000100200300400500

axis([0I-11]);title('调制信号’);

%DSB调制,DSB.msubplot(3,2,3);p1ot(t,c(l:length(t)))

%调制信号时域表达式u(t)=axis(l00.1-11]);tit1e('载波信号');

m(t)c(t)=Ac*m(t)cos(2"fct)subplot(3,2,5);p1ot(t,u(1:length(t)));

%函数[M,m,df]=fft_seq(m,ts>axis([01-11]);title[已调信号);

df)求取频谱函数subplot(3,2,2);p1ot(f,abs(fftshift(M)));

%高斯噪声可表达成x=sqrt(Bstitle。调制信号频谱,);

*no)*randn(l,M)subp1ot(3,2,4);p1ot(f,abs(fftshift(C)));

titled载波信号频谱');title,滤波器输入信号频谱');

subp1ot(3,2,6);plot(f,abs(fftshisubplot(2,2,3);plot(t,dem(1:1ength(t));

ft(U)));title-滤波器输出信号》;

titled己调信号频谱);subplot(2,2,4);plot(f,abs(fftshift(DEM)));

%相干解调,加入高斯白噪声noisetitle。滤波器输出信号频谱);

noise=sqrt(Bs*no)*randn调制信号

(1,length(u);

[Y,y,df1]=fft_seq(y,ts,df);

载波信号频谱

Y=Y/Fs;y=(u+noise).*c;

%低通滤波

f_cutoff=150;%滤波器截止

0.5

频率

0

n_cutoff=floor(150/dfl);

-10

00.5-2000200

f=[O:dfl:dfl*(1ength(m)-1)]-Fs/

就被器除入信号频谱

2;

H=zeros(size(f));H(l:n_cutof

f)=2*ones(l,n_cutoff);

H(length(f)-n_cutoff+1:

length(f))=2*ones(l,n_cutoff);

DEM=H.*Y;%滤波器输出频谱

dem=real(ifft(DEM))*Fs;

figure(2);

subplot(2,2,l);plot(t,y(1:length(t)));

title(,滤波器输入信号);

subplot(2,2,2);plot(f,abs(fftsh

ift(Y)));

(t)));

%AM调制信号的时域表达式为:subp1ot(3,2,3);plot(t,c(1:1ength(t)))

axis([00.1-11])title(,载波信号');

u(t)=AC[1+amn(t)]cos(2nfct)

subplot(3,2,5);plot(t,u(l:1ength(t)));

%a是调制指数,mn(t)是通过归一%化

axis([01-22])tit1e。已调信号,);

解决的消息信号,函数%[M,m,df]

subplot(3,2,2);plot(f,abs(fftshift(M)));

=fft_seq(m,ts,df)求取频谱%函数,

高斯噪声可表达成axis([-101001])

调制信号频谱

Bs=10;%高斯噪声限带ti1

subplot(3,2,4);p1ot(f,abs(fftshift(C)));

no=0.01;%单边带功率谱密度

axis([-3003000200])

a=0.8;%调制指数

title。载波信号频谱》;

t0=1;%信号连续时间

ts=0.001;%时间采样间隔subp1ot(3,2,6);p1ot(f,abs(fftshift(U)))

axis([-3003000I1);

Fc=250;%载波中心频率

title(,己调信号频谱);

Fs=l/ts;%采样频率

%相干解调,加入高斯白噪声

df=0.3;%频率分辨率noise

noise=sqrt(Bs*no)*randn(1,1ength(u);

t=[0:ts:t0];%时间矢量

m=sin(2*pi.*t);%调制信号y=(u+noise).*c;

[Y,y,df1]=fft_seq(y,ts,df);Y=Y/Fs;

c=cos(2*pi*Fc.*t);%载波信

%低通滤波axis([-101001]);title(,滤波器输出信号频

f_cutoff=150;n_cutoff=floo谱');

r(l50/dfl);

H=zeros(size(f));H(1:n_cutof

f)=2*ones(1,n_cutoff);

H(length(f)-n_cutoff+1:1ength载波信号载波信号频谱

(0)=2*0nes(1,n_cutoff);

DEM=H.*Y;%滤波器输出频

dem=rea1(ifft(DEM))*Fs;%

滤波器的输出

figure(2);

心得体会:

subplot(2,2,l);plot(t,y(klength

通过AM与DSB实验,我对模拟调制解调的方法及

(t)));

原理有了清楚直观的结识,知道了各类调制解调方

axis([01-44]);title。滤波器输

法的优缺陷和互相之间的区别。

入信号');

3、数字基带信号的码型的仿真

subp1ot(2,2,2);plot(f,abs(fft

(1)单极性非归零码

shift(Y)));

functiony=djxbg0(x)

axis([01000.5]);title(z滤波

%本函数实现将输入的一段二进制%代码编为相应的单极

器输入信号频谱');

性不归零码%输出,编码规则:零电平与正电

subplot(2,2,3);plot(t,dem(1:

%平分别相应着二进制代码0和1

1ength(t));

%输入X为二进制码,输出y为编

axis([01-14]);titleC滤波器

%好的码,给出计算每一个码元的

输出信号');

%点数,由于我们只有用离散的点

subplot(2,2,4);pIot(f,abs(ffts

%来得出连续的函数表达。在命令

hift(DEM)));

%窗口键入如下指令即会出现图形

%t=[l0011000010axis([0,i,-0.1,1.1]);

1];%采用了title命令来实现标记出各码元相应的二元信息

%djxbg0(t);title6001100001Or);

ts=0.001;%时间采样间隔x1abeIC单极性不归零码)

grid=l/ts;滤波器输入信号

t=O:ts:length(x);

fori=l:length(x),%计算码元

的值

if(x(i)==l),%假如信息为

1

forj=1:grid,

%该码元相应的点值取1

y((i-l)*grid+

j)=1;

檄器输入信号

end

else

forj=l:grid,

%反之,信息为0,码元相应点取0

00.51

y((i-1)*grid微器输出信号蹦器输出信号频谱

+j)=0;

end

end

end

y=[y,x(i)];

%为了画图注意序列加上最后一位

subplot(2,l,1);plot(t,y);

100110000码不的值1

1i)==1),%假如信息为1

J=1:grid/2,%该码元相应的点值取

0.5

0y((i-1)*grid+j)=l;

024681012

单极性不归零码end

forj=grid/2:grid,%占空比50%,归0

(2)双极性归零码,占空比50%

y((i-l)*grid+j)=O;

functiony=sjxgO(x)

end

%本函数实现将输入的一段二进制代

eIse

码编为相应的双极性归零码输出

forj=1:grid/2,%反之,信息为0,码元

%编码规则:负电平与正电平分别相应

相应点取-1

着二进制代码0和1,每个码元内的脉

y((i-l)*grid+j)=-1;

冲都回到零电平

end

%输入x为二进制码,输出y为编好的

forj=grid/2:grid,%占空比50%,归0

y((i-l)*grid+j)=O;

%给出计算每一个码元的点数,由于我

end

们只有用离散的点来得出连续的函数

end

表达。

end

%在命令窗口键入如下指令即会出现

y=[y,x⑴];%为了画图,注意将序列加上最后一位

图形

M=max(y);m=min(y);

%t=L1oo11ooooiou;

subp1ot(2,l,1);plot(t,y);

%sjxgO(t);

xlabel(双极性归零码)axis([0,i,m-0.l,M+0.1])

grid=3OO;

%采用了title命令来实现标记出各码元相应的二元信息

t=0:1/grid:1ength(x);

tit1e('10011000

fori=l:1ength(x),%计算

0101');

10011000碣元曲值01

end

(3)双相码

else

function[y,t]=shuangxiang(x)

%本函数实现将输入的一段二进制代%假如信息为0,该码元相应的点值取01

码编为相应的双向forj=1:grid/2,

y((i-1)*grid+j)=0;

%码输出,编码规则:“0”码用“01”

end

表达,“1”码用“10”%表达,输入

forj=grid/2:grid,

x为二进制码,输出y为编好的码,给

出计%算,每一个码元的点数,由于我y((i-l)*grid+j)=l;

们只有用离散的点来得出%连续的函end

数表达。end

%在命令窗口键入如下指令即会出现end

图形y=[y,x⑴];

%为了画图,注意将序列加上最后一位

%t=ll00I10000I01];

subp1ot(2,1,1);

%shuangxiang(t);

ts=0.001;%时间采样间隔plot(t,y);

axis([0,i,-0.1,1.1]);

grid=l/ts;

%采用了title命令来实现标记出各码元相应的二元信

t=O:ts:length(x);

fori=l:1ength(x),%计算

Xlabel('双向码');%ami(t);

title(40011000010grid=300;

r);s=0;%s为符号标志

t=0:1/grid:length(x);

fori=1:length(x),%计算码元的值

if(x⑴==1),%假如信息为1

if(s==0),

forj=1:grid,%s=0时,该码元相应

的点值取1

娴y((i-l)*grid+j)=1;

s=l;

(4)AMI码

end

functiony=ami(x)

else

%本函数实现将输入的一段二进制代

forj=1:grid,%s=l时,该码元

码编为相应的AMI码输出

相应的点值取-1

%编码规则:二进制“1”交替变换

y((i-l)*grid+j)=-l;

为“+1”,“/,,,“0”保持不变

s=0;

%输入x为二进制码,输出y为编好

end

的码

end

%给出计算每一个码元的点数,由于

e1se

我们只有用离散的点来得出连续的函

forj=l:grid,%反之,信息为0,码元

数表达

相应点取0

%在命令窗口键入如下指令即会出现

y((i-l)*grid+j)=O;

图形

end

%t=[10011000010

end

1];

end

y=[y,x⑴];%为了画图,注意将序列[Y2(i),y2(i)]=Hh(f(i),0.5,1);%

加上最后一位a=0.5

subplot(2,1,1);[Y3(i),y3(i)]=Hh(f(i),

Plot(t,y);1,1);%a=1

axis([0i—1.11.11)End

xlabel('AMI码');fori=(N+1):(2*N—1)

%采用了title命令来实现标记出f(i)=(i-N)/100;

各码元相应的二元信息[Y1(i),yl(i)]=Hh(f(i),0,1);%a=0

tit1e(z10011000010IY2(i),y2(i)]=Hh(f(i),0.5,1);%a=0.5

1');[Y3(i),y3(i)]=Hh(f(i),1,1);%a=l

end

(3)a=0,0.5,1的升余弦滚降系统频

figure(l);plot(f,Yl);holdon

谱及其各自相应的时域波形

plot(f,Y2/r');holdon

%gunjiang.m

plot(f,Y3;k');

%取a=0,0.5,1的升余弦滚降系统频

legend('a=0\ra=0.5Va=11)

谱及各自相应的时域波形

titl贝升余弦滚降频谱,);

%函数[Y,yJ=H(f,a,IT)为升余弦

axis([—2202]);

滚降系统频谱及各自相应的时域表达

figure(2);

plot(f,yl);ho1don

N=400;

fori=l:N

f(i)=(i

-N)/100;

%采样间隔

[Y1(i),yl(i)]=Hh(f(i),0,

1);%a=0

AM贿

H=(Ts/2)*(1+sin((pi—abs(f)*2*pi*Ts)/(2*a)));

升余弦滚降时域波形

p1ot(f,y2/r');holdon%成间隔为N-1个0的序列

P1ot(f,y3,k);Ts=l;%连续时间

titleC升余弦滚降时域波形');N_sample=17;

legend(za=0';a=0.5';a=r)eye_num=7;

axis([-44—11]);alpha=1;

N_data=l000;

%Hh.m

dt=Ts/N_sample;

%函数[Y,y]=H(U1T)为升余弦滚降

t=-3*Ts:dt:3*Ts;%subplot(414);xlabel('ttt7Ts');tit1e(基带信号眼

时间矢量图');

%产生双极性数字信号%画眼图

d=sign(randn(LN_data));ss=zeros(1,eye_num*N_sample);

dd=sigexpand(d,N_samt11=0:dt:eye_num*N_sample*dt—dt;

pie);%系统输入信号fork=3:50

%基带系统冲击响应(升余弦)ss=st(k*N_samp1e+l:(k+eye_num)*N_sam

ht=sinc(t/Ts).*(cos(alpha*ppie);

i*t/Ts))./(1-4*alphaA2*t/2/TsAdrawnow;

2);plot(ttt,ss);holdon;

st=conv(dd,hend

t);%系统输出function[out]=sigexpand(d,M)

信号%将输入的序列扩展成间隔为N—1个0的序列

tt=-3*Ts:dt:(N_data+3)*N_saN=1ength(d);

mp1e*dt—dt;%时间矢量ttout=zeros(M,N);

figure(l)out(1,:)=d;

subplot(411);plot(dd);out=reshape(out[,M*N);

axis([0100-221);titie('双极性

心得体会

数字信号');

通过数字基带信号的码型的仿真实验,我熟知了各种码型

subplot(412)

的编程规则及各自的特点,并且对实现无码间串扰传输与

p1ot(t,ht);x1abel(*t/Ts');tit

通信系统的关系有了清楚的结识。

1e(,系统函数波形(a=l));

subplot(413)

4、数字调制与解调的仿真

plot(tt,st);axis([020-1.2

(1)2FSK调制和解调

1.2]);xlabe1('tt/Ts1);title(,基带信

%2FSK调制,FSKnoise.m

号');

df=0.3;%频率分辨率

ts=O.0005;%时间采样间隔title('l00110100101');

Fs=1/ts;%采样频率subplot。,2,2);plot(t,s2);axis([0,n,-0.1

x=[10011010010ylabel。基带信号反码s2);

U;titlefl0011010010I1);

n=1ength(x);subplot(3,2,3);plot(t,c1);axis([0,1,-

[sLt]=djxbg0(x);1eC载波信号cl);

%基带信号为单极性不归零码subplot(3,2,4);plot(t,c2);axis([0,l,-1,

s2=1—si;itled载波信号c2、);

%单极性不归零码的反码subplot(3,2,5);plot(t,ei1);

cl=sin(2*pi*20.*t);axis([0,n,-l,l]);tit1e(,已调信号eil);

%载波信号cl,f=20hzsubplot(3,2,6);plot(t,ei2);

c2=sin(2*pi*120.*t);

双极性数字信号

%载波信号c2,f=120hz1।।।।

\A_______A______A____________

V

ii।।।।

eil=cl.*s1;

0102030405060708090100

%已调信号ei1

系统函嬲形(利

ei2=c2.*s2;

%已调信号ei2-2-10123

t/Ts

e=ei1+ei2;基制资

%2FSK信号

noise=0.1*randn(l,length(t));

%加入噪声基带信布图

。kxx3XXXXX

e=e+noise;2厂一「一「一厂一厂一厂一厂一

*01234567

figure(1);tttffs

subp1ot(3,2,l);

plot(t,s1);axis([0,n,-0.1,1.1]);

ylabe1('基带信号s「);

ofigure(2);

100110100101N11001011010

s11subplol(321

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论