目 录
序言 …………………………………………………………………………………… 1
第1章 通信系统课程设计要求及方案论证 ……………………………… 2
1.1 设计要求 …………………………………………………………………… 2
1.2 设计内容 …………………………………………………………………… 2
1.3 方案论证 …………………………………………………………………… 2
第2章 MATLAB简介 …………………………………………………………… 2
2.1 MATLAB基本功能 …………………………………………………………… 4
2.2 MATLAB特点 ………………………………………………………………… 4
2.3 MATLAB的使用 ……………………………………………………………… 5
第3章 线性相关原理 …………………………………………………………… 6
3.1 AM的调制与解调 …………………………………………………………… 6
3.1.1 AM的调制……………………………………………………………… 6
3.1.2 AM的解调……………………………………………………………… 6
3.2 DSB的调制与解调 ………………………………………………………… 9
3.2.1 DSB的调制 …………………………………………………………… 9
3.2.2 DSB的解调 …………………………………………………………… 9
3.3 SSB的调制与解调 ………………………………………………………… 10
3.3.1 SSB的调制…………………………………………………………… 10
3.3.2 SSB的解调…………………………………………………………… 12
第4章 幅度调制系统的MATLAB仿真设计与分析 …………………… 13
4.1 AM的MATLAB仿真设计与分析 …………………………………………… 13
4.1.1 AM的仿真设计 ……………………………………………………… 13
4.1.2 AM的仿真程序 ……………………………………………………… 15
4.1.3 AM的仿真结果 ……………………………………………………… 16
4.1.4 AM仿真结果分析 …………………………………………………… 17
4.2 DSB的MATLAB仿真设计与分析…………………………………………… 17
4.2.1 DSB的仿真设计 ……………………………………………………… 17
4.2.2 DSB的仿真程序 ……………………………………………………… 17
4.2.3 DSB的仿真结果 ……………………………………………………… 20
4.2.4 DSB仿真结果分析 ………………………………………………… 21
4.3 SSB的MATLAB仿真设计与分析…………………………………………… 21
4.3.1 SSB的仿真设计 ………………………………………………………21
4.3.2 SSB的仿真程序 ……………………………………………………… 23
4.3.3 SSB的仿真结果 ……………………………………………………… 25
4.3.4 SSB仿真结果分析 ………………………………………………… 26
4.4 VSB的MATLAB仿真设计与分析…………………………………………… 26
4.4.1 VSB的仿真设计 ……………………………………………………… 26
4.4.2 VSB的仿真程序 ……………………………………………………… 28
4.4.3 VSB的仿真结果 ……………………………………………………… 30
4.4.4 VSB仿真结果分析 ……………………………………………………31
体会与建议 ………………………………………………………………………… 32
附录 三个调用程序(T2F、F2T、lpf)…………………………………… 33
参考文献 …………………………………………………………………………… 35
序 言
调制在通信系统中的作用至关重要。所谓调制,就是把信号转换成适合在信道中传输的形式的一种过程。广义的调制分为基带调制和带通调制(也称载波调制)。在无线通信中和其他大多数场合,调制一词均指载波调制。
载波调制,就是用调制信号去控制载波的参数的过程,使载波的某一个或某几个参数按照调制信号的规律而变化。调制信号是指来自信源的消息信号(基带信号),这些信号可以是模拟的,也可以是数字的。未受调制的周期性振荡信号称为载波,它含有调制信号的全部特征。解调(也称检波)则是调制的逆过程,其作用是将已调信号中的调制信号恢复出来。
调制方式有很多。根据调制信号是模拟信号还是数字信号,载波是连续波(通常是正弦波)还是脉冲序列,相应的调制方式有模拟连续波调制(简称模拟调制)、数字连续调制(简称数字调制)、模拟脉冲调制和数字脉冲调制等。
最常用和最重要的模拟调制方式是用正弦波作为载波的幅度调制和角度调制。常见的调幅(AM)、双边带(DSB)、单边带(SSB)和残留边带(VSB)等调制就是幅度调制的几个典型实例。
随着通信系统的规模和复杂性的不断增加,计算机仿真技术越来越受到重视。通过构筑通信技术仿真平台,可以在计算机上显示不同的工作原理。以方便对波形,频谱,抗噪声性能进行分析和处理。从而为通信系统设计和研究提供强有力的指导和帮助。设计对通信系统原理进行了设计和分析。利用MATLAB和编程原理对数字调制系统进行仿真。
第1章 通信系统课程设计要求及方案论证
1.1 设计要求
1、建立通信系统的数学模型
根据通信系统的基本原理,确定总的系统功能,将各部分功能模块化,并找出各部分之间的关系,画出系统框图。
2、熟悉仿真工具,采用m编程或Simulink模块化设计,组建通信系统
首先建立一个m文件,再根据系统原理框图画出软件实现流程图,然后根据流程图编写相应程序,最后对代码进行修正优化,最终实现系统功能。
3、根据系统性能指标,设置和调整各模块参数及初始化变量值。
4、实现系统运行仿真,观察分析结果(计算的数据、显示的图形)。
1.2 设计内容
线性幅度调制系统的仿真设计
指标要求:
(1) 信源为fm=1Hz,Am=1V 的余弦信号,载波fc=10Hz。
(2) 根据线性幅度调制原理,确定调制系统设计方案。
(3)画出AM、DSB,SSB调制解调信号时域波形和频谱图。
(4)对数据进行分析。
1.3 方案论证
幅度调制是由调制信号去控制高频载波的幅度,使之随调制信号作线性变化的过程。
幅度调制器的一般模型如图所示:
图1-1 幅度调制器的一般模型
图中, 为调制信号, 为已调信号, 为滤波器的冲激响应,则已调信号的时域和频域一般表达式分别为
式中, 为调制信号 的频谱, 为载波角频率。
由以上表达式可见,对于幅度调制信号,在波形上,它的幅度随基带信号规律而变化;在频谱结构上,它的频谱完全是基带信号频谱在频域内的简单搬移。由于这种搬移是线性的,因此幅度调制通常又称为线性调制,相应地,幅度调制系统也称为线性调制系统。
第2章 MATLAB简介
2.1 MATLAB基本功能
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
2.2 MATLAB特点
l 此高级语言可用于技术计算
l 此开发环境可对代码、文件和数据进行管理
l 交互式工具可以按迭代的方式探查、设计及求解问题
l 数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等
l 二维和三维图形函数可用于可视化数据
l 各种工具可用于构建自定义的图形用户界面
l 各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C++、Fortran、Java、COM 以及 Microsoft Excel)集成
l 不支持大写输入,内核仅仅支持小写
l 自带仿真系统
2.3 MATLAB的使用
双击桌面上 ,开始使用MATLAB软件(见图2-1)
图2-1 MATLAB操作界面说明
第3章 线性调制的相关原理
3.1 AM的调制与解调
3.1.1 AM的调制
标准调幅就是常规双边带调制,简称调幅(AM)。假设调制信号 的平均值为0,将其叠加一个直流偏量 后与载波相乘(图3-1),即可形成调幅信号。
图3-1 AM调制模型
其时域表示式为
式中, 为外加的直流分量; 可以是确知信号也可以是随机信号,但通常认为其平均值为0,即 。
3.1.2 AM的解调
若 为确知信号,则AM信号的频谱为
其典型波形和频谱(幅度谱)如图3-2所示:
图3-2 AM信号的波形和频谱
由波形可以看出,当满足条件:
时,AM波的包络与调制信号 的形状完全一样,因此,用包络检波的方法很容易恢复出原始调制信号;如果上述条件没有满足,就会出现“过调幅”现象,这时用包络检波将会发生失真。但是,可以采用其他的解调方法,如同步检波(相干检波)。
(1)包络检波
由 的波形可见,AM信号波形的包络与输入基带信号 成正比,故可以用包络检波的方法恢复原始调制信号。包络检波器一般由半波或全波整流器和低通滤波器组成,如下图所示。
图3-3 包络检波原理图
上图为串联型包络检波器的具体电路及其输出波形,电路由二极管D、电阻R和电容C组成。当RC满足条件
时,包络检波器的输出与输入信号的包络十分相近,即 的波纹,可由LPF滤除。
(2)相干检波
由AM信号的频谱可知,如果将已调信号的频谱搬回到原点位置,即可得到原始的调制信号频谱,从而恢复出原始信号。解调中的频谱搬移同样可用调制时的相乘运算来实现。相干解调的原理框图
图3-4 相干解调原理图
将已调信号乘上一个与调制器同频同相的载波,得
由上式可知,只要用一个低通滤波器,就可以将第1项与第2项分离,无失真的恢复出原始的调制信号
相干解调的关键是必须产生一个与调制器同频同相位的载波。如果同频同相位的条件得不到满足,则会破坏原始信号的恢复。
3.2 DSB的调制与解调
3.2.1 DSB的调制
如果在AM调制模型图3-1中将直流 去掉,即可得到一种高调制效率的调制方式——抑制载波双边带信号(DSB-SC),简称双边带信号(DSB)。
图3-5 DSB调制模型器图
其时域表达式为
式中,假设 的平均值为0。
3.2.2 DSB的解调
DSB的频谱与AM的谱相近,只是没有了在 处的 函数,即
其典型波形和频谱如图3-6所示:
图3-6 DSB信号的波形和频谱
由于DSB信号的包络不再与调制信号的变化规律一致,因而不能采用简单的包络检波来恢复调制信号。DSB信号解调时需采用相干解调。其模型与AM信号相干解调时完全相同,如图3-4所示。此时,乘法器输出
经低通滤波器滤除高次项,得
即无失真地恢复出原始电信号。
3.3 SSB的调制与解调
3.3.1 SSB的调制
单边带调制(SSB)信号是将双边带信号中的一个边带滤除掉而形成的。根据滤除方法的不同,产生SSB信号的方法有:滤波法和相移法。
1、滤波法及SSB信号的频域表示
用滤波法实现单边带调制的原理图如图所示,图中的 为单边带滤波器。产生SSB信号最直观方法的是,将 设计成具有理想高通特性 或理想低通特性 的单边带滤波器,从而只让所需的一个边带通过,而滤除另一个边带。产生上边带信号时 即为 ,产生下边带信号时 即为 。
图3-7 SSB信号的滤波法产生
显然,SSB信号的频谱可表示为
2、相移法和SSB信号的时域表示
SSB信号的时域表示式为
式中,“-”对应上边带信号,“+”对应下边带信号; 表示把 的所有频率成分均相移 ,称 是 的希尔伯特变换。
根据上式可得到用相移法形成SSB信号,如图3-8所示。图中, 为希尔伯特滤波器,它实质上是一个宽带相移网络,对 中的任意频率分量均相移 。
图3-8 相移法形成SSB信号的模型
相移法形成SSB信号的困难在于宽带相移网络的制作,该网络要对调制信号的所有频率分量严格相移 ,这一点即使近似达到也是困难的。
3.3.2 SSB的解调
SSB信号的解调和DSB一样,不能采用简单的包络检波,因为SSB信号也是抑制载波的已调信号,它的包络不能直接反映调制信号的变化,所以仍需采用相干解调。如图所示:
图4-10 SSB信号的相干解调
单边带幅度调制的好处是,节省了载波发射功率,调制效率高;频带宽度只有双边带的一半,频带利用率提高一倍。缺点是单边带滤波器实现难度大。
第4章 幅度调制系统的MATLAB仿真设计与分析
结合上述原理,发现幅度调制系统的公式已具体给出,而具体的调制、解调实现电路较复杂,所以我打算用m编程而不是Simulink模块化设计。
根据题目要求:信源为fm=1Hz,Am=1V 的余弦信号,载波fc=10Hz。以及结合抽样定理条件,可以写出表示信源和载波的程序:
dt=0.001; %时间采样间隔
fm=1; %信源最高频率
fc=10; %载波中心频率
T=5; %信号时长
t=0:dt:T;
mt=sqrt(2)*cos(2*pi*fm*t); %信源
mz=cos(2*pi*fc*t); %载波
AM、DSB、SSB三种信号的调制解调军用此信源和载波。
4.1 AM的MATLAB仿真设计与分析
4.1.1 AM的仿真设计
AM的时域表达式为:
其对应的程序为:
s_am=(A+mt).*cos(2*pi*fc*t)
其中A=2。这样AM的调制完成,再用下列语句将AM的调制波输出:
figure(1)
subplot(2,1,1)
plot(t,s_am);hold on; %画出AM信号波形
plot(t,A+mt,'r--'); %标出AM的包络
title('AM调制信号及其包络')
xlabel('t');
由于AM的包络检波由电路完成,程序很难实现,所以我选用相干检波。其解调的表达式为:
其对应的程序为:
rt=s_am.*cos(2*pi*fc*t)
由其解调电路可知,乘法器后面还需加个低通滤波器,取出低频成分。由于rt的表达式为时域的,在用程序实现滤波器功能之前,要先将其转为频域。低通的调用程序中有调用频域转为时域的步骤,因此,低通后直接输出的波形即为解调信号的时域波形。解调和输出程序为:
rt=s_am.*cos(2*pi*fc*t); %相干解调
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm); %低通滤波
subplot(2,1,2)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形')
xlabel('t')
要看已调信号的频谱图即可通过下面程序实现:
figure(2)
subplot(2,1,2)
[f,sf]=T2F(t,s_am); %调制信号频谱
plot(f,sf);hold on;
axis([0 20 0 6000]);
title('AM信号频谱')
xlabel('f/Hz');
4.1.2 AM的仿真程序
clear all;
dt=0.001; %时间采样间隔
fm=1; %信源最高频率
fc=10; %载波中心频率
T=5; %信号时长
t=0:dt:T;
mt=sqrt(2)*cos(2*pi*fm*t);%信源
A=2;
s_am=(A+mt).*cos(2*pi*fc*t);
B=2*fm; %带通滤波器带宽
figure(1)
subplot(2,1,1)
plot(t,s_am);hold on; %画出AM信号波形
plot(t,A+mt,'r--'); %标出AM的包络
title('AM调制信号及其包络')
xlabel('t');
rt=s_am.*cos(2*pi*fc*t);%相干解调
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm); %低通滤波
subplot(2,1,2)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形')
xlabel('t')
figure(2)
subplot(2,1,1)
[f,xf]=T2F(t,mt); %信源频谱
plot(f,xf);hold on;
axis([0 10 0 4000]);
title('信源频谱')
xlabel('f/Hz');
subplot(2,1,2)
[f,sf]=T2F(t,s_am); %调制信号频谱
plot(f,sf);hold on;
axis([0 20 0 6000]);
title('AM信号频谱')
xlabel('f/Hz');
4.1.3 AM的仿真结果
图4-1 AM的调制解调时域波形
图4-2 信源与AM的频谱图
4.1.4 AM仿真结果分析
由调制波的时域波形可知,AM波的包络与调制信号的形状完全一样,即包络携带消息,则AM调制成功。将解调出的正弦波和信源(包络)比较,发现解调出的波形与信源频率相同,只是幅度上的差别,因此信源解调成功。
由频谱可以看出,AM信号的频谱由载频分量、上边带、下边带三部分组成。上边带的频谱结构与原调制信号的频谱结构相同,下边带是上边带的镜像。因此,AM信号是带有载波分量的双边带信号,它的带宽是基带信号带宽的2倍。
4.2 DSB的MATLAB仿真设计与分析
4.2.1 DSB的仿真设计
DSB的时域表达式为:
其对应的程序为:
s_dsb=mt.*cos(2*pi*fc*t)
这样DSB的调制完成,再用下列语句将DSB的调制波输出:
figure(3)
subplot(2,1,1)
plot(t,s_dsb);hold on; %画出DSB信号波形
plot(t,mt,'r--'); %标出mt的波形
title('DSB调制信号')
xlabel('t');
DSB只能用相干解调,其解调的表达式为:
其对应的程序为:
rt=s_dsb.*cos(2*pi*fc*t)
由于其解调电路和AM的解调电路类似,乘法器后面还需加个低通滤波器,取出低频成分。因此实现此功能的程序也类似,在用程序实现滤波器功能之前,要先将其转为频域。低通的调用程序中有调用频域转为时域的步骤,因此,低通后直接输出的波形即为解调信号的时域波形。解调和输出程序为:
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm);
subplot(2,1,2)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形')
xlabel('t');
要看已调信号的频谱图即可通过下面程序实现:
figure(4)
subplot(2,1,2)
[f,sf]=T2F(t,s_dsb);
plot(f,sf);hold on;
axis([0 20 0 2000]);
title('DSB信号频谱')
xlabel('f/Hz');
4.2.2 DSB的仿真程序
clear all;
dt=0.001; %时间采样间隔
fm=1; %信源最高频率
fc=10; %载波中心频率
T=5; %信号时长
t=0:dt:T;
mt=sqrt(2)*cos(2*pi*fm*t);%信源
s_dsb=mt.*cos(2*pi*fc*t);
B=2*fm;
figure(3)
subplot(2,1,1)
plot(t,s_dsb);hold on; %画出DSB信号波形
plot(t,mt,'r--'); %标出mt的波形
title('DSB调制信号')
xlabel('t');
rt=s_dsb.*cos(2*pi*fc*t);
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm);
subplot(2,1,2)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形')
xlabel('t');
figure(4)
subplot(2,1,1)
[f,xf]=T2F(t,mt); %信源频谱
plot(f,xf);hold on;
axis([0 10 0 4000]);
title('信源频谱')
xlabel('f/Hz');
subplot(2,1,2)
[f,sf]=T2F(t,s_dsb);
plot(f,sf);hold on;
axis([0 20 0 2000]);
title('DSB信号频谱')
xlabel('f/Hz');
4.2.3 DSB的仿真结果
图4-3 DSB的调制解调时域波形
图4-4 信源与DSB的频谱图
4.2.4 DSB仿真结果分析
由调制波的时域波形可知,DSB波的包络与调制信号的形状不再完全一样,因为其不含载频成分,调制波不再水平上移一个A,因此就会重叠,出现图4-3中的波形。将解调出的正弦波和信源(调制波中红色部分)比较,发现解调出的波形与信源频率相同,只是幅度上的差别,因此信源解调成功。
由频谱可以看出,DSB信号的频谱上边带、下边带两部分组成,比AM信号少载频成分,与AM信号一样:上边带的频谱结构与原调制信号的频谱结构相同,下边带是上边带的镜像,它的带宽仍是是基带信号带宽的2倍。
4.3 SSB的MATLAB仿真设计与分析
4.3.1 SSB的仿真设计
SSB的调制方法有滤波法和相移法两种,由于我后面扩展了残留边带调制,其方法为滤波法,因此这里用相移法。
SSB的时域表达式为:
当取“+”时为下边带,其对应的程序为:
sb2=mt.*cos(2*pi*fc*t)+sqrt(2).*sin(2*pi*fm*t).*sin(2*pi*fc*t);
s_ssb2=0.5*sb2;
当取“-”时为上边带,其对应的程序为:
sb1=mt.*cos(2*pi*fc*t)-sqrt(2).*sin(2*pi*fm*t).*sin(2*pi*fc*t);
s_ssb1=0.5*sb1;
这样SSB的调制完成,再用下列语句将上、下边带波形输出:
figure(5)
subplot(2,1,1)
plot(t,s_ssb1);hold on; %画出SSB信号上边带波形
axis([0 1 -1 1]);
title('上边带波形')
xlabel('t');
subplot(2,1,2)
plot(t,s_ssb2);hold on; %画出SSB信号下边带波形
axis([0 1 -1 1]);
title('下边带波形')
xlabel('t');
SSB也只能用相干解调,无论上边带还是下边带都能用于相干解调,这里用上边带,其程序为:
rt=s_ssb1.*cos(2*pi*fc*t)
接下来的操作和DSB的类似,解调和输出程序为:
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm); %低通滤波
subplot(3,1,3)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形')
xlabel('t')
要看已调信号的频谱图即可通过下面程序实现:
figure(4)
subplot(2,1,2)
[f,sf]=T2F(t,s_dsb);
plot(f,sf);hold on;
axis([0 20 0 2000]);
title('DSB信号频谱')
xlabel('f/Hz');
4.3.2 SSB的仿真程序
clear all;
dt=0.001; %时间采样间隔
fm=1; %信源最高频率
fc=10; %载波中心频率
T=5; %信号时长
t=0:dt:T;
mt=sqrt(2)*cos(2*pi*fm*t);%信源
sb1=mt.*cos(2*pi*fc*t)-sqrt(2).*sin(2*pi*fm*t).*sin(2*pi*fc*t);
sb2=mt.*cos(2*pi*fc*t)+sqrt(2).*sin(2*pi*fm*t).*sin(2*pi*fc*t);
s_ssb1=0.5*sb1;
s_ssb2=0.5*sb2;
B=fm; %带通滤波器带宽
figure(5)
subplot(3,1,1)
plot(t,s_ssb1);hold on; %画出SSB信号上边带波形
axis([0 1 -1 1]);
title('上边带波形')
xlabel('t');
subplot(3,1,2)
plot(t,s_ssb2);hold on; %画出SSB信号下边带波形
axis([0 1 -1 1]);
title('下边带波形')
xlabel('t');
rt=s_ssb1.*cos(2*pi*fc*t);%相干解调
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm); %低通滤波
subplot(3,1,3)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形')
xlabel('t')
figure(6)
subplot(2,1,1)
[f,sf]=T2F(t,s_ssb1); %上边带信号频谱
plot(f,sf);hold on;
axis([0 20 0 2000]);
title('SSB信号频谱(上边带)')
xlabel('f/Hz');
subplot(2,1,2)
[f,sf]=T2F(t,s_ssb2); %下边带信号频谱
plot(f,sf);hold on;
axis([0 20 0 2000]);
title('SSB信号频谱(下边带)')
xlabel('f/Hz');
4.3.3 SSB的仿真结果
图4-5 DSB的调制解调时域波形
图4-6 信源与DSB的频谱图
4.3.4 SSB仿真结果分析
由调制波的时域波形可知,SSB只取DSB的一个边带,在此题中,由于信源和载波均为一简单的正弦函数,两函数相乘后,即为两种频率的正弦波的叠加,SSB只取其中的一个频率,因此调制出的波形仍是正弦波,出现图4-5中的波形。将解调出的正弦波和信源(AM中的包络)比较,发现解调出的波形与信源频率相同,只是幅度上的差别,因此信源解调成功。
由频谱可以看出,SSB信号的频谱只有上边带或下边带,它们的频谱结构与原调制信号的频谱结构相同。SSB调制方式在传输信息时,不仅可节约发射功率,而且它所占用的频带宽度等于基带信号带宽,比AM、DSB减少了一半。
4.4 VSB的MATLAB仿真设计与分析
4.4.1 VSB的仿真设计
残留边带(VSB)调制是介于SSB与DSB之间的一种折中方式。其调制原理框图如下:
图4-7 VSB调制原理图
残留边带信号的频谱为:
与 相乘后为DSB信号,上边带频率为11Hz,下边带为9Hz。为了让残留边带与单边带的区别体现出来,我取 的通带截止频率为8Hz,阻带截止频率为12Hz,过渡带为直线。
其特性曲线如下图:
图4-8 残留边带滤波器特性
DSB经过该滤波器后的时域表达式为:
其对应的程序为:
s_vsb=sqrt(2)*0.25.*cos(2*pi*(fm+fc)*t)+sqrt(2)*0.75
.*cos(2*pi*(fc-fm)*t);
这样VSB的调制完成,再用下列语句其波形输出:
figure(7)
subplot(2,1,1)
plot(t,s_vsb);hold on; %画出VSB信号波形
title('VSB调制信号')
xlabel('t');
将VSB相干解调,其程序为:
rt=s_vsb.*cos(2*pi*fc*t)
接下来的操作和DSB的类似,解调和输出程序为:
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm);
subplot(2,1,2)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形')
xlabel('t');
信源和已调信号的频谱图即可通过下面程序实现:
figure(8)
subplot(2,1,1)
[f,xf]=T2F(t,mt); %信源频谱
plot(f,xf);hold on;
axis([0 10 0 4000]);
title('信源频谱')
xlabel('f/Hz');
subplot(2,1,2)
[f,sf]=T2F(t,s_vsb);
plot(f,sf);hold on;
axis([0 20 0 3000]);
title('VSB信号频谱')
xlabel('f/Hz');
4.4.2 VSB的仿真程序
clear all;
dt=0.001; %时间采样间隔
fm=1; %信源最高频率
fc=10; %载波中心频率
T=5; %信号时长
t=0:dt:T;
mt=sqrt(2)*cos(2*pi*fm*t);%信源
s_vsb=sqrt(2)*0.25.*cos(2*pi*(fm+fc)*t)+sqrt(2)*0.75.*cos(2*pi*(fc-fm)*t);
B=2*fm;
figure(7)
subplot(2,1,1)
plot(t,s_vsb);hold on; %画出VSB信号波形
title('VSB调制信号')
xlabel('t');
rt=s_vsb.*cos(2*pi*fc*t);
[f,rf]=T2F(t,rt);
[t,rt]=lpf(f,rf,2*fm);
subplot(2,1,2)
plot(t,rt);hold on;
plot(t,mt/2,'r--');
title('相干解调后的信号波形')
xlabel('t');
figure(8)
subplot(2,1,1)
[f,xf]=T2F(t,mt); %信源频谱
plot(f,xf);hold on;
axis([0 10 0 4000]);
title('信源频谱')
xlabel('f/Hz');
subplot(2,1,2)
[f,sf]=T2F(t,s_vsb);
plot(f,sf);hold on;
axis([0 20 0 3000]);
title('VSB信号频谱')
xlabel('f/Hz');
4.4.3 VSB的仿真结果
图4-9 VSB的调制解调时域波形
图4-10 信源与VSB的频谱图
4.4.4 SSB仿真结果分析
VSB即克服了DSB信号占用频带宽的缺点,又解决了SSB信号实现中的困难。这种调制方式不像SSB那样完全抑制DSB信号的一个边带,而是逐渐切割,使其残留一小部分。这样就是两个边带的幅度不一样,两信号重叠时就不会像DSB那样有幅值为0的点,也不会像SSB那样出现单一的正弦波。
由频谱可以看出,VSB信号的频谱和DSB一样,也有频谱结构和原调制信号相同的两个边带,只是两个边带的幅值不一样,两边带的频率和DSB中一样。
体会与建议
通过本次通信系统课程设计,我对幅度调制有了更深刻的了解与认识。
我的任务主要是把AM,DSB,SSB调制解调信号的公式用MATLAB语言表示,然后编译仿真出时域波形和频谱图。幅度调制信号的一般公式 ,一切都是围绕着这个来的。它的频谱完全是基带信号频谱在频域内的简单搬移。在充分理解原理及其公式的基础上,要写出它们对应的各公式并不困难,困难的是时域与频域变换和相干解调时要通过一低通滤波器。刚开始我将这两部分的程序也写在主程序中,发现写出的程序不但冗长而且容易出错。于是决定将它们当做调用程序,和其他程序一样放在work文件夹中,这样主程序就精简了而且其中个语句的作用一目了然。运行下来,发现频谱图的频率和实际情况不符,比实际情况大了480Hz,经分析,认为是时域转频域的调用程序有错,分析纠错后,AM和DSB的频谱图能正确输出。但当运行到SSB时,发现上下边带的频率相反,分析认为可能是其频率按照载波互换了,而AM和DSB的都有两个关于载波对称的边带,看不出这个问题,因此再转到时域转频域的调用程序中,用20减去原来的频率并输出结果作为f,运行后SSB频谱图也正确。接下来的残留边带就简单了,只要考虑好残留边带滤波器,再将DSB经过它,得到时域表达式即可得到其调制波。其频谱图的表示依葫芦画瓢。
为期两周的课程设计结束了,我在仿真的同时对以前所学的知识进行了回顾,同时锻炼了自己搜集资料和自学一个应用操作软件的能力,受益匪浅!
附 录
① 时域转频域调用程序:
function[f,sf]=T2F(t,st);
dt=t(2)-t(1);
T=t(end);
df=1/T;
N=length(st);
ft=-N/2*df:df:N/2*df-df;
fs=ft-480;
f=20-fs;
sf=fft(st);
st=T/N*fftshift(sf);
② 频域转时域调用程序:
function[t,st]=F2T(f,sf)
df=f(2)-f(1);
Fmx=(f(end)-f(1)+df);
dt=1/Fmx;
N=length(sf);
T=dt*N;
t=0:dt:T-dt;
sff=fftshift(sf);
st=Fmx*ifft(sff);
③ 低通滤波器调用程序:
function[t,st]=lpf(f,sf,B)
%This function filter an input data using a lowpass filter
%Inputs:f:frequency samples
% sf:input data spectrum samples
% B:lowpass's bandwidth with a rectangle lowpass
%Outputs:t:time samples
% st:Output data's time samples
hf=zeros(1,length(f));
yf=hf.*sf;
[t,st]=F2T(f,yf);
参 考 文 献
[1] 精通MATLAB7/王正林,刘明编著.—北京:电子工业出版社,2006.7(MATLAB精品丛书),ISBN7-121-02797-6.
[2] *远,邵玉斌.MATLAB仿真在通信与电子工程中的应用.西安:西安电子电子科技大学出版社,2005.
[3] 张森,张正亮.MATLAB仿真技术与应用实例教程.北京:机械工业出版社,2004.
[4] 刘敏毅.基于MATLAB的调制解调器的设计.现代计算机,2005.7.
[5] 李妍.MATLAB通信仿真开发手册.北京:国防工业出版社,2005.