通信试验指导书

更新时间:2024-04-14 21:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一 信号的产生、时域变换及卷积计算

一、实验目的

1.熟悉MATLAB画图指令及基本函数的调用、编写方法。 2.掌握用MATLAB实现信号的基本运算方法。 二、实验内容

1.用MATLAB表示u(n),u(n?n0),?(n),?(n?n0)。

tdf(t)和?f[t]dt波2.三角波f(t)如图所示,试利用MATLAB画出f(2t)和f(2-2t)以及

??dt形。不定积分

3. 用MATLAB计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。 三、实验预备知识

1.stem和plot函数的用法 (1)用stem画短的离散时间序列

(2)用plot画连续时间信号已采样的近似图,或者画那些离散值个数难以控制增长的很长的离散时间信号。

(3)与stem不同,plot用直线将相邻的各元素连接起来,故当时间标号取得是够细的话,用直线所连接的结果是该原始连续时间信号图形的一个好的近似。 2.几种典型信号的表示方法 (1)单位脉冲序列

k=-50:50;(步长:即公差,此为1,可省)

delta变量名=[zeros生成一个矩阵所有都是0(1,50)一行50列的0矩

阵,1,zeros(1,50)];一行并列的两个小矩阵并成一个大矩阵 一行101列矩阵

stem(k,delta)

(2)单位阶跃序列

k=-50:50;

uk=[zeros(1,50),ones(1,51)]; zeros(1,50)生成1行50列的1矩阵

(3)三角波生成f(t)

t=-3:0.001:3;

f=tripuls(t,4,0.5);tripuls(时间t,脉冲宽度w,倾斜度s)生成三角波

的函数

plot(t,f1)

3.信号的尺度变换、翻转、平移

信号的翻转运算在使用时需要注意,其它运算较简单。

(1)在信号翻转f(-t)和f[-k]运算中,函数的自变量乘以一个负号,在MATLAB中可以直接写出。

(2)翻转运算在MATLAB中还可以利用fliplr(f)对矩阵做一个左右翻转函数实现,而翻转后信号的坐标则可以由-fliplr(k)。 4.离散序列的差分与求和

(1)差分?f[k]=f[k]=f[k-1],在MATLAB中可以用y=diff(f)实现。由后一个减前一个,从头到尾少的一个数就是差分 (2)求和起来。

格式:y=sum(f(k1:k2)); 5.连续信号的微分与积分 (1)微分

连续信号的微分也可以用diff(f)近似计算。

例如y=sin(x2)?=2xcos(x)可以由以下MATLAB语句近似实现

h=0.001;x=0:h:pi(π); y=diff(sin(x.^2))/h;

(2)积分 必须有函数表达式与微分区别

连续信号的定积分可由MATLAB中quad函数或quad8函数实现。

格式:quad('function-name',a,b)求定积分的函数,ab表示定积分的上下限 其中function_name为被积分的函数名,a和b指定积分区间。

例如:f=inline(’x+2’);定义一下函数表达式或者可以用函数文件表达式 Jf=quad(f,1,4); 四、实验步骤 1.编写程序。 2.调试程序。 3.写出程序运行结果。 五、思考题

1.编写阶跃信号、冲激信号时应注意哪些问题。 2.编程求任意两个数字序列的叠加时应注意哪些问题。

2kf[k]与信号相加运算不同,求和运算是把k1到k2之间的所有样本f[k]加??k1k23.如何美化输出波形界面。

实验二、 抽样定理、调制定理

一、实验目的:

1、加深理解抽样定理, 熟悉Matlab下simulink的使用方法 2、掌握信号的幅度调制的方法,深刻理解信号调制的频谱变化。 3、学会使用MATLAB实现信号的调制及解调。 二、试验内容:

1 用 Matlab中simulink 仿真模拟信号的抽样. 2.改变抽样频率为 Fs>=2B.和 Fs<2B.,观察复原后的信号,比 较其失真程度。在simulink中设置信号源参数。按照下图进行模拟仿真。(信号的振幅设置为1,相位设置位零。矩形脉冲幅度位一。) 3. 对时域信号f(t),如图所示,用cos(2?*150t) 信号对其进行幅度调制(抑制载波幅度调制),利用MATLAB编程实现信号幅度调制,绘出时域、频域图形。

三、实验预备知识:

1 抽样定理:一个频带限制在(0, f H)赫内的时间连续信号m(t) ,如果以

