通信原理实验报告

实验一  常用信号的表示

【实验目的】

掌握使用MATLAB的信号工具箱来表示常用信号的方法。

【实验环境】

装有MATLAB6.5或以上版本的PC机。

【实验内容】

1. 周期性方波信号square

调用格式:x=square(t,duty)

功能:产生一个周期为、幅度为的周期性方波信号。其中duty表示占空比,即在信号的一个周期中正值所占的百分比。

1产生频率为40Hz,占空比分别为25%、50%、75%的周期性方波。如图1-1所示。

clear;                                                             % 清空工作空间内的变量

td=1/100000;

t=0:td:1;

x1=square(2*pi*40*t,25); x2=square(2*pi*40*t,50); x3=square(2*pi*40*t,75);              % 信号函数的调用

subplot(311);                                                       % 设置3行1列的作图区,并在第1区作图

plot(t,x1);

title('占空比25%'); axis([0 0.2 -1.5 1.5]);          % 限定坐标轴的范围

subplot(312); plot(t,x2);

title('占空比50%'); axis([0 0.2 -1.5 1.5]);

subplot(313); plot(t,x3);

title('占空比75%'); axis([0 0.2 -1.5 1.5]);

图1-1  周期性方波

2. 非周期性矩形脉冲信号rectpuls

调用格式:x=rectpuls(t,width)

功能:产生一个幅度为1、宽度为width、以t=0为中心左右对称的矩形波信号。该函数横坐标范围同向量t决定,其矩形波形是以t=0为中心向左右各展开width/2的范围。Width的默认值为1。

2生成幅度为2,宽度T=4、中心在t=0的矩形波x(t)以及x(t-T/2)。如图1-2所示。

t=-4:0.0001:4;

T=4;                                                                     % 设置信号宽度

x1=2*rectpuls(t,T);                                             % 信号函数调用

subplot(121); plot(t,x1);

title('x(t)'); axis([-4 6 0 2.2]);

x2=2*rectpuls(t-T/2,T);                                       % 信号函数调用

subplot(122); plot(t,x2);

title('x(t-T/2)'); axis([-4 6 0 2.2]);

3. 抽样信号sinc

调用格式:x=sinc(x)

功能:产生一个抽样函数,其值为x/sinx。

3生成抽样信号,如图1-3所示。

clear;                                        % 清理变量

t=-1:0.001:1;

y=sinc(2*pi*t);                        % 信号函数调用

plot(t,y);

xlabel('时间t'); ylabel('幅值(y)');

title('抽样信号');

图1-2  非周期性方波

图1-3  抽样信号

【练一练】

用MATLAB信号工具箱中的pulstran函数产生冲激串的信号。

T = 0:1/50E3:10E-3;

D = [0:1/1E3:10E-3;0.8.^(0:10)]';

Y = pulstran(T,D,'gauspuls',10E4,0.8);

plot(T,Y)

【实验心得】

通过此次试验,首先,让我对MATLAB强大的功能有了进一步的了解。其次,也学会了一些常用信号的表示方法。通过自己动手操作,我知道了pulstran函数的调用方法,可以自行画出冲击串函数。


实验二  信号的Fourier分析

【实验目的】

1) 通过计算周期方波信号的Fourier级数,进一步掌握周期信号Fourier级数的计算方法。

2) 通过求解非周期方波信号的Fourier变换,进一步掌握非周期信号Fourier变换的求解方法。

【实验环境】

装有MATLAB6.5或以上版本的PC机。

【实验内容】

1. 连续时间周期方波信号及其傅里叶级数计算的程序代码,其结果如图2-1所示。

dt = 0.001;                                      % 时间变量变化步长

T =2;                                       % 定义信号的周期

t =-4:dt:4;                                   % 定义信号的时间变化范围

w0 = 2*pi/T;                                  % 定义信号的频率

x1=rectpuls( t-0.5-dt,1);                             % 产生1个周期的方波信号

x=0;

for m = -1:1                                 % 扩展1个周期的方波信号

x = x+rectpuls((t-0.5-m*T-dt),1);           % 产生周期方波信号

end

subplot(221);

plot(t,x);

axis([-4 4 0 1.1]);                               % 设定坐标变化范围

title('周期方波信号')

N=10;                                           % 定义需要计算的谐波次数为10

for k=-N : N

ak(N+1+k) = x1*exp(-j*k*w0*t') *dt/T;           % 求得Fourier系数ak

end

k=-N:N;

subplot(212);

stem(k,abs(ak),'k.');                             % 绘制幅度谱

title('傅里叶级数');

图2-1  连续时间周期方波信号及其Fourier级数

2. 非周期连续时间信号及其Fourier变换的程序代码,其结果如图2-2所示。

width=1;

t=-5:0.01:5;

y=rectpuls(t,width);                              % 矩形脉冲信号

subplot(221);

plot(t,y);

ylim([-1 2]);                                    % 限定y坐标的范围

title('矩形脉冲信号');

Y=fft(y,1024);                                % 快速Fourier变换

Y1=fftshift(Y);                                 % 将频谱分量集中

subplot(212);

plot(abs(Y1));

title('傅里叶变换');

 

图2-2  非周期连续时间信号及其Fourier变换

【实验心得】

这次实验是信号的Fourier分析。通过此次实验,我进一步掌握周期信号Fourier级数的计算方法和非周期信号Fourier变换的求解方法。可以通过MATLAB来自己画出要求的图形,对老师的代码也掌握了。


实验三  调幅信号及其功率谱计算

【实验目的】

1) 通过计算AM调制信号,进一步熟悉并掌握AM的调制过程。

2) 通过对AM调制信号的功率谱计算,进一步熟悉并掌握AM调制信号的功率谱计算方法。

