一、实验目的
⏹学会MATLAB软件的最基本运用。MATLAB是一种很实用的数学软件,它易学易用。MATLAB对于许多的通信仿真类问题来说是很合适的。
⏹了解计算机仿真的基本原理及方法,知道怎样通过仿真的方法去研究通信问题。
⏹加深对通信原理课程有关内容的理解。
二、实验题目
◆必做题:
1)正弦信号波形及频谱;
2)单极性归零(RZ)波形及其功率谱,占空比为50%;
3)升余弦滚降波形的眼图及其功率谱。滚降系数为0.5。发送码元取值为0、2。
◆选做题:
完成PCM编码及解码的仿真。短时傅里叶变换matlab程序
◆附加题:
1)最佳基带系统的Pe~Eb\No曲线,升余弦滚降系数a=0.5,取样值的偏差是Ts/4;
2)试作出Pe~Eb/No曲线。升余弦滚降系数a=0.5,取样时间无偏差,但信道是多径信道,。
三、实验内容
3.1傅里叶变换与傅里叶反变换
对于确定信号,其傅里叶变换为:
傅里叶反变换为:
在通信原理仿真中,傅里叶变换与傅里叶反变换会经常用到,我们可以利用MATLAB的快速傅里叶变换函数fft与快速傅里叶反变换函数ifft编写傅里叶变换子程序与傅里叶反变换子程序。其程序代码如下:
傅里叶变换子程序:
%傅里叶变换子程序
function X=t2f(x)
global dt df N t f T
%X=t2f(x)
%x为时域的取样值矢量
%X为x的傅氏变换
%X与x长度相同,并为2的整幂。
%本函数需要一个全局变量dt(时域取样间隔)
H=fft(x);
X=[H(N/2+1:N),H(1:N/2)].*dt;
end
傅里叶反变换子程序:
%傅里叶反变换子程序
function x=f2t(X)
global dt df t f T N
%x=f2t(X)
%x为时域的取样值矢量
%X为x的傅氏变换
%X与x长度相同并为2的整幂
%本函数需要一个全局变量dt(时域取样间隔)
X=[X(N/2+1:N),X(1:N/2)];
x=ifft(X)/dt;
%x=[tmp(N/2+1:N),tmp(1:N/2)];
end
3.2题目一:正弦信号波形及频谱
3.2.1 仿真原理及思路
一般来说,任意信号是定义在时间区间上的连续函数,但所有计算机的CPU都只能按指令周期离散运行,同时计算机也不能处理这样一个时间段。为此我们把按区间截短为,再对按时间间隔均匀取样得到个样值。仿真时我们用这个样值集合来表示信号。显然反映了仿真系统对信号波形的分辨率,越小则仿真的精确度越高。据通信原理所学,信号被取样以后的频谱是频率的周期函数,其重复周期是。如果信号的最高频率为,那么必须有才能保证不发生混叠失真。我们称为仿真系统的系统带宽。如果我们的仿真程序中设定的采样间隔是,那么我们不能用此仿真程序来研究带宽大于的信号或系统。
此外,信号的频谱通常来说也是定义在频率区间上的连续函数,所以仿真频域特性时,我们也必须把截短并取样。考虑到系统带宽是,我们把频域的截短区间设计为,然后再按间隔均匀取样得到个样值。反映了仿真系统在频域上的分辨率。频域离散的信号对应到时域是一个周期信号,其周期为。类似前面的分析,如果我们的仿真程序中设定的采样间隔是,那么我们就不能仿真截短时间超过的信号。考虑到时域截短时间为T,我们把频域的取样间隔设计为。 这样一来,时域的总取样点数及频域的总取样点数都相等,为。要提高仿真的精度,就必须降低时域取样间隔及频域取样间隔,也就是要加大总取样点数N。这说明仿真的精度与仿真系统的运算量直接有关。
为了处理上的方便,我们今后规定采样点数N为2的整幂。首先,设定正弦信号的采样点数为,时域采样间隔为,频域采样间隔为,所以定义一个时域的维矢量,定义一个频域的维矢量;其次,定义一个余弦函数,其中,并对其进行傅里叶变换及傅里叶反变换;最后,画出该余弦函数波形图与频谱图。
3.2.2 程序流程图
3.2.3 仿真程序及运行结果
仿真程序:
%实验一:正弦信号波形及其频谱
close all
clear all
global dt df N t f T %全局变量
N=2^14; %采样点数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论