的间隔对它进行等间隔(均匀)抽样,则m(t) 将被所得到的抽样值完全确定。抽样脉冲序列是一个周期性冲击序列, 对连续时间信号进行取样可获得离散时间信号,取样器可看作一 个乘法器,连续信号 f(t)和开关函数 s(t)在取样相乘后输出离散时间信号 fs(t)。如下图所示:

如果令取样信号通过低通滤波器,该滤波器的截止频率等于原信 号频率的最高频

率,那么取样信号中大于原信号最高频率的频率 成分被滤去,而仅存原信号频谱的频率

成分,这样低通滤波器的 输出为得到恢复的原信号。如:当开关函数为周期性矩形脉冲, 且脉冲宽度为,则原信号与取样信号的频谱图如下:

根据抽样定理,只有在抽样频率 fs 大于等于二倍的原信号频率 fm 时,取样信号的频谱才不会发生。当抽样频率过低时将会发生

频谱重叠,如下图:

这样将无法恢复原信号。

结果讨论 :抽样定理是模拟信号数字化传输的理论基础 ,它告诉我们: 如果对某一带宽的有限时间连续信号 (模拟信号) 进行抽样 ,且在抽样率达到一定数值时, 根据这些抽样值可以在接收端准确地恢复原信号 .也就是说 ,要传输模拟信号不一定传输模拟信号本身, 只需传输按抽样定理得到的抽样值就可以了。

2 傅立叶变换:f(t)?F(?)?????f(t)e?j?tdt

对cos?0t,傅立叶变换为:

cos?0t??[?(???0)??(???0)]

则:y(t)?f(t)cos?0t为对f(t)的幅度调制:

f(t)cos?0t?11F(?)*?[?(???0)??(???0)]?[F(???0)?F(???0)] 2?2锝出结论:调制信号的频谱是将基带信号频谱的搬移。

四、实验步骤 4.编写程序。 5.调试程序。 6.写出程序运行结果。

五、思考题

1.如何使用抽样定理? 2.总结幅度调制的基本原理。

实验三 离散系统分析

一、实验目的

1.熟悉离散时间系统的频域分析方法。

2.掌握离散时间系统频域分析的MATLAB实现方法。 二、实验内容

1.三阶归一化的Butterworth低通滤波器的频率响应为

H(jw)?1 32(jw)?2(jw)?2(jw)?1试画出系统的幅度响应H(jw)和相位响应?(w)。

2.已知RC电路如图所示,系统的输入电压信号为f(t),输出信号为电阻两端的电压y(t)。当RC=0.04,f(t)=cos5t+cos100t,-?

三、实验预备知识

利用MATLAB分析系统的频率特性,当系统的频率响应H(jw)是jw的有理式时,有:

b(1)(jw)N?b(2)(jw)N?1???b(N?1)B(w)H(jw)?? MM?1A(w)a(1)(jw)?a(2)(jw)???a(M?1)MATLAB信号处理工具箱提供的freqs函数可直接计算函数系统的频率响应。 格式:H=freqs(b,a,w) 说明:

(1)b是上式中分子多项式的系数;

a是上式中分母多项式的系数。

(2)w为需计算的H(jw)的抽样点。(数组w中最少需包含两个w的抽样点)。 四、实验步骤 1.编写程序。 2.调试程序。 3.写出程序运行结果。 五、思考题

1.总结连续时间系统的频响特性分析方法。 2.总结离散时间系统的频响特性分析方法。

实验七 信号﹑系统及系统响应

一、实验目的

1.熟悉连续周期、非周期信号的频域分析方法及MATLAB编程实现方法。 2.掌握离散周期、非周期信号的频域分析方法及MATLAB编程实现方法。 二、实验内容

1.试用MATLAB计算如图所示周期矩形波序列的DFS系数。

2.求如图所示周期矩形脉冲信号的Fourier级数表达式,并用MATLAB画出由前几项Fourier级数Fourier级数系数得出的信号近似波形(N值由键盘输入)。

j??3.试画出???0.9时,Fe??1幅度频谱。 ?j?1??e4.试画出如图所示矩形序列的频谱。

三、实验预备知识

1.离散周期信号傅立叶级数DFS分析

若设定DFS和1DFS的求和范围为0到N-1,

F[m]?DFS?f[k]??kf[k]W??0N?1N?1Nmk (1)

1F[k]?IDFS?f[m]??NWN?e?j2NmF[m]W??0N?mk (2)

?

则MATLAB提供的函数F=fft(f),可用来计算(1)式定义的N个DFS系数。

说明:信号的周期N由上式中序列f长度确定。返回的序列F给出的是0?m?N?1时的DFS系数。类似地,可用MATLAB提供的函数f=ifft(F)由DFS系数F(m)按(2)式计算出时域信号f[k]。