【实验环境】

装有MATLAB6.5或以上版本的PC机。

【实验内容】

1. AM调制信号及其功率谱计算的程序代码及注释说明

% AM基带信号

dt=0.001;                                             % 采样时间间隔

fs=1;                                                     % 基带信号频率

fc=10;                                                    % 载波频率

T=5;                                                     % 调制信号的时间长度

N=T/dt;                                                  % 采样点总数

t=[0:N-1]*dt;                          % 采样时间变量

mt=sqrt(2)*cos(2*pi*fs*t);                 % 基带信号时域表达式

% AM调制信号

A0=2;                                       % 直流偏移量

s_AM=(A0+mt).*cos(2*pi*fc*t);                 % AM调制信号

% PSD计算

[X]=fft(s_AM);                         % 对AM调制信号进行快速Fourier变换

[Y]=fft(mt);                            % 对基带信号进行快速Fourier变换

PSD_X=(abs(X).^2)/T;             % 根据功率谱密度公式计算AM调制信号的PSD

PSD=(abs(Y).^2)/T;                     % 根据功率谱密度公式计算基带信号的PSD

PSD_Y=fftshift(PSD);                   % 将零频分量移到频谱的中心位置

PSD_X_dB = 10*log10(PSD_X);          % 将功率化为以dB为单位

PSD_Y_dB = 10*log10(PSD_Y);          % 将功率化为以dB为单位

f=[-N/2:N/2-1]*2*fc/N;                  % 设置频率变量

% 绘图输出

subplot(311);

plot(t,s_AM); hold on;

plot(t,A0+mt,'r--');                                 % 绘制包括线

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

subplot(312);

plot(f,PSD_Y_dB); hold on;

axis([-2*fc 2*fc 0 max(PSD_Y_dB)]);

title('基带信号的PSD(dB)');

subplot(313);

plot(f,PSD_X_dB); hold on;

axis([-2*fc 2*fc 0 max(PSD_X_dB)]);

title('AM调制信号的PSD(dB)');

2. AM调制信号及其功率谱的计算结果

图3-1  AM调制信号及其功率谱

【练一练】

试用MATLAB编程计算抑制载波双边带(DSB-SC)调制信号及其功率谱密度,所用基带模拟信号和载波表达式同上。

%基带信号

dt=0.001;                                                        % 采样时间间隔

fs=1;                                                     % 基带信号频率

fc=10;                                                    % 载波频率

T=5;                                                     % 调制信号的时间长度

N=T/dt;                                                  % 采样点总数

t=[0:N-1]*dt;                                       % 采样时间变量

mt=sqrt(2)*cos(2*pi*fs*t);                        % 基带信号时域表达式

%抑制载波双边带(DSB-SC)调制信号

A0=0;                                       % 直流偏移量

s_AM=(A0+mt).*cos(2*pi*fc*t);                 % AM调制信号

% PSD计算

[X]=fft(s_AM);                         % 对AM调制信号进行快速Fourier变换

[Y]=fft(mt);                            % 对基带信号进行快速Fourier变换

PSD_X=(abs(X).^2)/T;               % 根据功率谱密度公式计算AM调制信号的PSD

PSD=(abs(Y).^2)/T;                     % 根据功率谱密度公式计算基带信号的PSD

PSD_Y=fftshift(PSD);                    % 将零频分量移到频谱的中心位置

PSD_X_dB = 10*log10(PSD_X);           % 将功率化为以dB为单位

PSD_Y_dB = 10*log10(PSD_Y);           % 将功率化为以dB为单位

f=[-N/2:N/2-1]*2*fc/N;                    % 设置频率变量

% 绘图输出

subplot(311);

plot(t,s_抑制载波双边带(DSB-SC)); hold on;

plot(t,A0+mt,'r--');                                 % 绘制包括线

title('抑制载波双边带(DSB-SC)调制信号及其包络');

subplot(312);

plot(f,PSD_Y_dB); hold on;

axis([-2*fc 2*fc 0 max(PSD_Y_dB)]);

title('基带信号的PSD(dB)');

subplot(313);

plot(f,PSD_X_dB); hold on;

axis([-2*fc 2*fc 0 max(PSD_X_dB)]);

title('抑制载波双边带(DSB-SC)调制信号的PSD(dB)');

【实验心得】

此次实验是调幅信号及其功率谱计算,通过计算AM调制信号,我熟悉并掌握了AM的调制过程。通过对AM调制信号的功率谱计算,我熟悉并掌握了AM调制信号的功率谱计算方法。在AM实验的基础之上,我能够使用MATLAB编程计算抑制载波双边带(DSB-SC)调制信号及其功率谱密度。

实验四  Simulink在数字调制中的应用

【实验目的】

1) 通过Simulink仿真,进一步熟悉并掌握2ASK的调制及其非相干解调的过程。

2) 通过对2ASK的调制及非相干解调过程的仿真,初步熟悉并掌握Simulink的仿真方法及其通信blocksets的应用。

【实验环境】

装有MATLAB6.5或以上版本的PC机。

【实验内容】

1. 2ASK仿真模型图

图4-3  2ASK相乘法调制及其非相干解调的仿真模型图

2. 各仿真模块的参数设置。

3.实验结果

【实验心得】

通过此次仿真实验,我认识到了MATLAB仿真模块功能的强大,熟悉并掌握了2ASK的调制及其非相干解调的过程。通过自己操作而得出实验结论,我的实验动手能力有了进一步提高。

 

第二篇:通信原理实验报告 (二)

通信原理实验报告(二)

学院:计算机科学与信息学院          专业: 网络工程           班级:网络092

注:各学院可根据教学需要对以上栏木进行增减。表格内容可根据内容扩充。

相关推荐