找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7499|回复: 0
打印 上一主题 下一主题
收起左侧

模拟调制系统,数字基带信号功率谱眼图分析-通信原理实验报告

[复制链接]
跳转到指定楼层
楼主
ID:374310 发表于 2018-7-18 18:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

实验报告(1

实验名称

模拟调制系统

实验日期

指导教师


【实验目的】

    1、掌握模拟调制信号的波形及产生方法;

2、掌握模拟调制信号的频谱特点;

3、掌握模拟调制信号的解调方法;

4、掌握模拟调制系统的MATLAB仿真实现。

【实验内容】

    1. 信源为,载波为,绘制AM、DSB调制信号的时域波形及其频谱。

    2. 信源为,载波为,绘制AM、DSB调制信号的相干解调后的信号波形。

【实验报告】

    1.列出实验程序清单,并附上必要的程序说明。

    2.记录实验结果,并对结果进行分析。

实验结果:

1. 信源为,载波为,绘制AM、DSB调制信号的时域波形及其频谱。

源代码为:

dt=0.001;
fmax=1;
fc=10;
T=5;
N=T/dt;
t=0:dt:T;
mt=sqrt(2)*cos(2*pi*fmax*t);%
figure(1)
plot(t,mt);
%AM modulation
A=2;
am=(A+mt).*cos(2*pi*fc*t);
%power spectrum density ¹
[f,Xf]=FFT_SHIFT(t,am);
psd=(abs(Xf).^2)/T;
figure(2)
subplot(211);
plot(t,am);hold on
plot(t,A+mt,'r--');
title('AM¼°Æä°üÂç');
xlabel('t');
subplot(212);
plot(f,psd);
axis([-2*fc 2*fc 0 1.5*max(psd)]);
title('AM¹¦ÂÊÆ×');
xlabel('f');

实验结果图:

2.信源为,载波为,绘制AM、DSB调制信号的相干解调后的波形。

源代码为:

dt=0.001;
fmax=1;
fc=10;
T=5;
B=2*fmax;
N=floor(T/dt);
t=[0:N-1]*dt;
% ÐÅÔ´
mt=sqrt(2)*cos(2*pi*fmax*t);
%AM²úÉú
A=2;
am=(A+mt).*cos(2*pi*fc*t);
%AM½âµ÷
amd=am.*cos(2*pi*fc*t);
% amd=amd-mean(amd);
[f,AMf]=FFT_SHIFT(t,amd);
[t,am_t]=RECT_LPF(f,AMf,B);
subplot(211);
plot(t,mt);
title('signal');
subplot(212);
plot(t,am_t);

title('modulation');

实验结果图:



实验报告(2

实验名称

数字基带信号功率谱分析

实验日期

指导教师


【实验目的】

    1.掌握数字基带信号的波形及产生方法。

    2.掌握数字基带信号的功率谱分析方法。

【实验内容】

1.二进制序列为10110010,以矩形波为例,利用Matlab画出相应的单极性不归零、单极性归零、双极性不归零、双极性归零的波形。

2.利用Matlab绘制单极性不归零、单极性归零、双极性不归零、双极性归零的功率谱图形。

【实验报告】

    1.列出实验程序清单,并附上必要的程序说明。

    2.记录实验结果,并对结果进行分析。

实验结果:

Ts = 1; % 码元周期
N_sample = 128; % 单个码元抽样点数
dt = Ts / N_sample; % 抽样时间间隔
N = 8; % 码元数
t = 0 : dt : (N * N_sample - 1) * dt; % 序列传输时间
gt1 = ones(1, N_sample); % NRZ
gt2 = [ones(1, N_sample / 2), zeros(1, N_sample / 2)]; % RZ
%% 单极性
RAN = [1 0 1 1 0 0 1 0];
se1 = [];
se2 = [];
for i = 1 : N % 生成序列
   if RAN(i)==1
       se1 = [se1 gt1];
       se2 = [se2 gt2];
   else
       se1 = [se1 zeros(1, N_sample)];
       se2 = [se2 zeros(1, N_sample)];
   end
end
%% 绘制出结果
subplot(2, 2, 1);plot(t, se1);grid on;axis([0 8 -1.5 1.5]);title('NRZ');
subplot(2, 2, 2);plot(t, se2);grid on;axis([0 8 -1.5 1.5]);title('RZ');
%% 双极性
RAN = [1 0 1 1 0 0 1 0];
se1 = [];
se2 = [];
for i = 1 : N % 生成序列
   if RAN(i)==1
       se1 = [se1 gt1];
       se2 = [se2 gt2];
   else
       se1 = [se1 -1*gt1];
       se2 = [se2 -1*gt2];
   end
end
%% 绘制出结果
subplot(2, 2, 3);plot(t, se1);grid on;axis([0 8 -1.5 1.5]);title('DBNRZ');
subplot(2, 2, 4);plot(t, se2);grid on;axis([0 8 -1.5 1.5]);title('DBRZ');


%% 生成单个码元
Ts = 1; % 码元周期
N_sample = 128; % 单个码元抽样点数
dt = Ts / N_sample; % 抽样时间间隔
N = 8; % 码元数
t = 0 : dt : (N * N_sample - 1) * dt; % 序列传输时间
gt1 = ones(1, N_sample); % NRZ
gt2 = [ones(1, N_sample / 2), zeros(1, N_sample / 2)]; % RZ
%% 单极性
RAN = [1 0 1 1 0 0 1 0]; % 随机0 1序列
se1 = [];
se2 = [];
for i = 1 : N % 生成序列
   if RAN(i)==1
       se1 = [se1 gt1];
       se2 = [se2 gt2];
   else
       se1 = [se1 zeros(1, N_sample)];
       se2 = [se2 zeros(1, N_sample)];
   end
end
%% 单极性功率谱密度计算
fft_se1 = fftshift(fft(se1)); % 求序列的频谱
fft_se2 = fftshift(fft(se2));
PE1 = 10 * log10(abs(fft_se1) .^ 2 / (N * Ts)); % 公式法求概率谱密度
PE2 = 10 * log10(abs(fft_se2) .^ 2 / (N * Ts));
PEL1 = (-length(fft_se1) / 2 : length(fft_se1) / 2 - 1) / 10; % 求区间长度
PEL2 = (-length(fft_se2) / 2 : length(fft_se2) / 2 - 1) / 10;
%% 绘制出结果
subplot(2, 2, 1);plot(PEL1, PE1); grid on; axis([-20 20 -20 50]); title('density-NRZ');
subplot(2, 2, 2);plot(PEL2, PE1); grid on; axis([-20 20 -20 50]); title('density-RZ');
%% 双极性
RAN = [1 0 1 1 0 0 1 0]; % 随机0 1序列
se1 = [];
se2 = [];
for i = 1 : N % 生成序列
   if RAN(i)==1
       se1 = [se1 gt1];
       se2 = [se2 gt2];
   else
       se1 = [se1 -1*gt1];
       se2 = [se2 -1*gt2];
   end
end
%% 双极性功率谱密度计算
fft_se1 = fftshift(fft(se1)); % 求序列的频谱
fft_se2 = fftshift(fft(se2));
PE1 = 10 * log10(abs(fft_se1) .^ 2 / (N * Ts)); % 公式法求概率谱密度
PE2 = 10 * log10(abs(fft_se2) .^ 2 / (N * Ts));
PEL1 = (-length(fft_se1) / 2 : length(fft_se1) / 2 - 1) / 10; % 求区间长度
PEL2 = (-length(fft_se2) / 2 : length(fft_se2) / 2 - 1) / 10;
%% 绘制出结果
subplot(2, 2, 3);plot(PEL1, PE1); grid on; axis([-20 20 -20 50]); title('density-DBNRZ');
subplot(2, 2, 4);plot(PEL2, PE1); grid on; axis([-20 20 -20 50]); title('density-DBRZ');



实验报告(3

实验名称

数字基带系统眼图分析

实验日期

指导教师


【实验目的】

    1.掌握眼图绘制方法。

    2.掌握数字基带系统的MATLAB仿真实现。

【实验内容】

   利用Matlab绘制二进制数字基带系统无码间串扰的基带信号波形及眼图。

【实验报告】

    1.列出实验程序清单,并附上必要的程序说明。

    2.记录实验结果,并对结果进行分析。

实验结果:

源代码:

% ts=1;N=15;
% eye_num=6;
% a=1;
% N_data=1000;
% dt=ts/N;
% t=-3*ts:dt:3*ts;
% %²úÉúË«¼«ÐÔÐźÅ
% d=sign(randn(1,N_data));
% dd=sigexpand(d,N);
% %»ù´øϵͳ³å¼¤ÏìÓ¦
% ht=sinc(t/ts).*cos(a*pi*t/ts)./(1-4*a^2*t.^2/ts^2+eps);
% st=conv(dd,ht);
% tt=-3*ts:dt:(N_data+3)*N*dt-dt;
% subplot(211);
% plot(tt,st);
% axis([0 20 -1.2 1.2]);
% xlabel('t/ts');ylabel('»ù´øÐźÅ');
% %ÑÛͼ
% ss=zeros(1,eye_num*N);
% ttt=0:dt:eye_num*N*t*dt-dt;
% for k=3:50
%     ss=st(k*N+1:(k+eye_num)*N);
%     drawnow;
%     plot(ttt,ss);
%     hold on
% end
% xlabel('t/ts');ylabel('»ù´øÐźÅÑÛͼ');

%
close all;
alpha=0.2;  %ÉèÖùö½µÏµÊý£¬È¡Öµ·¶Î§ÔÚ[0,1]?
Ts=1e-2;  %ÉýÓàÏÒ¹ö½µÂ˲¨Æ÷µÄ²Î¿¼ÂëÔªÖÜÆÚ,?Ts=10ms,ÎÞISI
%?Ts=2*(1e-2);?%Ts=20ms,ÒѾ­³öÏÖISI£¨ÁÙ½çµã)
%?Ts=5*(1e-2);???%Ts=50ms,³öÏÖÑÏÖØISI
Fs=1e3;%²ÉÑùƵÂÊ£¬µ¥Î»Hz¡£×¢Ò⣺¸ÃÊýÖµ¹ý´ó½«ÑÏÖØÔö¼Ó³ÌÐòÔËÐÐʱ¼ä
Rs=50; %ÊäÈëÂëÔªËÙÂÊ£¬µ¥Î»Baud
%?M=2;?
M=2;  %ÊäÈëÂëÔª½øÖÆ?
Num=100; %ÊäÈëÂëÔªÐòÁг¤¶È¡£×¢Ò⣺¸ÃÊýÖµ¹ý´ó½«ÑÏÖØÔö¼Ó³ÌÐòÔËÐÐʱ¼ä¡£
Samp_rate=Fs/Rs; %²ÉÑùÂÊ£¬Ó¦Îª´óÓÚ1µÄÕýÕûÊý£¬¼´ÒªÇóFs,RsÖ®¼ä³ÊÕûÊý±¶¹Øϵ
%?Eye_num=2; %ÔÚÒ»¸ö´°¿ÚÄڿɹ۲⵽µÄÑÛͼ¸öÊý¡£??
Eye_num=4; %ÔÚÒ»¸ö´°¿ÚÄڿɹ۲⵽µÄÑÛͼ¸öÊý¡£
%²úÉúË«¼«ÐÔNRZÂëÔªÐòÁÐ
NRZ=2*randint(1,Num,M)-M+1;
figure(1);
stem(NRZ);
xlabel('ʱ¼ä');ylabel('·ù¶È');
hold on; grid on;
title('Ë«¼«ÐÔNRZÂëÔªÐòÁÐ');
%¶ÔË«¼«ÐÔNRZÂëÔªÐòÁнøÐгéÑù
k=1;
for ii=1:Num
    for jj=1:Samp_rate
        Samp_data(k)=NRZ(ii);
        k=k+1;
    end;
end;
%»ù´øÉýÓàÏÒ¹ö½µÏµÍ³³å¼¤ÏìÓ¦
[ht,a]=rcosine(1/Ts,Fs,'fir',alpha);
figure(2);
subplot(2,1,1);
plot(ht);
xlabel('ʱ¼ä');ylabel('³å¼¤ÏìÓ¦');
hold on; grid on;
title('ÉýÓàÏÒ¹ö½µÏµÍ³³å¼¤ÏìÓ¦,¹ö½µÒò×Ó\alpha=0.2');
%½«ÐźÅËÍÈë»ù´øÉýÓàÏÒ¹ö½µÏµÍ³£¬¼´×ö¾í»ý²Ù×÷
st=conv(Samp_data,ht)/(Fs*Ts);
subplot(2,1,2);
plot(st);
xlabel('ʱ¼ä');ylabel('·ù¶È');
hold on; grid on;
title('¾­¹ýÉýÏÒ¹ö½µÏµÍ³ºóµÄÂëÔª');
%»­ÑÛͼ£¬ÔÚͬһ¸öͼÐδ°¿ÚÖظ´»­³öÒ»¸ö»òÈô¸É¸öÂëÔª
figure(3);
for k=10:floor(length(st)/Samp_rate)-10
    ss=st(k*Samp_rate+1:(k+Eye_num)*Samp_rate);
    plot(ss);
    hold on; grid on;
end
    title('»ù´øÐźÅÑÛͼ£¬ÎÞÂë¼ä´®ÈÅ');
axis([0 40 -2 2.5]);

实验结果图:




实验报告(4

实验名称

模拟信号的数字传输

实验日期

指导教师


【实验目的】

    1.掌握模拟信号数字传输的原理。

    2.掌握模拟信号的采样、量化、编码的基本原理。

【实验内容】

1.设信号为s(t)=sin2t,利用MATLAB绘制其均匀量化与采用A律量化结果图。

    2.设信号为s(t)=sin2t,利用MATLAB对其实现PCM编码与解码,绘制解码结果图。


【实验报告】

    1.列出实验程序清单,并附上必要的程序说明。

    2.记录实验结果,并对结果进行分析。

实验结果:

均匀量化:

close all

clear

clc

fs=1000;ts=1/fs;t=0:ts:1;

s=sin(2*pi*t);

plot(t,s,'-b');%产生信号

delt=2/8;%8级量化,delt为最小值

sign_s=(s>=0)*2-1;

qs=((ceil(abs(s)/delt)*delt-delt/2).*sign_s);

hold on;

plot(t,qs,'-r');

title('输入信号和量化信号')

grid on;

A律量化:

close all

clear all

clc

fs=1000;ts=1/fs;t=0:ts:1;

y=sin(2*pi*t);

y2 = y;

V= max(y2);

partitionV=(-15:15)/16*V;

codebookV=(-16:15)/16*V;

A=87.6;

compressedy2 = compand(y2,87.6,V,'a/compressor');

[index,quants] = quantiz(compressedy2,partitionV,codebookV);

reconstructedy = compand(quants,A,max(quants),'a/expander');

plot(t,y);

hold on

plot(t,reconstructedy,'r');



实验报告(5

实验名称

数字频带传输仿真(选做)

实验日期

指导教师


【实验目的】

    1.掌握2ASK、2FSK、2PSK原理。

    2.掌握2ASK、2FSK、2PSK的SIMULINK建模仿真实现方法。

【实验内容】

1.构建SIMULINK仿真模型,对2ASK调制与解调进行仿真。

2.构建SIMULINK仿真模型,对2FSK调制与解调进行仿真。

3.构建SIMULINK仿真模型,对2PSK调制与解调进行仿真。


【实验报告】

    1.给出SIMULINK仿真模型图及各模块参数设置情况。

    2.记录实验结果,并对结果进行分析。

实验结果:

1.构建SIMULINK仿真模型,对2ASK调制与解调进行仿真

  • 调制仿真

(1) 建立模型方框图

2ASK信号调制的模型方框图由DSP模块中的sinwave信号源、方波信号源、相乘器等模块组成,Simulink 模型图如下所示:

其中正弦信号是载波信号,方波代表S(t)序列的信号塬,正弦信号和方波相乘后就得到键控2ASK信号。

(2) 参数设置

建立好模型之后就要设置系统参数,以达到系统的最佳仿真。从正弦信号源开始依次的仿真参数设置如下:

其中sin函数是幅度为2频率为1Hz采样周期为0.002的双精度DSP信号。

方波信号是基于采样的,其幅度设置为2,周期为3,占1比为2/3。

(3)系统仿真及各点波形图

经过上面参数的设置后,就可以进行系统的仿真下面是示波器显示的各点的波形图:

由上图可以看出信息源和载波信号相乘之后就产生了受幅度控制的2ASK信号。

  • 解调仿真

  2ASK的解调分为相干解调和非相干解调法,采用相干解调法对2ASK信号进行解调。

    (1) 建立simulink模型方框图

相干解调也叫同步解调,就是用已调信号恢复出载波——既同步载波。再用载波和已调信号相乘,经过低通滤波器和抽样判决器恢复出S(t)信号,simulink模型图如下:

(2) 参数设置

由于低通滤波器是滤去高频的载波,所以为了使已调信号的频谱有明显的搬移,就要使载波和信息源的频率有明显的差别,在此直接使用原载波信号作为同步载波信号。

下面是低通滤波器的参数设置:   

(3)系统仿真及各点时间波形图

由图3-1-11可以看出由于载波频率的提高使的示波器在波形显示上出现了一定的困难,不过要想显示调制部分的理想波形只要调整示波器的显示范围即可。

2.构建SIMULINK仿真模型,对2FSK调制与解调进行仿真

  • 调制仿真

2FSK信号是由频率分别为f1和f2的两个载波对信号源进行频率上的控制而形成的,其中f1和f2是两个频率有明显差别的且都远大于信号源频率的载波信号,2FSK信号产生的simulink仿真模型图如下所示:

其中sin wave和sin wave1是两个频率分别为f1和f2的载波,Pulse Generator模块是信号源,NOT实现方波的反相,最后经过相乘器和相加器生成2FSK信号,各参数设置如下:

载波f1的参设:

其中幅度为2,f1=1Hz,采样时间为0.002s,在此选择载波为单精度信号。

f2的参数设置如图3-2-7所示。其中载波是幅度为2,f2=2,采样时间为0.002s的单精度信号。

本来信号源s(t)序列是用随机的0 和1信号产生,在此为了方便仿真就选择了基于采样的Pulse Generator信号模块其参数设置如下:

其中方波是幅度为1,周期为3,占1比为1/3的基于采样的信号。

经过以上参数的设置后就可以进行系统的仿真,其各点的时间波形如图所示。可以看出经过f1和f2两个载波的调制,2FSK信号有明显的频率上的差别。

  • 解调仿真

解调方框图如下所示:

经过系统仿真后的各点时间波形如图所示:

3.构建SIMULINK仿真模型,对2PSK调制与解调进行仿真

  • 调制仿真

在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号. 在此用已调信号载波的 0°和 180°分别表示二进制数字基带信号的 1 和 0用两个反相的载波信号进行调制,其方框图如下:

两个载波是幅度为3频率为4Hz采样时间为0.002s的反相信号。

脉冲信号是幅度为2周期为1占空比为50%的基于时间的信号。

  • 解调仿真

(1)建立simulink模型方框图如下:

(2)各点的时间波形如下所



完整的Word格式文档51黑下载地址:

通信原理作业.doc (500 KB, 下载次数: 14)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表