2.连续非周期信号的傅里叶变换

quad8是计算数值积分的函数 格式1:y=quad8('F',a,b)

格式2:y=quad8('F',a,b,[ ],[ ],p) 说明:

(1)F是一个字符串,它表示被积分函数的文件名,通常使用函数调用。 (2)a,b分别表示定积分的下限和上限。

(3)quad8的返回值是用自适应Simpson算法得出来的积分值。 (4)在第二种调用方式中,P表示被积分函数中的一个参数。

例:function y=sf1(t,w);

y=(t>=-1&t<=1).*(1-abs(t)).*exp(-j*w*t);

?

Program?

?

for k=1:N

F(k)=quad8(‘sf1’,-1,1,[ ],[ ],w(k)); End

?

3.离散非周期信号的傅里叶变换

当序列的DTFT可写成ej?的有理多项式时,MATLAB Signal Processing Toolbox中

的fregz函数可用来计算DTFT的值。另外MATLAB提供的abs,angle,real,imad等基本函数可用来计算DTFT的幅度,相位,实部,虚部。设DTFT的有理多项式为:

B(ej?)b0?b1ej????bMej?F(e)??j?A(e)a0?a1ej????aNej?j?(1)

则freqz的调用形式为:h=freqz(b,a,w) (2)

说明:

(1)b和a分别为(1)式中分子多项式和分母多项式函数的向量。b?[b0,b1,?,bM]

a?[a0,a1,?,aN]

(2)W为抽样的频率点

(3)在以(2)式形式调用freqz函数时,W中至少要有2个频率点。 (4)返回的值h就是DTFT在抽样点W上的值,H的值一般是复数。 注:

F[e]?DTFT{f[k]}?f[k]?IDTFT{F(ej?)}?j?K????f[k]e12?2??j?k

??F(ej?)ej?kd?

一般来说F(ej?)是实变量?的复值函数,可用实部和虚部将其表示为:其中FR(ej?)和FI(ej?)分别是F(ej?)的实部和虚部;F(ej?)=FR(ej?)+jFI(ej?),

也可用幅度和相位将F(ej?)表示为:F(ej?)=|F(ej?)|(ej?(?)),其中|F(ej?)|和?(?)分别为序列f[k]幅度谱和相位谱。 四、实验步骤 1.编写程序。 2.调试程序。 3.写出程序运行结果。 五、思考题

1.总结周期连续、离散信号的傅里叶级数分析方法。 2.总结非周期连续、离散信号的傅里叶变换分析方法。

实验八 应用FFT对信号进行频谱分析

一.实验目的

1.在理论学习的基础上,通过本次实验,加深对FFT的理解,熟悉FFT算法及其程序的编写。

2.熟悉应用FFT对典型信号进行频谱分析的方法。

3.了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。

二.实验内容

(一) 编制实验用主程序及相应子程序

1.编制信号产生子程序及本实验的频谱分析主程序。实验中需要用到的基本信号包括:

??(n?p)q?xa(n)??e??0(1)高斯序列:

20?n?15else

?e?n?sin2?fn0?n?15xb(n)??0else ?(2)衰减正旋序列:

(3)三角波序列

?n?10?n?3?xc(n)??8?n4?n?7?0else??4?n0?n?3?xd(n)??n?34?n?7?0else?

(4)反三角序列

1.观察高斯序列的时域和频域特性 2.观察衰减正旋序列的时域和幅频特性

3.观测三角波序列和反三角波序列的时域和幅频特性

三、试验预备知识

一个连续信号的频谱可以用它的傅立叶变换表示为

??Xa(j?)?

???j?txa(t)edt? (2-1)

如果对该信号进行理想采样,可以得到采样序列

x(n)?xa(nT) (2-2)

同样可以对该序列进行Z变换,其中T为采样周期

X(Z)?

n????x(n)z???n (2-3)

j?当z?e的时候,我们就得到了序列的傅立叶变换

X(e)?j?n????x(n)e???j?n (2-4)

其中?为数字角频率,和模拟域频率的关系为

???T??/fs (2-5)

式中的fs是采样频率。上式说明数字角频率是模拟频率对采样速率fs的归一化。同模拟域的情况相似,数字角频率代表了序列值变化的速率,而序列的傅立叶变换称为序列的频谱。序列的傅立叶变换和对应的采样信号频谱具有下式的对应关系:

1????2?mX(e)??Xa(j)T??T (2-6)

j?即序列的频谱是采样信号频谱的周期延拓。从式(2-6)可以看出,只要分析采样序列的频谱,就可以得到相应的连续信号的频谱。

