- 59
- 0
- 约6.21千字
- 约 16页
- 2018-06-03 发布于重庆
- 举报
通信原理概论实验数字调制系统二进制数字调制多进制数字调制
《通信原理概论实验》实验报告
班级: 计科101 学号:
姓名: 日期:2013年5月21日
实验序号:实验三
实验名称:
数字调制系统—二进制数字调制
实验目的:
(1)使用MATLAB产生三种基本的二进制数字调制信号。
(2)通过实验进一步熟悉和掌握二进制数字调制的基本原理。
实验要求:
请按照本实验说明的实验内容部分的信息独立完成本实验,并提交实验报告,实验报告请参照实验报告模板的格式。
实验内容:
参考第4次和第5次实验的相关代码,编制一个函数ASK,用于对任意的二进制序列产生对应的2ASK信号。
提示:本程序的代码结构和前两次实验大体相同,可在原来的程序基础上修改得到。首先要有一个输入序列,然后依次处理该序列中的每一个符号。对于2ASK来说,如果对应符号1,则输出载波,否者输出0。输出载波的代码片段为:
for j=1:t0
y((i-1)*t0+j)=sin(2*pi*fc*j/t0);
end;
注意:
(1)fc是载波的频率(因此之前需要定义一个fc),如果fc=1,则一个二进制符号调制后输出1个周期的正弦波,如果fc=2,则输出2个周期的正弦波,等等。
(2)该函数编制好后,在MATLAB的命令窗口输入:
x=[1 1 1 0 1 0 1 0 1 ]; %这个二进制序列可以任意修改
ASK(x) %执行函数,输出显示对应的2ASK信号
(3)程序最后一行使用: axis([0,i,-1.1,1.1]); 控制显示的刻度范围。
显示结果:
修改程序,编制一个函数FSK,用于对任意的二进制序列产生对应的2FSK信号。(注意:要求本题目用两种方法实现:
(1)直接根据是符号0还是符号1,输出不同的载波。输出载波的方法同上,但注意要有两种不同频率的载波。
(2)将FSK分解为两路不同的ASK信号之和,分别求得两路ASK,然后相加得到FSK。注意两路ASK对应的二进制序列正好相反。)
function y=FSK(x)
%输入x为二进制码,输出y为编好的码
t0=200; %每个码元200个点
t=0:1/t0:length(x); %时间序列
fc=1;
fc1=2;
for i=1:length(x) %计算机码元的值
if x(i)==1
for j=1:t0
y((i-1)*t0+j)=sin(2*pi*fc*j/t0);
end;
else
for j=1:t0 %如果输入信息为1,码元对应的点值取1
y((i-1)*t0+j)=sin(2*pi*fc1*j/t0);
end;
end
end
N=length(y);
temp=y(N);
y=[y,temp];
plot(t,y);
axis([0,i,-1.1,1.1]);
title(FSK);
显示结果
修改程序,编制一个函数PSK,用于对任意的二进制序列产生对应的2PSK信号。(注意:PSK信号的产生应该有一个前提规定,即什么样的波形表示0,什么样的波形表示1,请在程序中用注释说明这一点。)
y((i-1)*t0+j)=sin(2*pi*fc*j/t0); %该波形表示0
y((i-1)*t0+j)=-sin(2*pi*fc*j/t0); %该波形表示1
显示结果:
修改程序,编制一个函数DPSK,用于对任意的二进制序列产生对应的2DPSK信号。(注意:要求本题目用两种方法实现:
(1)直接根据是符号0还是符号1,输出DPSK波形。
(2)将原始二进制序列的绝对码变换成相对码后,再进行绝对移相得到DPSK信号。不管用哪种方法,均需要有一个前提规定,即什么样的相位差对应什么符号,请在程序中用注释说明这一点。)
function y=DPSK(x)
%输入x为二进制码,输出y为编好的码
t0=200; %每个码元200个点
t=0:1/t0:length(x); %时间序列
fc=1; %初始频率
p1=1; %始初为sin,且遇到符号0变化,1不变化
for i=1:length(x) %计算机码元的值
if x(i)==1
if p1==1
for j=1:t0
原创力文档

文档评论(0)