热门搜索 :
考研考公
您的当前位置:首页正文

通信系统仿真与实践

来源:伴沃教育


物理与电子信息工程学院

实验报告册

姓 名 陈 楠 学 号 10110003306 班 级 10通信本 课程名称 通信系统仿真与实践 指导教师 李理敏 第 2012 /2013 学年第 2 学期

上机作业一:

1、写出可以完成下列任务的Matlab命令(函数): (1)Matlab中的圆周率  约等于多少? eval

pi : 圆周率  ,其值为 imag(log(-1)).约3.1415926535897 (2)Matlab中的浮点运算相对精度是多少? eps :浮点运算相对精度

(3)浮点数表示范围为:10-308 ~ 10308,但具体是多少?

(4)Matlab中的最大整数、最小整数分别是多少?

(5)如何知道命令 realmax的具体用法?

(6)如何知道函数max的作用?并举例加以说明。 C = max(A) C = max(A,B) C = max(A,[],dim) [C,I] = max(...) 2、回答以下问题:

(1)Matlab 是什么含义?

Matlab: Matrix Laboratory 矩阵实验室 (2)Matlab命令who与whos有什么区别?

Who:显示工作空间中的所有变量

Whos:查看工作空间中变量的详细属性 (3)如何使用Matlab命令补全功能?

命令补全功能:Tab 键

(4)Matlab命令clear、clc与home有什么区别? clear:清除工作空间的所有变量;

clc:清除命令窗口的内容,对工作环境中的全部变量无任何影响;

home:将光标移到左上角,腾出命令窗口,以前的代码不会删除,只会上移;

第二讲:

5 阶的单位阵

8 阶均匀分布的随机矩阵及其下三角矩阵

生成列向量 x=[1, 3, 5, 7, 9, … , 99]

生成以 x 的前 5 个元素为对角线的矩阵 A

生成一个与 A 同阶的正态分布的随机矩阵 B

计算 A 的转置 与 B 的 kronecker 乘积矩阵 C

生成由 B 与其同阶魔方矩阵点乘得到的矩阵 D

生成由 D 的第 2、4、5 行和第4、1 列组成的子矩阵 E

求出矩阵 E 中绝对值最大的元素的绝对值

第三讲:

10.80.60.40.20-0.2-0.4-0.6-0.8-101234567

第三章习题

3、设有一系统,其输入/输出关系由差分方程确定,即

y(n)=0.95y(n-1)+x(n)-0.5x(n-1)

(1)求该系统的单位取样响应

(2)若x(n)=0.3,n0,求该系统的输出并画图。

代码如下:

clear all a=[1 0.95]; b=[1 -0.5]; n=0:30;

impz(b,a,30),gridontitle('系统单位取样响应h(n)')

clear all a=[1 0.95]; b=[1 -0.5]; n=0:30; x=0.3.^n; y=filter(b,a,x);

stem(n,y,'fill'),gridonxlabel('n'),title('输出响应)')

n结果如下;

Impulse Response1.510.5 Amplitude0-0.5-1-1.5051015n (samples)2025

1.510.50-0.5-1-1.5051015202530

5.

xtet2,求该信号的Fourier变换。

代码如下:

clear all syms t; f=exp(-t*t); F=fourier(f);

subplot(1,1,1);ezplot(F); 结果如下:

1/2 exp(-1/4 w2)1.81.61.41.210.80.60.40.20-4-3-2-10w1234

6、一个信号的Fourier变换是F(W)=1,试求该信号的时域表达式。

代码如下:

clear all syms t w; F=1;

f=ifourier(F,t) subplot(1,1,1); ezplot(f);

dirac(t)10.80.60.40.20-0.2-0.4-0.6-0.8-1-6-4-20t246

9、一个带通信号的定义如下:

X(t)=6(cos(20πt)-3sin(30πt))cos(400πt+3/8πt) (1) 画出x(t)的普函数。

(2) 画出该信号解析函数的普函数。

(3) 载波频率为f=200Hz,求该信号的低通等效信号。

clear all ts=0.001; fs=1/ts; t=0.1:ts:0.2; df=fs/length(t); f=-500:df:500-df;

x=6*(cos(20*pi*t)-3*sin(30*pi*t)).*cos(400*pi*t+3/8*pi*t); X=fft(x)/fs;

xa=hilbert(x); Xa=fft(xa)/fs;

subplot(2,1,1);plot(t,x);title('信号x');xlabel('时间t')

subplot(2,1,2);plot(f,fftshift(abs(X)));title('信号x幅度谱');xlabel('频率f')

figure

subplot(2,1,1);plot(t,abs(xa));title('信号xa包络');xlabel('时间t')

subplot(2,1,2);plot(f,fftshift(abs(Xa)));title('信号xa幅度谱');xlabel('频率f')

clear all ts=0.001; fs=1/ts; t=0.1:ts:0.2; df=fs/length(t); f=-500:df:500-df;

x=6*(cos(20*pi*t)-3*sin(30*pi*t)).*cos(400*pi*t+3/8*pi*t); xa=hilbert(x); fc=200;