在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。无限长的序列也往往可以用有限长序列来逼近。对于有限长的序列我们可以使用离散傅立叶变换(DFT),这一变换可以很好的反映序列的频域特性,并且容易利用快速算法在计算机上实现。当序列的长度为N时,定义DFT为:

nkX(k)??x(n)WNn?0N?1 (2-7)

其中WN?e?j2?N,它的反变换定义为:

1N?1?nkx(n)??X(k)WNNk?0 (2-8)

令z?W?kN?k?X(z)z?WN?x(n)WNnkn?0N?1,则有: (2-9)

?k可以得到,X(k)?X(z)z?WN,z?W?kN是Z平面单位圆上幅角为

??2?kN的点,

就是将单位圆进行N等分以后第K个点。所以,X(K)是Z变换在单位圆上的等距采样,或

者说是序列傅立叶变换的等距采样。时域采样在满足Nyquist定理时,就不会发生频谱混叠。

DFT是对序列傅立叶变换的等距采样,因此可以用于序列的频谱分析。如同理论课教材所讨论的,在运用DFT进行频谱分析的时候可能有三种误差,即:

(1)混叠现象

2?从中可以看出,序列的频谱时采样信号频谱的周期延拓,周期是T,因此当采样速率

不满足定理Nyquist,经过采样就会发生频谱混叠。这导致采样后的信号序列频谱不能真实的反映原信号的频谱。所以,在利用DFT分析连续信号频谱的时候,必须注意这一问题。避免混叠现象的唯一方法是保证采样的速率足够高,使频谱交叠的现象不出现。这告诉我们,在确定信号的采样频率之前,需要对频谱的性质有所了解。在一般的情况下,为了保证高于折叠频率的分量不会出现,在采样之前,先用低通模拟滤波器对信号进行滤波。 (2)泄漏现象

实际中的信号序列往往很长,甚至是无限长。为了方便,我们往往用截短的序列来近似它

们。这样可以使用较短的DFT来对信号进行频谱分析。这种截短等价于给原信号序列乘以一个矩形窗函数。值得一提的是,泄漏是不能和混叠完全分离开的,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减到最小。 (3)栅栏效应

因为DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数。这样就产生了栅栏效应,从某种角度看, 用DFT来观看频谱就好像通过一个栅栏来观看一幅景象,只能在离散点上看到真是的频谱。这样的话就会有一些频谱的峰点或谷点被“栅栏”挡住,不能被我们观察到。减小栅栏效应的一个方法是在源序列的末端补一些零值,从而变动DFT的点数。这种方法的实质是改变了真是频谱采样的点数和位置,相当于搬动了“栅栏”的位置,从而使得原来被挡住的一些频谱的峰点或谷点显露出来。注意,这时候每根谱线所对应的频和原来的已经不相同了。

从上面的分析过程可以看出,DFT可以用于信号的频谱分析,但必须注意可能产生的误差,在应用过程中要尽可能减小和消除这些误差的影响。

FFT并不是DFT不相同的另一种变换,而是为了减少DFT运算次数的一种快速算法。它是对变换式进行一次次的分解,使其成为若干小店数DFT的组合,从而减小运算量。常

M用的FFT是以2为基数的,其长度为N?2。它的运算效率高,程序比较简单,使用也

十分的方便。当需要进行变换的序列的长度不是2的整数次方的时候,为了使用以2为基的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。IFFT一般也可以通过FFT程序来完成,比较式和,只要对取共轭,进行FFT运算,然后再去共轭,并乘以因子,就可以完成IFFT。

四.思考题

Xd(ej?)Xc(ej?)xd(n)xc(n)1.实验中的信号序列和,在单位圆上的Z变化频谱和

和会相同吗?如果不同,你能说出哪一个低频分量更多一些吗?为什么?

2.对一个有限长序列进行离散傅立叶变换(DFT),等价于将该序列周期延拓后进行傅立叶级数展开(DFS)。因为DFS也只是取其中一个周期来运算,所以FFT 在一定条件下也可以用以分析周期信号序列。如果实正弦信号sin(2?fn),f?0.1,用16点的FFT来作DFS运算,得到的频谱是信号本身的真是谱吗?

五.实验报告要求

1.在实验报告中简述实验目的和实验原理要点。

2.在实验报告中附上在实验过程中记录的各个信号序列的时域和幅频特性曲线,分析所得到的结果图形,说明各个信号的参数变化对其时域和幅频特性的影响。 3.总结实验中的结论。 4.回答思考题。

本文来源:https://www.bwwdw.com/article/bxlp.html

Top