实验4 信号

合集下载

信号与系统实验四实验报告

信号与系统实验四实验报告

实验四 时域抽样与频域抽样一、实验目的加深理解连续时间信号的离散化过程中的数学概念和物理概念,掌握时域抽样定理的基本内容。

掌握由抽样序列重建原连续信号的基本原理与实现方法,理解其工程概念。

加深理解频谱离散化过程中的数学概念和物理概念,掌握频域抽样定理的基本内容。

二、 实验原理时域抽样定理给出了连续信号抽样过程中信号不失真的约束条件:对于基带信号,信号抽样频率sam f 大于等于2倍的信号最高频率m f ,即m sam f f 2≥。

时域抽样是把连续信号x (t )变成适于数字系统处理的离散信号x [k ] ;信号重建是将离散信号x [k ]转换为连续时间信号x (t )。

非周期离散信号的频谱是连续的周期谱。

计算机在分析离散信号的频谱时,必须将其连续频谱离散化。

频域抽样定理给出了连续频谱抽样过程中信号不失真的约束条件。

三.实验内容1. 为了观察连续信号时域抽样时抽样频率对抽样过程的影响,在[0,0.1]区间上以50Hz 的抽样频率对下列3个信号分别进行抽样,试画出抽样后序列的波形,并分析产生不同波形的原因,提出改进措施。

)102cos()(1t t x ⨯=π答: 函数代码为: t0 = 0:0.001:0.1;x0 =cos(2*pi*10*t0);plot(t0,x0,'r')hold onFs =50;t=0:1/Fs:0.1;x=cos(2*pi*10*t); stem(t,x); hold offtitle('连续信号及其抽样信号')函数图像为:)502cos()(2t t x ⨯=π同理,函数图像为:)0102cos()(3t t x ⨯=π同理,函数图像为:由以上的三图可知,第一个图的离散序列,基本可以显示出原来信号,可以通过低通滤波恢复,因为信号的频率为20HZ,而采样频率为50>2*20,故可以恢复,但是第二个和第三个信号的评论分别为50和100HZ,因此理论上是不能够恢复的,需要增大采样频率,解决的方案为,第二个信号的采样频率改为400HZ,而第三个的采样频率改为1000HZ,这样可以很好的采样,如下图所示:2. 产生幅度调制信号)200cos()2cos()(t t t x ππ=,推导其频率特性,确定抽样频率,并绘制波形。

数字信号处理实验4

数字信号处理实验4

实验4 离散时间系统的频域分析一、实验目的(1)了解离散系统的零极点与系统因果性和稳定性的关系; (2)加深对离散系统的频率响应特性基本概念的理解; (3)熟悉MATLAB 中进行离散系统零极点分析的常用子函数; (4)掌握离散系统幅频响应和相频响应的求解方法。

二、知识点提示本章节的主要知识点是频率响应的概念、系统零极点对系统特性的影响;重点是频率响应的求解方法;难点是MATLAB 相关子函数的使用。

三、实验原理1.离散时间系统的零极点及零极点分布图设离散时间系统系统函数为NMzN a z a a z M b z b b z A z B z H ----++++++++==)1()2()1()1()2()1()()()(11 (4-1) MATLAB 提供了专门用于绘制离散时间系统零极点图的zplane 函数: ①zplane 函数 格式一:zplane(z, p)功能:绘制出列向量z 中的零点(以符号"○" 表示)和列向量p 中的极点(以符号"×"表示),同时画出参考单位圆,并在多阶零点和极点的右上角标出其阶数。

如果z 和p 为矩阵,则zplane 以不同的颜色分别绘出z 和p 各列中的零点和极点。

格式二:zplane(B, A)功能:绘制出系统函数H(z)的零极点图。

其中B 和A 为系统函数)(z H (4-1)式的分子和分母多项式系数向量。

zplane(B, A) 输入的是传递函数模型,函数首先调用root 函数以求出它们的零极点。

②roots 函数。

用于求多项式的根,调用格式:roots(C),其中C 为多项式的系数向量,降幂排列。

2.离散系统的频率特性MATLAB 提供了专门用于求离散系统频响特性的freqz 函数,调用格式如下: ①H = freqz(B,A,W)功能:计算由向量W (rad )指定的数字频率点上(通常指[0,π]范围的频率)离散系统)(z H 的频率响应)e (j ωH ,结果存于H 向量中。

实验四 信号的分解与合成

实验四 信号的分解与合成

实验四信号的分解与合成实验目的:1.了解信号的分解与合成原理;2.掌握连续时间信号的傅里叶级数分解公式及其应用;3.掌握离散时间信号的傅里叶变换公式及其应用。

实验原理:1.信号的分解任何信号都可以分解成若干谐波的叠加。

这是因为任何周期信号都可以表示为若干谐波的叠加。

傅里叶级数分解公式:$$x(t)=\sum_{n=-\infty}^{+\infty} C_ne^{jn\omega_0t}$$其中,$C_n$为信号的各级谐波系数,$\omega_0$为信号的基波频率。

当信号为实信号时,其傅里叶级数中只有实系数,且对称性可利用,因此实际计算中可以只计算正频率系数,即$$x(t)=\sum_{n=0}^{+\infty} A_n\cos(n\omega_0t+\phi_n)$$其中,$A_n$为信号各级谐波幅度,$\phi_n$为各级谐波相位。

若信号不是周期信号,则可以采用傅里叶变换进行分解。

2.信号的合成对于任意信号$y(t)$,都可以表示为其傅里叶系数与基波频率$\omega_0$的乘积的叠加,即$$y(t)=\sum_{n=-\infty}^{+\infty}C_ne^{jn\omega_0t}$$若$y(t)$为实信号,则其傅里叶系数中只有正频率系数,即$$y(t)=\sum_{n=0}^{+\infty}A_n\cos(n\omega_0t+\phi_n)$$实验步骤:一、连续时间信号的傅里叶级数分解1.打开Matlab软件,使用line或scatter等函数绘制出函数$f(x)=x(0<x<2\pi)$的图像。

2.使用Matlab的fft函数对f(x)进行逆傅里叶变换得到其傅里叶级数分解。

3.将得到的傅里叶级数分解与原函数的图像进行比较,分析级数中谐波幅度的变化规律。

二、离散时间信号的傅里叶变换1.使用Matlab生成一个为$sin(\pi k/4),0\le k\le 15$的离散时间信号。

实验4 交流小信号分析

实验4 交流小信号分析

实验报告
一、实验目的
1、使学生掌握交流小信号分析的工作原理;
2、使学生掌握交流小信号分析的参数设置方法;
3、掌握多波形的调用方法。

二、实验内容
1、按电路图1所示的连接,绘制电路。

2、当时,绘制出图1所示电路的电压增益的幅频响应、相频响应,并用特征值提取方法求出和。

3、绘制出图1所示电路的输入电阻和输出电阻。

4、改变双极性晶体管,重复求2、3问题。

5、分析各结果。

6、分析频率为1khz时的等效噪声。

v cc
图1电路图
图2设置参数设置
图3幅频响应和相频响应曲线
图4 B=100幅频响应和相频响应曲线
图5 FH FL
FH=189.03、FL=25.25meg
图6 B=100 FH FL
FH=188.46、FL=25.96meg
图7输入电阻
图8输出电阻
图9 B=100 输入电阻
图10 B=100输出电阻
图11噪声参数设置
图13噪声分析
三、实验总结
通过此次实验,学会了电路的分析。

幅频特性响应,相频特性响应曲线的求取。

中间要求输出输入电阻和输出电阻,我们先找到输入电压,输出电压,在找到了流过的电流。

这样就求出了电阻的曲线。

起始频率和截止频率的设置,起始频率一定不为0。

发现参数的设置很重要。

要细心。

数字信号处理实验报告 (实验四)

数字信号处理实验报告 (实验四)

实验四 离散时间信号的DTFT一、实验目的1. 运用MA TLAB 计算离散时间系统的频率响应。

2. 运用MA TLAB 验证离散时间傅立叶变换的性质。

二、实验原理(一)、计算离散时间系统的DTFT已知一个离散时间系统∑∑==-=-Nk k N k k k n x b k n y a 00)()(,可以用MATLAB 函数frequz 非常方便地在给定的L 个离散频率点l ωω=处进行计算。

由于)(ωj e H 是ω的连续函数,需要尽可能大地选取L 的值(因为严格说,在MA TLAB 中不使用symbolic 工具箱是不能分析模拟信号的,但是当采样时间间隔充分小的时候,可产生平滑的图形),以使得命令plot 产生的图形和真实离散时间傅立叶变换的图形尽可能一致。

在MA TLAB 中,freqz 计算出序列{M b b b ,,,10 }和{N a a a ,,,10 }的L 点离散傅立叶变换,然后对其离散傅立叶变换值相除得到L l eH l j ,,2,1),( =ω。

为了更加方便快速地运算,应将L 的值选为2的幂,如256或者512。

例3.1 运用MA TLAB 画出以下系统的频率响应。

y(n)-0.6y(n-1)=2x(n)+x(n-1)程序: clf;w=-4*pi:8*pi/511:4*pi;num=[2 1];den=[1 -0.6];h=freqz(num,den,w);subplot(2,1,1)plot(w/pi,real(h));gridtitle(‘H(e^{j\omega}的实部’))xlabel(‘\omega/ \pi ’);ylabel(‘振幅’);subplot(2,1,1)plot(w/pi,imag(h));gridtitle(‘H(e^{j\omega}的虚部’))xlabel(‘\omega/ \pi ’);ylabel(‘振幅’);(二)、离散时间傅立叶变换DTFT 的性质。

光纤通信_实验4实验报告 模拟信号光纤传输实验

光纤通信_实验4实验报告 模拟信号光纤传输实验

课程名称:光纤通信实验名称:实验 4 模拟信号光纤传输实验姓名:班级:学号:实验时间:指导教师:得分:一、实验目的1、了解模拟信号光纤通信原理。

2、了解不同频率不同幅度的正弦波、三角波、方波等模拟信号的系统光传输性能情况。

二、实验器材1、主控&信号源模块2、25 号光收发模块3、示波器三、实验内容测量不同的正弦波、三角波和方波的光调制系统性能。

四、实验步骤(注:实验过程中,凡是涉及到测试连线改变时,都需先停止运行仿真,待连线调整完后,再开启仿真进行后续调节测试。

)1、登录e-Labsim 仿真系统,创建仿真工作窗口,选择实验所需模块和示波器。

2、参考系统框图,依次按下面说明进行连线。

(1)用连接线将信号源A-OUT,连接至25 号模块的TH1 模拟输入端。

(2)连接25 号模块的光发端口和光收端口,此过程是将电信号转换为光信号,经光纤跳线传输后再将光信号还原为电信号。

(3)将25 号模块的P4 光探测器输出端,连接至23 号模块的P1 光探测器输入端。

3、设置25 号模块的功能初状态。

(1)将收发模式选择开关S3 拨至“模拟”,即选择模拟信号光调制传输。

(2)将拨码开关J1 拨至“ON”,即连接激光器;拨码开关APC 此时选择“ON”或“OFF” 都可,即APC 功能可根据需要随意选择。

(3)将功能选择开关S1 拨至“光功率计”,即选择光功率计测量功能。

4、运行仿真,开启所有模块的电源开关。

5、进行系统联调和观测。

(1)设置主控模块的菜单,选择【主菜单】→【光纤通信】→【模拟信号光调制】。

此时系统初始状态中A-OUT输出为1KHz正弦波。

调节信号源模块的旋钮W1,使A-OUT输出正弦波幅度为1V。

(2)选择进入主控&信号源模块的【光功率计】功能菜单。

(3)保持信号源频率不变,改变信号源幅度测量光调制性能:调节信号源模块的率,自行设计表格记录不同频率时的光调制功率变化情况。

6、停止仿真,删除23 号模块和25 号模块之间的连接线,示波器两个通道分别连接光接收机的模拟输出端TH4 和光发射机的模拟输入端TH1。

实验四窄带随机信号的仿真与分析

实验四窄带随机信号的仿真与分析

实验四:窄带随机信号的仿真与分析一、 实验目的利用计算机仿真窄带随机信号,考察其数字特征,以加深对窄带随机信号的特点及分析方法的掌握,熟悉常用的信号处理仿真平台软件matlab 。

二、 实验原理如果一个随机过程的功率谱密度,在分布在高频载波0ω附近的一个窄带频率范围ω∆内,在此范围之外全为0,则称之为窄带过程。

窄带过程是在信息传输系统,特别是接收机经常遇到的随机ωω∆>>信号,当窄带系统(接收机)输入的噪声(如热噪声)的功率谱分布在足够宽的频带(相对于接收机带宽)上时,系统饿输出即为窄带过程。

窄带信号的确切定义如下:一个实平稳随机过程)(t X ,如果它的功率谱密度)(ωx S 具有下述性质:而且带宽满足ωω∆>>,则称此过程为窄带平稳随机过程。

窄带平稳随机过程的功率谱密度函数如图所示:从示波器观看窄带随机过程的一个样本函数,可看到如下图所示的波形,从这个波形可以看出,窄带随机过程可表示成具有角频率0ω以及慢变幅度与相位的正弦振荡,这就说可以写成:式中,B (t )是随机过程的慢变幅度,)(t ϕ是过程的慢变相位,称之为准正弦振荡,这就是窄带过程的数学模型。

三、实验任务与要求用matlab编写仿真程序。

产生满足下列条件的窄带随机信号,其中A(t)包络频率为1khz,幅度为1V,载波频率为4khz,幅度为1V, 是一个固定相位,n(t)为高斯白噪声,采样频率设为16khz,实际上,这就是一个带有载波的双边带调制信号。

计算窄带随机信号的均值,均方值、方差、概率密度、频谱及功率谱密度、相关函数,用图示法表示。

提示:nosiy为高斯白噪声,有wgn函数生成。

a=cos(2*pi*1000*t);均值:Ex=mean(x);方差:Dx=var(x);用fft函数可以很方便的计算出X(t)的频谱,然后用abs和angle函数求得幅度和相位;用函数xcorr 求自相关序列对自相关函数,进行fft变换,得到X(t)的功率谱密度。

实验四 信号的分解与合成

实验四 信号的分解与合成

实验四信号的分解与合成实验目的:1.了解正弦波的频率、周期、幅值的概念,学习如何扫描振荡器的操作方法;3.学会分解信号为基波和谐波的叠加形式,并学习信号的合成原理。

实验仪器:1.示波器2.扫描振荡器3.电容电阻箱或电位器4.函数发生器5.电源实验原理:1.正弦波的频率、周期、幅值正弦波是指时间、电压或电流都随着正弦函数变化的周期性波形,常表示为y=A*sin(ωt+φ),其中A为振幅,ω为角频率,φ为初相位,t为时间。

正弦波的频率指的是单位时间内波形变化的次数,即ω/2π,单位为赫兹(Hz)。

频率越高,波形在单位时间内变化的次数越多,波形的周期越短。

正弦波的周期指波形从一个极值到另一个极值所需的时间,即T=1/f。

正弦波的幅值指波形振动的最大距离,通常用峰值(Vp)或峰峰值(Vpp)来表示。

峰值是指波形振动的最大值或最小值,峰峰值是指波形振动的最大值与最小值之差。

扫描振荡器是一种信号源,它能够产生可调频率、可调幅度的正弦波信号。

其操作方法如下:(1)将扫描振荡器电源插座插入电源插座;(3)按下扫描振荡器的POWER开关,激活电源;(4)调节FREQUENCY旋钮和AMPLITUDE旋钮,调节正弦波的频率和幅度;(5)根据需要选择SINE、SQUARE、TRIANGLE等波形。

3.调节示波器的基本参数(1)调节触发电平。

触发电平是示波器用于捕捉波形起点的电平参考值,需要根据所测量的信号进行调节。

在示波器的“Trigger”面板上,可以通过“LEVEL”旋钮进行设置。

(2)调节时间/电压比。

示波器有自动触发和正常触发两种模式。

在自动触发模式下,示波器会自动捕捉信号并显示波形;在正常触发模式下,示波器需要先捕捉到信号才能进行显示。

在示波器的“Trigger”面板上,可以通过“MODE”选择触发模式。

(4)选择或调节显示模式。

示波器有AC、DC、GND三种显示模式,分别表示显示交流信号、直流信号和零参考信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验4 3.1信号机制
实验目的
1.熟悉信号的基本概念。

2.掌握Linux系统中进程之间利用信号机制进行软中断通信的基本原理。

实验内容
1.运行以下程序(3.1.4参考程序),分析程序运行结果。

/*signal1.c*/
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include <stdlib.h>
void waiting( ),stop( );
int wait_mark;
void waiting( )
{
while(wait_mark!=0);
}
void stop( )
{
wait_mark=0;
}
main( )
{
int p1,p2;
signal(SIGINT,SIG_IGN); /*设置忽略键盘中断信号,创建的子进程与父进程相同设置*/ while((p1=fork( ))==-1); /*创建子进程p1*/
if (p1>0)
{
while((p2=fork( ))==-1); /*创建子进程p2*/
if(p2>0)
{
printf("请按Ctrl+c键终止程序!\n");
wait_mark=1;
signal(SIGINT,stop); /*接收到^c信号,转stop*/
waiting( );
kill(p1,10); /*向p1发软中断信号10*/
kill(p2,12); /*向p2发软中断信号12*/
wait(0); /*同步*/
wait(0);
printf("Parent process is killed!\n");
exit(0);
}
else
{
wait_mark=1;
signal(12,stop); /*接收到软中断信号12,转stop*/
waiting( );
lockf(1,1,0); /*加锁,第一个参数为stdout(标准输出设备的描述符)*/ printf("Child process 2 is killed by parent!\n");
lockf(1,0,0); /*解锁,第一个参数为stdout(标准输出设备的描述符)*/ exit(0);
}
}
else
{
wait_mark=1;
signal(10,stop); /*接收到软中断信号10,转stop*/
waiting( );
lockf(1,1,0);
printf("Child process 1 is killed by parent!\n");
lockf(1,0,0);
exit(0);
}
}
(1)运行编译后的程序,查看输出;按Ctrl+c键再查看程序执行结果。

运行结果分析:用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号;捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:
Child process 2 is killed by parent!
Child process 1 is killed by parent!
父进程等待两个子进程终止后,也输出如下信息终止。

Parent process is killed!
(2)将编译后的程序后台执行,查看输出;按Ctrl+c键再查看程序执行结果;在shell提示符下输入kill –INT pid,查看程序执行结果,其中,pid是该程序后台执行后显示的进程号。

(3)将第一个signal(SIGINT,SIG_IGN)注释,看一下运行结果,分析原因。

运行结果分析:将第一个signal(SIGINT,SIG_IGN)注释后,中断信号被子进程接收到,于是程序在进行到wait(0)时两个子进程终止,不会接收到父进程调用kill()向两个子进程发出的信号。

因此不会输出信息,只有父进程输出信息后终止。

2.运行以下程序,分析程序结果。

/*signal2.c*/
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include<stdlib.h>
int i;
void intfun( )
{
i=0;
}
main( )
{
int k,j,pid;
j=1;
while((pid=fork( ))==-1);
if (pid>0)
{
for(k=1;k<3;k++)
{
printf("how are you!\n");
sleep(1);
}
kill(pid,17); /*发送软中断信号给子进程*/
wait(0); /*等待子进程终止*/
printf("Parent exited\n");
exit(0);
}
else
{
signal(17,intfun); /*预置软中断信号17*/
i=1;
while(i==1) /*循环显示并等待父进程发软中断信号*/ {
printf("I am child:%d\n",j++);
sleep(1);
}
printf("Child exited\n");
exit(0);
}
}
运行结果分析:
本程序中,进入for循环后,输出how are you !程序进入while循环,输出I am child :1,k的值为2接着进入for循环,输出一次how are you !接着再次进入while语句,输出I am child :2,这时k的值为3已不能进入for循环,这时通过kill()向子进程发送中断信号,子进程接收到中断信号中断,输出Child exited,然
后父进程终止,输出Parent extied。

相关文档
最新文档