x11=xa.*exp(-j*2*pi*fc*t); X11=fft(x11)/fs;

subplot(2,1,1);plot(t,real(x11));title('fc=200时的低通信号同相分量');xlabel('时间t')

subplot(2,1,2);plot(f,fftshift(abs(X11)));title('fc=200时的低通信号幅度谱');xlabel('频率f')

11、已知一滤波器的单位抽样响应为 h(n)=

n{0.7,n00,n0求一个在【-0.5,0.5】内服从均匀分布的随机数序列通过该滤波器后的自相关函数和功率谱密度。

clear all N1=2000; N2=100;

x=rand(N2,N1)-0.5; for ii=1:N2

y(ii,1)=x(ii,1); for jj=2:N1

y(ii,jj)=0.7*y(ii,jj-1)+x(ii,jj); end

[Ry(ii,:),lags]=xcorr(y(ii,:),50,'coeff'); Sf(ii,:)=fftshift(abs(fft(Ry(ii,:)))); end

Ry_av=sum(Ry)/N2; Sf_av=sum(Sf)/N2;

subplot(2,1,1);plot(lags,Ry_av);title('自相关函数') subplot(2,1,2);plot(lags,Sf_av);title('功率谱密度')

第四章题目

4—2仿真一个三角波信号通过AWGN信道后的结果,分别用randn函数

和awgn函数实现。 代码:subplot(3,1,1);

T=1:0.001:10;

y = sawtooth(pi/2*T,.5);%三角波信号. plot(T,y);

subplot(3,1,2);

z = awgn(y,10,'measured'); % 添加高斯噪声. plot(T,z);

subplot(3,1,3);

k=0.2*randn(1,length(T));% 生成“高斯噪声”.

z1=y+k;% 添加高斯噪声. plot(T,z1);

图形:

4—3修改例4.7中的Tx模块采用BPSK基带调制,重新仿真,观察仿

真结果与留4.7有何不同?

代码:clear all

snr=-30:0; %SNR的范围 SimulationTime=10; %仿真结束时间 for ii=1:length(snr)

SNR=snr(ii); %赋值给AWGN信道模块中的SNR sim('ex7'); %运行仿真模型

ber(ii)=BER(1); %保存本次仿真得到的BER ser(ii)=SER(1); %保存本次仿真得到的SER end figure

semilogy(snr,ber,'-ro',snr,ser,'-r*') legend('BER','SER')

title('BPSK在AWGN信道下的性能') xlabel('信噪比(dB)')

ylabel('误符号率和误比特率')

图形:

4-4.产生最大多普勒频移为120的多径瑞利衰落信道,假设信号的抽样时间间隔为1/100000s,多径推迟为[0 6e-5 11e-5],各径增益为[0 -3 -6],所有路径接受信号强度之和为0,画出信道的功率随时间变化曲线。 代码如下:

clear all

snr=-3:3; %SNR的范围 SimulationTime=0; %仿真结束时间 ex7main; %运行示例4.7 ser1=ser;ber1=ber; %保存示例4.7的结果 for ii=1:length(snr)

SNR=snr(ii); %赋值给AWGN信道模块中的SNR sim('ex11'); %运行仿真模型 ber(ii)=BER(1); %保存本次仿真得到的BER ser(ii)=SER(1); %保存本次仿真得到的SER end

semilogy(snr,ber,'-rs',snr,ser,'-r^',snr,ber1,'-ro',snr,ser1,'-r*') legend('Rayleigh衰落+AWGN信道BER','Rayleigh衰落+AWGN信道SER','AWGN信道BER','AWGN信道SER')

title('QPSK在AWGN和多径Rayleigh衰落信道下的性能') xlabel('信噪比(dB)') ylabel('误符号率和误比特率')

Simulink 仿真如下:

结果如下:

10-1QPSK在AWGN信道下的性能BERSER10-2率特比误和率号符误10-310-410-5-3-2-10信噪比(dB)123

第五章题目:

t1、给定消息信号x(t)cos(2t)esin(4t),0t10,使用该信号以AM方式调

制一个载波频率为300Hz,幅度为1的正弦载波,试求: (1)消息信号的频谱和已调信号的频谱。 (2)消息信号的功率和已调信号的功率。 代码如下:

clear all

ts=0.001; t=0:ts:10-ts; fs=1/ts; df=fs/length(t); msg=randint(100,1,[-3,3],123); msg1=msg*ones(1,fs/10); msg2=reshape(msg1.',1,length(t)); Pm=fft(msg2)/fs; f=-fs/2:df:fs/2-df; subplot(2,1,1)

plot(f,fftshift(abs(Pm))) ;xlabel('10110003314 付裕'); title('消息信号频谱') A=1;

fc=300;

Sam=(A+msg2).*(cos(2*pi*fc*t)+exp(-t).*sin(4*pi*fc*t)); Pam=fft(Sam)/fs; subplot(2,1,2)

plot(f,fftshift(abs(Pam))); xlabel('10110003314 付裕'); title('AM信号频谱') axis([-500 500 0 23])

Pc=sum(abs(Sam).^2)/length(Sam) Ps=Pc-A^2/2 eta=Ps/Pc Pc =

2.3077 Ps =

1.8077 eta =

0.7833 结果如下:

消息信号频谱43210-500-400-300-200-100010010110003314 付裕AM信号频谱20030040050020151050-500-400-300-200-100010010110003314 付裕200300400500

2. 用Simulink重做项目1。

Simulink仿真图及结果如下:

Scope1

Scope

第六章题目:

6.2对于信号st(0)=-1, Ta=> t <= Tb ; st(1)=-1, 0=> t <= Tb/2;1, Tb/2=> t <= Tb;重做例6.1.从传输二进制的信号的序列的角度来看,一组比另一组的信号更好一些吗? 代码如下: clear all

nsamp=10; %每个脉冲信号的抽样点数 s0=-ones(1,nsamp); %基带脉冲信号 s1=[-ones(1,nsamp/2) +ones(1,nsamp/2)];

nsymbol=100000; %每种信噪比下的发送符号数 EbN0=0:12; %信噪比,E/N0 msg=randint(1,nsymbol); %消息数据 s00=zeros(nsymbol,1); s11=zeros(nsymbol,1);

indx=find(msg==0); %比特0在发送消息中的位置 s00(indx)=1;

s00=s00*s0; %比特0影射为发送波形s0 indx1=find(msg==1); %比特1在发送消息中的位置 s11(indx1)=1;

s11=s11*s1; %比特1映射为发送波形s1 s=s00+s11; %总的发送波形

s=s.'; %数据转置,方便接收端处理 for indx=1:length(EbN0)

decmsg=zeros(1,nsymbol);

r=awgn(s,EbN0(indx)-7); %通过AWGN信道 r00=s0*r; %与s0相关 r11=s1*r; %与s1相关 indx1=find(r11>=r00);

decmsg(indx1)=1; %判决 [err,ber(indx)]=biterr(msg,decmsg); end

semilogy(EbN0,ber,'-ko',EbN0,qfunc(sqrt(10.^(EbN0/10)))); title('二进制正交信号在AWGN信道下的误比特率性能') xlabel('Eb/N0');ylabel('误比特率Pe') legend('仿真结果','理论结果') 结果如下:

100二进制正交信号在AWGN信道下的误比特率性能仿真结果理论结果10-110-2率特比误Pe10-310-410-50246Eb/N081012

4.采用检测器输入作为仿真对象重新仿真例6.5 代码如下:

clear all

nsymbol=100000; %发送符号数 EbN0=0:10; %信噪比 msg=randint(1,nsymbol); %消息数据

E=1;

r0=zeros(1,nsymbol); r1=zeros(1,nsymbol); indx=find(msg==0); r0(indx)=E; indx1=find(msg==1); r1(indx1)=E;

for indx=1:length(EbN0) dec=zeros(1,length(msg));

snr=2*10.^(EbN0(indx)/10); %dB转换为线性值 sigma=1/(2*snr); %噪声方差 r00=r0+sqrt(sigma)*randn(1,length(msg)); %相关器的输出 r11=r1+sqrt(sigma)*randn(1,length(msg)); indx1=find(r11>=r00); %判决 dec(indx1)=1;

[err,ber(indx)]=biterr(msg,dec); end figure

semilogy(EbN0,ber,'-ko',EbN0,qfunc(sqrt(10.^(EbN0/10))),'-k*',EbN0,qfunc(sqrt(2*10.^(EbN0/10))));

title('双极性信号在AWGN信道下的误比特率性能') xlabel('Eb/N0');ylabel('误比特率Pe')

legend('双极性信号仿真结果','正交信号理论误比特率','双极性信号误理论误比特率')

100双极性信号在AWGN信道下的误比特率性能双极性信号仿真结果正交信号理论误比特率双极性信号误理论误比特率10-110-2率特比误Pe10-310-410-510-6012345Eb/N0678910

6.5用Simulink重做习题4 仿真图及代码如下:

clear all

EbN0=0:10; %SNR的范围

for ii=1:length(EbN0)

SNR=EbN0(ii); %赋值给AWGN信道模块中的SNR sim('ex5'); %运行仿真模型 ber(ii)=BER(1); %保存本次仿真得到的BER

end

semilogy(EbN0,ber,'-ko',EbN0,qfunc(sqrt(10.^(EbN0/10))),'-k*',EbN0,qfunc(sqrt(2*10.^(EbN0/10))));

title('双极性信号在AWGN信道下的误比特率性能') xlabel('Eb/N0');ylabel('误比特率Pe')

legend('双极性信号仿真结果','正交信号理论误比特率','双极性信号理论误比特率')

结果如下:

100双极性信号在AWGN信道下的误比特率性能双极性信号仿真结果正交信号理论误比特率双极性信号理论误比特率10-110-2率特比误Pe10-310-410-510-6012345Eb/N0678910

因篇幅问题不能全部显示,请点此查看更多更全内容

Top